@charset "UTF-8";
/**
 * material-design-lite - Material Design Components in CSS, JS and HTML
 * @version v1.3.0
 * @license Apache-2.0
 * @copyright 2015 Google, Inc.
 * @link https://github.com/google/material-design-lite
 */
html {
  color: rgba(0, 0, 0, 0.87);
}

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

audio, canvas, iframe, img, svg, video {
  vertical-align: middle;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

textarea {
  resize: vertical;
}

.browserupgrade {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0;
}

.hidden {
  display: none !important;
}

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}

.invisible {
  visibility: hidden;
}

.clearfix:before, .clearfix:after {
  content: " ";
  display: table;
}

.clearfix:after {
  clear: both;
}

@media print {
  *, *:before, *:after, *:first-letter {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
  }
  a, a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^="#"]:after, a[href^="javascript:"]:after {
    content: "";
  }
  pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr, img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p, h2, h3 {
    orphans: 3;
    widows: 3;
  }
  h2, h3 {
    page-break-after: avoid;
  }
}
a, .mdl-accordion, .mdl-button, .mdl-card, .mdl-checkbox, .mdl-dropdown-menu, .mdl-icon-toggle, .mdl-item, .mdl-radio, .mdl-slider, .mdl-switch, .mdl-tabs__tab {
  -webkit-tap-highlight-color: transparent;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
}

html {
  width: 100%;
  height: 100%;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

body {
  width: 100%;
  min-height: 100%;
}

main {
  display: block;
}

*[hidden] {
  display: none !important;
}

html, body {
  font-family: "Helvetica", "Arial", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}

h1, h2, h3, h4, h5, h6, p {
  padding: 0;
}

h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: -0.02em;
  opacity: 0.54;
  font-size: 0.6em;
}

h1 {
  font-size: 56px;
  line-height: 1.35;
  letter-spacing: -0.02em;
  margin: 24px 0;
}

h1, h2 {
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
  font-weight: 400;
}

h2 {
  font-size: 45px;
  line-height: 48px;
}

h2, h3 {
  margin: 24px 0;
}

h3 {
  font-size: 34px;
  line-height: 40px;
}

h3, h4 {
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
  font-weight: 400;
}

h4 {
  font-size: 24px;
  line-height: 32px;
  -moz-osx-font-smoothing: grayscale;
  margin: 24px 0 16px;
}

h5 {
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.02em;
}

h5, h6 {
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
  margin: 24px 0 16px;
}

h6 {
  font-size: 16px;
  letter-spacing: 0.04em;
}

h6, p {
  font-weight: 400;
  line-height: 24px;
}

p {
  font-size: 14px;
  letter-spacing: 0;
  margin: 0 0 16px;
}

a {
  color: rgb(255, 215, 64);
  font-weight: 500;
}

blockquote {
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
  position: relative;
  font-size: 24px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.35;
  letter-spacing: 0.08em;
}

blockquote:before {
  position: absolute;
  left: -0.5em;
  content: "“";
}

blockquote:after {
  content: "”";
  margin-left: -0.05em;
}

mark {
  background-color: #f4ff81;
}

dt {
  font-weight: 700;
}

address {
  font-size: 12px;
  line-height: 1;
  font-style: normal;
}

address, ul, ol {
  font-weight: 400;
  letter-spacing: 0;
}

ul, ol {
  font-size: 14px;
  line-height: 24px;
}

.mdl-typography--display-4, .mdl-typography--display-4-color-contrast {
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
  font-size: 112px;
  font-weight: 300;
  line-height: 1;
  letter-spacing: -0.04em;
}

.mdl-typography--display-4-color-contrast {
  opacity: 0.54;
}

.mdl-typography--display-3, .mdl-typography--display-3-color-contrast {
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
  font-size: 56px;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: -0.02em;
}

.mdl-typography--display-3-color-contrast {
  opacity: 0.54;
}

.mdl-typography--display-2, .mdl-typography--display-2-color-contrast {
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
  font-size: 45px;
  font-weight: 400;
  line-height: 48px;
}

.mdl-typography--display-2-color-contrast {
  opacity: 0.54;
}

.mdl-typography--display-1, .mdl-typography--display-1-color-contrast {
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
  font-size: 34px;
  font-weight: 400;
  line-height: 40px;
}

.mdl-typography--display-1-color-contrast {
  opacity: 0.54;
}

.mdl-typography--headline, .mdl-typography--headline-color-contrast {
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 32px;
  -moz-osx-font-smoothing: grayscale;
}

.mdl-typography--headline-color-contrast {
  opacity: 0.87;
}

.mdl-typography--title, .mdl-typography--title-color-contrast {
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.02em;
}

.mdl-typography--title-color-contrast {
  opacity: 0.87;
}

.mdl-typography--subhead, .mdl-typography--subhead-color-contrast {
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0.04em;
}

.mdl-typography--subhead-color-contrast {
  opacity: 0.87;
}

.mdl-typography--body-2, .mdl-typography--body-2-color-contrast {
  font-size: 14px;
  font-weight: 700;
  line-height: 24px;
  letter-spacing: 0;
}

.mdl-typography--body-2-color-contrast {
  opacity: 0.87;
}

.mdl-typography--body-1, .mdl-typography--body-1-color-contrast {
  font-size: 14px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0;
}

.mdl-typography--body-1-color-contrast {
  opacity: 0.87;
}

.mdl-typography--body-2-force-preferred-font, .mdl-typography--body-2-force-preferred-font-color-contrast {
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
  letter-spacing: 0;
}

.mdl-typography--body-2-force-preferred-font-color-contrast {
  opacity: 0.87;
}

.mdl-typography--body-1-force-preferred-font, .mdl-typography--body-1-force-preferred-font-color-contrast {
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0;
}

.mdl-typography--body-1-force-preferred-font-color-contrast {
  opacity: 0.87;
}

.mdl-typography--caption, .mdl-typography--caption-force-preferred-font {
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}

.mdl-typography--caption-force-preferred-font {
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
}

.mdl-typography--caption-color-contrast, .mdl-typography--caption-force-preferred-font-color-contrast {
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  opacity: 0.54;
}

.mdl-typography--caption-force-preferred-font-color-contrast, .mdl-typography--menu {
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
}

.mdl-typography--menu {
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
}

.mdl-typography--menu-color-contrast {
  opacity: 0.87;
}

.mdl-typography--menu-color-contrast, .mdl-typography--button, .mdl-typography--button-color-contrast {
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
}

.mdl-typography--button, .mdl-typography--button-color-contrast {
  text-transform: uppercase;
}

.mdl-typography--button-color-contrast {
  opacity: 0.87;
}

.mdl-typography--text-left {
  text-align: left;
}

.mdl-typography--text-right {
  text-align: right;
}

.mdl-typography--text-center {
  text-align: center;
}

.mdl-typography--text-justify {
  text-align: justify;
}

.mdl-typography--text-nowrap {
  white-space: nowrap;
}

.mdl-typography--text-lowercase {
  text-transform: lowercase;
}

.mdl-typography--text-uppercase {
  text-transform: uppercase;
}

.mdl-typography--text-capitalize {
  text-transform: capitalize;
}

.mdl-typography--font-thin {
  font-weight: 200 !important;
}

.mdl-typography--font-light {
  font-weight: 300 !important;
}

.mdl-typography--font-regular {
  font-weight: 400 !important;
}

.mdl-typography--font-medium {
  font-weight: 500 !important;
}

.mdl-typography--font-bold {
  font-weight: 700 !important;
}

.mdl-typography--font-black {
  font-weight: 900 !important;
}

.material-icons {
  font-family: "Material Icons";
  font-weight: 400;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  word-wrap: normal;
  -moz-font-feature-settings: "liga";
  font-feature-settings: "liga";
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
}

.mdl-color-text--red {
  color: #f44336 !important;
}

.mdl-color--red {
  background-color: #f44336 !important;
}

.mdl-color-text--red-50 {
  color: #ffebee !important;
}

.mdl-color--red-50 {
  background-color: #ffebee !important;
}

.mdl-color-text--red-100 {
  color: #ffcdd2 !important;
}

.mdl-color--red-100 {
  background-color: #ffcdd2 !important;
}

.mdl-color-text--red-200 {
  color: #ef9a9a !important;
}

.mdl-color--red-200 {
  background-color: #ef9a9a !important;
}

.mdl-color-text--red-300 {
  color: #e57373 !important;
}

.mdl-color--red-300 {
  background-color: #e57373 !important;
}

.mdl-color-text--red-400 {
  color: #ef5350 !important;
}

.mdl-color--red-400 {
  background-color: #ef5350 !important;
}

.mdl-color-text--red-500 {
  color: #f44336 !important;
}

.mdl-color--red-500 {
  background-color: #f44336 !important;
}

.mdl-color-text--red-600 {
  color: #e53935 !important;
}

.mdl-color--red-600 {
  background-color: #e53935 !important;
}

.mdl-color-text--red-700 {
  color: #d32f2f !important;
}

.mdl-color--red-700 {
  background-color: #d32f2f !important;
}

.mdl-color-text--red-800 {
  color: #c62828 !important;
}

.mdl-color--red-800 {
  background-color: #c62828 !important;
}

.mdl-color-text--red-900 {
  color: #b71c1c !important;
}

.mdl-color--red-900 {
  background-color: #b71c1c !important;
}

.mdl-color-text--red-A100 {
  color: #ff8a80 !important;
}

.mdl-color--red-A100 {
  background-color: #ff8a80 !important;
}

.mdl-color-text--red-A200 {
  color: #ff5252 !important;
}

.mdl-color--red-A200 {
  background-color: #ff5252 !important;
}

.mdl-color-text--red-A400 {
  color: #ff1744 !important;
}

.mdl-color--red-A400 {
  background-color: #ff1744 !important;
}

.mdl-color-text--red-A700 {
  color: #d50000 !important;
}

.mdl-color--red-A700 {
  background-color: #d50000 !important;
}

.mdl-color-text--pink {
  color: #e91e63 !important;
}

.mdl-color--pink {
  background-color: #e91e63 !important;
}

.mdl-color-text--pink-50 {
  color: #fce4ec !important;
}

.mdl-color--pink-50 {
  background-color: #fce4ec !important;
}

.mdl-color-text--pink-100 {
  color: #f8bbd0 !important;
}

.mdl-color--pink-100 {
  background-color: #f8bbd0 !important;
}

.mdl-color-text--pink-200 {
  color: #f48fb1 !important;
}

.mdl-color--pink-200 {
  background-color: #f48fb1 !important;
}

.mdl-color-text--pink-300 {
  color: #f06292 !important;
}

.mdl-color--pink-300 {
  background-color: #f06292 !important;
}

.mdl-color-text--pink-400 {
  color: #ec407a !important;
}

.mdl-color--pink-400 {
  background-color: #ec407a !important;
}

.mdl-color-text--pink-500 {
  color: #e91e63 !important;
}

.mdl-color--pink-500 {
  background-color: #e91e63 !important;
}

.mdl-color-text--pink-600 {
  color: #d81b60 !important;
}

.mdl-color--pink-600 {
  background-color: #d81b60 !important;
}

.mdl-color-text--pink-700 {
  color: #c2185b !important;
}

.mdl-color--pink-700 {
  background-color: #c2185b !important;
}

.mdl-color-text--pink-800 {
  color: #ad1457 !important;
}

.mdl-color--pink-800 {
  background-color: #ad1457 !important;
}

.mdl-color-text--pink-900 {
  color: #880e4f !important;
}

.mdl-color--pink-900 {
  background-color: #880e4f !important;
}

.mdl-color-text--pink-A100 {
  color: #ff80ab !important;
}

.mdl-color--pink-A100 {
  background-color: #ff80ab !important;
}

.mdl-color-text--pink-A200 {
  color: #ff4081 !important;
}

.mdl-color--pink-A200 {
  background-color: #ff4081 !important;
}

.mdl-color-text--pink-A400 {
  color: #f50057 !important;
}

.mdl-color--pink-A400 {
  background-color: #f50057 !important;
}

.mdl-color-text--pink-A700 {
  color: #c51162 !important;
}

.mdl-color--pink-A700 {
  background-color: #c51162 !important;
}

.mdl-color-text--purple {
  color: #9c27b0 !important;
}

.mdl-color--purple {
  background-color: #9c27b0 !important;
}

.mdl-color-text--purple-50 {
  color: #f3e5f5 !important;
}

.mdl-color--purple-50 {
  background-color: #f3e5f5 !important;
}

.mdl-color-text--purple-100 {
  color: #e1bee7 !important;
}

.mdl-color--purple-100 {
  background-color: #e1bee7 !important;
}

.mdl-color-text--purple-200 {
  color: #ce93d8 !important;
}

.mdl-color--purple-200 {
  background-color: #ce93d8 !important;
}

.mdl-color-text--purple-300 {
  color: #ba68c8 !important;
}

.mdl-color--purple-300 {
  background-color: #ba68c8 !important;
}

.mdl-color-text--purple-400 {
  color: #ab47bc !important;
}

.mdl-color--purple-400 {
  background-color: #ab47bc !important;
}

.mdl-color-text--purple-500 {
  color: #9c27b0 !important;
}

.mdl-color--purple-500 {
  background-color: #9c27b0 !important;
}

.mdl-color-text--purple-600 {
  color: #8e24aa !important;
}

.mdl-color--purple-600 {
  background-color: #8e24aa !important;
}

.mdl-color-text--purple-700 {
  color: #7b1fa2 !important;
}

.mdl-color--purple-700 {
  background-color: #7b1fa2 !important;
}

.mdl-color-text--purple-800 {
  color: #6a1b9a !important;
}

.mdl-color--purple-800 {
  background-color: #6a1b9a !important;
}

.mdl-color-text--purple-900 {
  color: #4a148c !important;
}

.mdl-color--purple-900 {
  background-color: #4a148c !important;
}

.mdl-color-text--purple-A100 {
  color: #ea80fc !important;
}

.mdl-color--purple-A100 {
  background-color: #ea80fc !important;
}

.mdl-color-text--purple-A200 {
  color: #e040fb !important;
}

.mdl-color--purple-A200 {
  background-color: #e040fb !important;
}

.mdl-color-text--purple-A400 {
  color: #d500f9 !important;
}

.mdl-color--purple-A400 {
  background-color: #d500f9 !important;
}

.mdl-color-text--purple-A700 {
  color: #a0f !important;
}

.mdl-color--purple-A700 {
  background-color: #a0f !important;
}

.mdl-color-text--deep-purple {
  color: #673ab7 !important;
}

.mdl-color--deep-purple {
  background-color: #673ab7 !important;
}

.mdl-color-text--deep-purple-50 {
  color: #ede7f6 !important;
}

.mdl-color--deep-purple-50 {
  background-color: #ede7f6 !important;
}

.mdl-color-text--deep-purple-100 {
  color: #d1c4e9 !important;
}

.mdl-color--deep-purple-100 {
  background-color: #d1c4e9 !important;
}

.mdl-color-text--deep-purple-200 {
  color: #b39ddb !important;
}

.mdl-color--deep-purple-200 {
  background-color: #b39ddb !important;
}

.mdl-color-text--deep-purple-300 {
  color: #9575cd !important;
}

.mdl-color--deep-purple-300 {
  background-color: #9575cd !important;
}

.mdl-color-text--deep-purple-400 {
  color: #7e57c2 !important;
}

.mdl-color--deep-purple-400 {
  background-color: #7e57c2 !important;
}

.mdl-color-text--deep-purple-500 {
  color: #673ab7 !important;
}

.mdl-color--deep-purple-500 {
  background-color: #673ab7 !important;
}

.mdl-color-text--deep-purple-600 {
  color: #5e35b1 !important;
}

.mdl-color--deep-purple-600 {
  background-color: #5e35b1 !important;
}

.mdl-color-text--deep-purple-700 {
  color: #512da8 !important;
}

.mdl-color--deep-purple-700 {
  background-color: #512da8 !important;
}

.mdl-color-text--deep-purple-800 {
  color: #4527a0 !important;
}

.mdl-color--deep-purple-800 {
  background-color: #4527a0 !important;
}

.mdl-color-text--deep-purple-900 {
  color: #311b92 !important;
}

.mdl-color--deep-purple-900 {
  background-color: #311b92 !important;
}

.mdl-color-text--deep-purple-A100 {
  color: #b388ff !important;
}

.mdl-color--deep-purple-A100 {
  background-color: #b388ff !important;
}

.mdl-color-text--deep-purple-A200 {
  color: #7c4dff !important;
}

.mdl-color--deep-purple-A200 {
  background-color: #7c4dff !important;
}

.mdl-color-text--deep-purple-A400 {
  color: #651fff !important;
}

.mdl-color--deep-purple-A400 {
  background-color: #651fff !important;
}

.mdl-color-text--deep-purple-A700 {
  color: #6200ea !important;
}

.mdl-color--deep-purple-A700 {
  background-color: #6200ea !important;
}

.mdl-color-text--indigo {
  color: #3f51b5 !important;
}

.mdl-color--indigo {
  background-color: #3f51b5 !important;
}

.mdl-color-text--indigo-50 {
  color: #e8eaf6 !important;
}

.mdl-color--indigo-50 {
  background-color: #e8eaf6 !important;
}

.mdl-color-text--indigo-100 {
  color: #c5cae9 !important;
}

.mdl-color--indigo-100 {
  background-color: #c5cae9 !important;
}

.mdl-color-text--indigo-200 {
  color: #9fa8da !important;
}

.mdl-color--indigo-200 {
  background-color: #9fa8da !important;
}

.mdl-color-text--indigo-300 {
  color: #7986cb !important;
}

.mdl-color--indigo-300 {
  background-color: #7986cb !important;
}

.mdl-color-text--indigo-400 {
  color: #5c6bc0 !important;
}

.mdl-color--indigo-400 {
  background-color: #5c6bc0 !important;
}

.mdl-color-text--indigo-500 {
  color: #3f51b5 !important;
}

.mdl-color--indigo-500 {
  background-color: #3f51b5 !important;
}

.mdl-color-text--indigo-600 {
  color: #3949ab !important;
}

.mdl-color--indigo-600 {
  background-color: #3949ab !important;
}

.mdl-color-text--indigo-700 {
  color: #303f9f !important;
}

.mdl-color--indigo-700 {
  background-color: #303f9f !important;
}

.mdl-color-text--indigo-800 {
  color: #283593 !important;
}

.mdl-color--indigo-800 {
  background-color: #283593 !important;
}

.mdl-color-text--indigo-900 {
  color: #1a237e !important;
}

.mdl-color--indigo-900 {
  background-color: #1a237e !important;
}

.mdl-color-text--indigo-A100 {
  color: #8c9eff !important;
}

.mdl-color--indigo-A100 {
  background-color: #8c9eff !important;
}

.mdl-color-text--indigo-A200 {
  color: #536dfe !important;
}

.mdl-color--indigo-A200 {
  background-color: #536dfe !important;
}

.mdl-color-text--indigo-A400 {
  color: #3d5afe !important;
}

.mdl-color--indigo-A400 {
  background-color: #3d5afe !important;
}

.mdl-color-text--indigo-A700 {
  color: #304ffe !important;
}

.mdl-color--indigo-A700 {
  background-color: #304ffe !important;
}

.mdl-color-text--blue {
  color: #2196f3 !important;
}

.mdl-color--blue {
  background-color: #2196f3 !important;
}

.mdl-color-text--blue-50 {
  color: #e3f2fd !important;
}

.mdl-color--blue-50 {
  background-color: #e3f2fd !important;
}

.mdl-color-text--blue-100 {
  color: #bbdefb !important;
}

.mdl-color--blue-100 {
  background-color: #bbdefb !important;
}

.mdl-color-text--blue-200 {
  color: #90caf9 !important;
}

.mdl-color--blue-200 {
  background-color: #90caf9 !important;
}

.mdl-color-text--blue-300 {
  color: #64b5f6 !important;
}

.mdl-color--blue-300 {
  background-color: #64b5f6 !important;
}

.mdl-color-text--blue-400 {
  color: #42a5f5 !important;
}

.mdl-color--blue-400 {
  background-color: #42a5f5 !important;
}

.mdl-color-text--blue-500 {
  color: #2196f3 !important;
}

.mdl-color--blue-500 {
  background-color: #2196f3 !important;
}

.mdl-color-text--blue-600 {
  color: #1e88e5 !important;
}

.mdl-color--blue-600 {
  background-color: #1e88e5 !important;
}

.mdl-color-text--blue-700 {
  color: #1976d2 !important;
}

.mdl-color--blue-700 {
  background-color: #1976d2 !important;
}

.mdl-color-text--blue-800 {
  color: #1565c0 !important;
}

.mdl-color--blue-800 {
  background-color: #1565c0 !important;
}

.mdl-color-text--blue-900 {
  color: #0d47a1 !important;
}

.mdl-color--blue-900 {
  background-color: #0d47a1 !important;
}

.mdl-color-text--blue-A100 {
  color: #82b1ff !important;
}

.mdl-color--blue-A100 {
  background-color: #82b1ff !important;
}

.mdl-color-text--blue-A200 {
  color: #4285F4 !important;
}

.mdl-color--blue-A200 {
  background-color: #4285F4 !important;
}

.mdl-color-text--blue-A400 {
  color: #2979ff !important;
}

.mdl-color--blue-A400 {
  background-color: #2979ff !important;
}

.mdl-color-text--blue-A700 {
  color: #2962ff !important;
}

.mdl-color--blue-A700 {
  background-color: #2962ff !important;
}

.mdl-color-text--light-blue {
  color: #03a9f4 !important;
}

.mdl-color--light-blue {
  background-color: #03a9f4 !important;
}

.mdl-color-text--light-blue-50 {
  color: #e1f5fe !important;
}

.mdl-color--light-blue-50 {
  background-color: #e1f5fe !important;
}

.mdl-color-text--light-blue-100 {
  color: #b3e5fc !important;
}

.mdl-color--light-blue-100 {
  background-color: #b3e5fc !important;
}

.mdl-color-text--light-blue-200 {
  color: #81d4fa !important;
}

.mdl-color--light-blue-200 {
  background-color: #81d4fa !important;
}

.mdl-color-text--light-blue-300 {
  color: #4fc3f7 !important;
}

.mdl-color--light-blue-300 {
  background-color: #4fc3f7 !important;
}

.mdl-color-text--light-blue-400 {
  color: #29b6f6 !important;
}

.mdl-color--light-blue-400 {
  background-color: #29b6f6 !important;
}

.mdl-color-text--light-blue-500 {
  color: #03a9f4 !important;
}

.mdl-color--light-blue-500 {
  background-color: #03a9f4 !important;
}

.mdl-color-text--light-blue-600 {
  color: #039be5 !important;
}

.mdl-color--light-blue-600 {
  background-color: #039be5 !important;
}

.mdl-color-text--light-blue-700 {
  color: #0288d1 !important;
}

.mdl-color--light-blue-700 {
  background-color: #0288d1 !important;
}

.mdl-color-text--light-blue-800 {
  color: #0277bd !important;
}

.mdl-color--light-blue-800 {
  background-color: #0277bd !important;
}

.mdl-color-text--light-blue-900 {
  color: #01579b !important;
}

.mdl-color--light-blue-900 {
  background-color: #01579b !important;
}

.mdl-color-text--light-blue-A100 {
  color: #80d8ff !important;
}

.mdl-color--light-blue-A100 {
  background-color: #80d8ff !important;
}

.mdl-color-text--light-blue-A200 {
  color: #40c4ff !important;
}

.mdl-color--light-blue-A200 {
  background-color: #40c4ff !important;
}

.mdl-color-text--light-blue-A400 {
  color: #00b0ff !important;
}

.mdl-color--light-blue-A400 {
  background-color: #00b0ff !important;
}

.mdl-color-text--light-blue-A700 {
  color: #0091ea !important;
}

.mdl-color--light-blue-A700 {
  background-color: #0091ea !important;
}

.mdl-color-text--cyan {
  color: #00bcd4 !important;
}

.mdl-color--cyan {
  background-color: #00bcd4 !important;
}

.mdl-color-text--cyan-50 {
  color: #e0f7fa !important;
}

.mdl-color--cyan-50 {
  background-color: #e0f7fa !important;
}

.mdl-color-text--cyan-100 {
  color: #b2ebf2 !important;
}

.mdl-color--cyan-100 {
  background-color: #b2ebf2 !important;
}

.mdl-color-text--cyan-200 {
  color: #80deea !important;
}

.mdl-color--cyan-200 {
  background-color: #80deea !important;
}

.mdl-color-text--cyan-300 {
  color: #4dd0e1 !important;
}

.mdl-color--cyan-300 {
  background-color: #4dd0e1 !important;
}

.mdl-color-text--cyan-400 {
  color: #26c6da !important;
}

.mdl-color--cyan-400 {
  background-color: #26c6da !important;
}

.mdl-color-text--cyan-500 {
  color: #00bcd4 !important;
}

.mdl-color--cyan-500 {
  background-color: #00bcd4 !important;
}

.mdl-color-text--cyan-600 {
  color: #00acc1 !important;
}

.mdl-color--cyan-600 {
  background-color: #00acc1 !important;
}

.mdl-color-text--cyan-700 {
  color: #0097a7 !important;
}

.mdl-color--cyan-700 {
  background-color: #0097a7 !important;
}

.mdl-color-text--cyan-800 {
  color: #00838f !important;
}

.mdl-color--cyan-800 {
  background-color: #00838f !important;
}

.mdl-color-text--cyan-900 {
  color: #006064 !important;
}

.mdl-color--cyan-900 {
  background-color: #006064 !important;
}

.mdl-color-text--cyan-A100 {
  color: #84ffff !important;
}

.mdl-color--cyan-A100 {
  background-color: #84ffff !important;
}

.mdl-color-text--cyan-A200 {
  color: #18ffff !important;
}

.mdl-color--cyan-A200 {
  background-color: #18ffff !important;
}

.mdl-color-text--cyan-A400 {
  color: #00e5ff !important;
}

.mdl-color--cyan-A400 {
  background-color: #00e5ff !important;
}

.mdl-color-text--cyan-A700 {
  color: #00b8d4 !important;
}

.mdl-color--cyan-A700 {
  background-color: #00b8d4 !important;
}

.mdl-color-text--teal {
  color: #009688 !important;
}

.mdl-color--teal {
  background-color: #009688 !important;
}

.mdl-color-text--teal-50 {
  color: #e0f2f1 !important;
}

.mdl-color--teal-50 {
  background-color: #e0f2f1 !important;
}

.mdl-color-text--teal-100 {
  color: #b2dfdb !important;
}

.mdl-color--teal-100 {
  background-color: #b2dfdb !important;
}

.mdl-color-text--teal-200 {
  color: #80cbc4 !important;
}

.mdl-color--teal-200 {
  background-color: #80cbc4 !important;
}

.mdl-color-text--teal-300 {
  color: #4db6ac !important;
}

.mdl-color--teal-300 {
  background-color: #4db6ac !important;
}

.mdl-color-text--teal-400 {
  color: #26a69a !important;
}

.mdl-color--teal-400 {
  background-color: #26a69a !important;
}

.mdl-color-text--teal-500 {
  color: #009688 !important;
}

.mdl-color--teal-500 {
  background-color: #009688 !important;
}

.mdl-color-text--teal-600 {
  color: #00897b !important;
}

.mdl-color--teal-600 {
  background-color: #00897b !important;
}

.mdl-color-text--teal-700 {
  color: #00796b !important;
}

.mdl-color--teal-700 {
  background-color: #00796b !important;
}

.mdl-color-text--teal-800 {
  color: #00695c !important;
}

.mdl-color--teal-800 {
  background-color: #00695c !important;
}

.mdl-color-text--teal-900 {
  color: #004d40 !important;
}

.mdl-color--teal-900 {
  background-color: #004d40 !important;
}

.mdl-color-text--teal-A100 {
  color: #a7ffeb !important;
}

.mdl-color--teal-A100 {
  background-color: #a7ffeb !important;
}

.mdl-color-text--teal-A200 {
  color: #64ffda !important;
}

.mdl-color--teal-A200 {
  background-color: #64ffda !important;
}

.mdl-color-text--teal-A400 {
  color: #1de9b6 !important;
}

.mdl-color--teal-A400 {
  background-color: #1de9b6 !important;
}

.mdl-color-text--teal-A700 {
  color: #00bfa5 !important;
}

.mdl-color--teal-A700 {
  background-color: #00bfa5 !important;
}

.mdl-color-text--green {
  color: #4caf50 !important;
}

.mdl-color--green {
  background-color: #4caf50 !important;
}

.mdl-color-text--green-50 {
  color: #e8f5e9 !important;
}

.mdl-color--green-50 {
  background-color: #e8f5e9 !important;
}

.mdl-color-text--green-100 {
  color: #c8e6c9 !important;
}

.mdl-color--green-100 {
  background-color: #c8e6c9 !important;
}

.mdl-color-text--green-200 {
  color: #a5d6a7 !important;
}

.mdl-color--green-200 {
  background-color: #a5d6a7 !important;
}

.mdl-color-text--green-300 {
  color: #81c784 !important;
}

.mdl-color--green-300 {
  background-color: #81c784 !important;
}

.mdl-color-text--green-400 {
  color: #66bb6a !important;
}

.mdl-color--green-400 {
  background-color: #66bb6a !important;
}

.mdl-color-text--green-500 {
  color: #4caf50 !important;
}

.mdl-color--green-500 {
  background-color: #4caf50 !important;
}

.mdl-color-text--green-600 {
  color: #43a047 !important;
}

.mdl-color--green-600 {
  background-color: #43a047 !important;
}

.mdl-color-text--green-700 {
  color: #388e3c !important;
}

.mdl-color--green-700 {
  background-color: #388e3c !important;
}

.mdl-color-text--green-800 {
  color: #2e7d32 !important;
}

.mdl-color--green-800 {
  background-color: #2e7d32 !important;
}

.mdl-color-text--green-900 {
  color: #1b5e20 !important;
}

.mdl-color--green-900 {
  background-color: #1b5e20 !important;
}

.mdl-color-text--green-A100 {
  color: #b9f6ca !important;
}

.mdl-color--green-A100 {
  background-color: #b9f6ca !important;
}

.mdl-color-text--green-A200 {
  color: #69f0ae !important;
}

.mdl-color--green-A200 {
  background-color: #69f0ae !important;
}

.mdl-color-text--green-A400 {
  color: #00e676 !important;
}

.mdl-color--green-A400 {
  background-color: #00e676 !important;
}

.mdl-color-text--green-A700 {
  color: #00c853 !important;
}

.mdl-color--green-A700 {
  background-color: #00c853 !important;
}

.mdl-color-text--light-green {
  color: #8bc34a !important;
}

.mdl-color--light-green {
  background-color: #8bc34a !important;
}

.mdl-color-text--light-green-50 {
  color: #f1f8e9 !important;
}

.mdl-color--light-green-50 {
  background-color: #f1f8e9 !important;
}

.mdl-color-text--light-green-100 {
  color: #dcedc8 !important;
}

.mdl-color--light-green-100 {
  background-color: #dcedc8 !important;
}

.mdl-color-text--light-green-200 {
  color: #c5e1a5 !important;
}

.mdl-color--light-green-200 {
  background-color: #c5e1a5 !important;
}

.mdl-color-text--light-green-300 {
  color: #aed581 !important;
}

.mdl-color--light-green-300 {
  background-color: #aed581 !important;
}

.mdl-color-text--light-green-400 {
  color: #9ccc65 !important;
}

.mdl-color--light-green-400 {
  background-color: #9ccc65 !important;
}

.mdl-color-text--light-green-500 {
  color: #8bc34a !important;
}

.mdl-color--light-green-500 {
  background-color: #8bc34a !important;
}

.mdl-color-text--light-green-600 {
  color: #7cb342 !important;
}

.mdl-color--light-green-600 {
  background-color: #7cb342 !important;
}

.mdl-color-text--light-green-700 {
  color: #689f38 !important;
}

.mdl-color--light-green-700 {
  background-color: #689f38 !important;
}

.mdl-color-text--light-green-800 {
  color: #558b2f !important;
}

.mdl-color--light-green-800 {
  background-color: #558b2f !important;
}

.mdl-color-text--light-green-900 {
  color: #33691e !important;
}

.mdl-color--light-green-900 {
  background-color: #33691e !important;
}

.mdl-color-text--light-green-A100 {
  color: #ccff90 !important;
}

.mdl-color--light-green-A100 {
  background-color: #ccff90 !important;
}

.mdl-color-text--light-green-A200 {
  color: #b2ff59 !important;
}

.mdl-color--light-green-A200 {
  background-color: #b2ff59 !important;
}

.mdl-color-text--light-green-A400 {
  color: #76ff03 !important;
}

.mdl-color--light-green-A400 {
  background-color: #76ff03 !important;
}

.mdl-color-text--light-green-A700 {
  color: #64dd17 !important;
}

.mdl-color--light-green-A700 {
  background-color: #64dd17 !important;
}

.mdl-color-text--lime {
  color: #cddc39 !important;
}

.mdl-color--lime {
  background-color: #cddc39 !important;
}

.mdl-color-text--lime-50 {
  color: #f9fbe7 !important;
}

.mdl-color--lime-50 {
  background-color: #f9fbe7 !important;
}

.mdl-color-text--lime-100 {
  color: #f0f4c3 !important;
}

.mdl-color--lime-100 {
  background-color: #f0f4c3 !important;
}

.mdl-color-text--lime-200 {
  color: #e6ee9c !important;
}

.mdl-color--lime-200 {
  background-color: #e6ee9c !important;
}

.mdl-color-text--lime-300 {
  color: #dce775 !important;
}

.mdl-color--lime-300 {
  background-color: #dce775 !important;
}

.mdl-color-text--lime-400 {
  color: #d4e157 !important;
}

.mdl-color--lime-400 {
  background-color: #d4e157 !important;
}

.mdl-color-text--lime-500 {
  color: #cddc39 !important;
}

.mdl-color--lime-500 {
  background-color: #cddc39 !important;
}

.mdl-color-text--lime-600 {
  color: #c0ca33 !important;
}

.mdl-color--lime-600 {
  background-color: #c0ca33 !important;
}

.mdl-color-text--lime-700 {
  color: #afb42b !important;
}

.mdl-color--lime-700 {
  background-color: #afb42b !important;
}

.mdl-color-text--lime-800 {
  color: #9e9d24 !important;
}

.mdl-color--lime-800 {
  background-color: #9e9d24 !important;
}

.mdl-color-text--lime-900 {
  color: #827717 !important;
}

.mdl-color--lime-900 {
  background-color: #827717 !important;
}

.mdl-color-text--lime-A100 {
  color: #f4ff81 !important;
}

.mdl-color--lime-A100 {
  background-color: #f4ff81 !important;
}

.mdl-color-text--lime-A200 {
  color: #eeff41 !important;
}

.mdl-color--lime-A200 {
  background-color: #eeff41 !important;
}

.mdl-color-text--lime-A400 {
  color: #c6ff00 !important;
}

.mdl-color--lime-A400 {
  background-color: #c6ff00 !important;
}

.mdl-color-text--lime-A700 {
  color: #aeea00 !important;
}

.mdl-color--lime-A700 {
  background-color: #aeea00 !important;
}

.mdl-color-text--yellow {
  color: #ffeb3b !important;
}

.mdl-color--yellow {
  background-color: #ffeb3b !important;
}

.mdl-color-text--yellow-50 {
  color: #fffde7 !important;
}

.mdl-color--yellow-50 {
  background-color: #fffde7 !important;
}

.mdl-color-text--yellow-100 {
  color: #fff9c4 !important;
}

.mdl-color--yellow-100 {
  background-color: #fff9c4 !important;
}

.mdl-color-text--yellow-200 {
  color: #fff59d !important;
}

.mdl-color--yellow-200 {
  background-color: #fff59d !important;
}

.mdl-color-text--yellow-300 {
  color: #fff176 !important;
}

.mdl-color--yellow-300 {
  background-color: #fff176 !important;
}

.mdl-color-text--yellow-400 {
  color: #ffee58 !important;
}

.mdl-color--yellow-400 {
  background-color: #ffee58 !important;
}

.mdl-color-text--yellow-500 {
  color: #ffeb3b !important;
}

.mdl-color--yellow-500 {
  background-color: #ffeb3b !important;
}

.mdl-color-text--yellow-600 {
  color: #fdd835 !important;
}

.mdl-color--yellow-600 {
  background-color: #fdd835 !important;
}

.mdl-color-text--yellow-700 {
  color: #fbc02d !important;
}

.mdl-color--yellow-700 {
  background-color: #fbc02d !important;
}

.mdl-color-text--yellow-800 {
  color: #f9a825 !important;
}

.mdl-color--yellow-800 {
  background-color: #f9a825 !important;
}

.mdl-color-text--yellow-900 {
  color: #f57f17 !important;
}

.mdl-color--yellow-900 {
  background-color: #f57f17 !important;
}

.mdl-color-text--yellow-A100 {
  color: #ffff8d !important;
}

.mdl-color--yellow-A100 {
  background-color: #ffff8d !important;
}

.mdl-color-text--yellow-A200 {
  color: #ff0 !important;
}

.mdl-color--yellow-A200 {
  background-color: #ff0 !important;
}

.mdl-color-text--yellow-A400 {
  color: #ffea00 !important;
}

.mdl-color--yellow-A400 {
  background-color: #ffea00 !important;
}

.mdl-color-text--yellow-A700 {
  color: #ffd600 !important;
}

.mdl-color--yellow-A700 {
  background-color: #ffd600 !important;
}

.mdl-color-text--amber {
  color: #ffc107 !important;
}

.mdl-color--amber {
  background-color: #ffc107 !important;
}

.mdl-color-text--amber-50 {
  color: #fff8e1 !important;
}

.mdl-color--amber-50 {
  background-color: #fff8e1 !important;
}

.mdl-color-text--amber-100 {
  color: #ffecb3 !important;
}

.mdl-color--amber-100 {
  background-color: #ffecb3 !important;
}

.mdl-color-text--amber-200 {
  color: #ffe082 !important;
}

.mdl-color--amber-200 {
  background-color: #ffe082 !important;
}

.mdl-color-text--amber-300 {
  color: #ffd54f !important;
}

.mdl-color--amber-300 {
  background-color: #ffd54f !important;
}

.mdl-color-text--amber-400 {
  color: #ffca28 !important;
}

.mdl-color--amber-400 {
  background-color: #ffca28 !important;
}

.mdl-color-text--amber-500 {
  color: #ffc107 !important;
}

.mdl-color--amber-500 {
  background-color: #ffc107 !important;
}

.mdl-color-text--amber-600 {
  color: #ffb300 !important;
}

.mdl-color--amber-600 {
  background-color: #ffb300 !important;
}

.mdl-color-text--amber-700 {
  color: #ffa000 !important;
}

.mdl-color--amber-700 {
  background-color: #ffa000 !important;
}

.mdl-color-text--amber-800 {
  color: #ff8f00 !important;
}

.mdl-color--amber-800 {
  background-color: #ff8f00 !important;
}

.mdl-color-text--amber-900 {
  color: #ff6f00 !important;
}

.mdl-color--amber-900 {
  background-color: #ff6f00 !important;
}

.mdl-color-text--amber-A100 {
  color: #ffe57f !important;
}

.mdl-color--amber-A100 {
  background-color: #ffe57f !important;
}

.mdl-color-text--amber-A200 {
  color: #ffd740 !important;
}

.mdl-color--amber-A200 {
  background-color: #ffd740 !important;
}

.mdl-color-text--amber-A400 {
  color: #ffc400 !important;
}

.mdl-color--amber-A400 {
  background-color: #ffc400 !important;
}

.mdl-color-text--amber-A700 {
  color: #ffab00 !important;
}

.mdl-color--amber-A700 {
  background-color: #ffab00 !important;
}

.mdl-color-text--orange {
  color: #ff9800 !important;
}

.mdl-color--orange {
  background-color: #ff9800 !important;
}

.mdl-color-text--orange-50 {
  color: #fff3e0 !important;
}

.mdl-color--orange-50 {
  background-color: #fff3e0 !important;
}

.mdl-color-text--orange-100 {
  color: #ffe0b2 !important;
}

.mdl-color--orange-100 {
  background-color: #ffe0b2 !important;
}

.mdl-color-text--orange-200 {
  color: #ffcc80 !important;
}

.mdl-color--orange-200 {
  background-color: #ffcc80 !important;
}

.mdl-color-text--orange-300 {
  color: #ffb74d !important;
}

.mdl-color--orange-300 {
  background-color: #ffb74d !important;
}

.mdl-color-text--orange-400 {
  color: #ffa726 !important;
}

.mdl-color--orange-400 {
  background-color: #ffa726 !important;
}

.mdl-color-text--orange-500 {
  color: #ff9800 !important;
}

.mdl-color--orange-500 {
  background-color: #ff9800 !important;
}

.mdl-color-text--orange-600 {
  color: #fb8c00 !important;
}

.mdl-color--orange-600 {
  background-color: #fb8c00 !important;
}

.mdl-color-text--orange-700 {
  color: #f57c00 !important;
}

.mdl-color--orange-700 {
  background-color: #f57c00 !important;
}

.mdl-color-text--orange-800 {
  color: #ef6c00 !important;
}

.mdl-color--orange-800 {
  background-color: #ef6c00 !important;
}

.mdl-color-text--orange-900 {
  color: #e65100 !important;
}

.mdl-color--orange-900 {
  background-color: #e65100 !important;
}

.mdl-color-text--orange-A100 {
  color: #ffd180 !important;
}

.mdl-color--orange-A100 {
  background-color: #ffd180 !important;
}

.mdl-color-text--orange-A200 {
  color: #ffab40 !important;
}

.mdl-color--orange-A200 {
  background-color: #ffab40 !important;
}

.mdl-color-text--orange-A400 {
  color: #ff9100 !important;
}

.mdl-color--orange-A400 {
  background-color: #ff9100 !important;
}

.mdl-color-text--orange-A700 {
  color: #ff6d00 !important;
}

.mdl-color--orange-A700 {
  background-color: #ff6d00 !important;
}

.mdl-color-text--deep-orange {
  color: #ff5722 !important;
}

.mdl-color--deep-orange {
  background-color: #ff5722 !important;
}

.mdl-color-text--deep-orange-50 {
  color: #fbe9e7 !important;
}

.mdl-color--deep-orange-50 {
  background-color: #fbe9e7 !important;
}

.mdl-color-text--deep-orange-100 {
  color: #ffccbc !important;
}

.mdl-color--deep-orange-100 {
  background-color: #ffccbc !important;
}

.mdl-color-text--deep-orange-200 {
  color: #ffab91 !important;
}

.mdl-color--deep-orange-200 {
  background-color: #ffab91 !important;
}

.mdl-color-text--deep-orange-300 {
  color: #ff8a65 !important;
}

.mdl-color--deep-orange-300 {
  background-color: #ff8a65 !important;
}

.mdl-color-text--deep-orange-400 {
  color: #ff7043 !important;
}

.mdl-color--deep-orange-400 {
  background-color: #ff7043 !important;
}

.mdl-color-text--deep-orange-500 {
  color: #ff5722 !important;
}

.mdl-color--deep-orange-500 {
  background-color: #ff5722 !important;
}

.mdl-color-text--deep-orange-600 {
  color: #f4511e !important;
}

.mdl-color--deep-orange-600 {
  background-color: #f4511e !important;
}

.mdl-color-text--deep-orange-700 {
  color: #e64a19 !important;
}

.mdl-color--deep-orange-700 {
  background-color: #e64a19 !important;
}

.mdl-color-text--deep-orange-800 {
  color: #d84315 !important;
}

.mdl-color--deep-orange-800 {
  background-color: #d84315 !important;
}

.mdl-color-text--deep-orange-900 {
  color: #bf360c !important;
}

.mdl-color--deep-orange-900 {
  background-color: #bf360c !important;
}

.mdl-color-text--deep-orange-A100 {
  color: #ff9e80 !important;
}

.mdl-color--deep-orange-A100 {
  background-color: #ff9e80 !important;
}

.mdl-color-text--deep-orange-A200 {
  color: #ff6e40 !important;
}

.mdl-color--deep-orange-A200 {
  background-color: #ff6e40 !important;
}

.mdl-color-text--deep-orange-A400 {
  color: #ff3d00 !important;
}

.mdl-color--deep-orange-A400 {
  background-color: #ff3d00 !important;
}

.mdl-color-text--deep-orange-A700 {
  color: #dd2c00 !important;
}

.mdl-color--deep-orange-A700 {
  background-color: #dd2c00 !important;
}

.mdl-color-text--brown {
  color: #795548 !important;
}

.mdl-color--brown {
  background-color: #795548 !important;
}

.mdl-color-text--brown-50 {
  color: #efebe9 !important;
}

.mdl-color--brown-50 {
  background-color: #efebe9 !important;
}

.mdl-color-text--brown-100 {
  color: #d7ccc8 !important;
}

.mdl-color--brown-100 {
  background-color: #d7ccc8 !important;
}

.mdl-color-text--brown-200 {
  color: #bcaaa4 !important;
}

.mdl-color--brown-200 {
  background-color: #bcaaa4 !important;
}

.mdl-color-text--brown-300 {
  color: #a1887f !important;
}

.mdl-color--brown-300 {
  background-color: #a1887f !important;
}

.mdl-color-text--brown-400 {
  color: #8d6e63 !important;
}

.mdl-color--brown-400 {
  background-color: #8d6e63 !important;
}

.mdl-color-text--brown-500 {
  color: #795548 !important;
}

.mdl-color--brown-500 {
  background-color: #795548 !important;
}

.mdl-color-text--brown-600 {
  color: #6d4c41 !important;
}

.mdl-color--brown-600 {
  background-color: #6d4c41 !important;
}

.mdl-color-text--brown-700 {
  color: #5d4037 !important;
}

.mdl-color--brown-700 {
  background-color: #5d4037 !important;
}

.mdl-color-text--brown-800 {
  color: #4e342e !important;
}

.mdl-color--brown-800 {
  background-color: #4e342e !important;
}

.mdl-color-text--brown-900 {
  color: #3e2723 !important;
}

.mdl-color--brown-900 {
  background-color: #3e2723 !important;
}

.mdl-color-text--grey {
  color: #9e9e9e !important;
}

.mdl-color--grey {
  background-color: #9e9e9e !important;
}

.mdl-color-text--grey-50 {
  color: #fafafa !important;
}

.mdl-color--grey-50 {
  background-color: #fafafa !important;
}

.mdl-color-text--grey-100 {
  color: #f5f5f5 !important;
}

.mdl-color--grey-100 {
  background-color: #f5f5f5 !important;
}

.mdl-color-text--grey-200 {
  color: #eee !important;
}

.mdl-color--grey-200 {
  background-color: #eee !important;
}

.mdl-color-text--grey-300 {
  color: #e0e0e0 !important;
}

.mdl-color--grey-300 {
  background-color: #e0e0e0 !important;
}

.mdl-color-text--grey-400 {
  color: #bdbdbd !important;
}

.mdl-color--grey-400 {
  background-color: #bdbdbd !important;
}

.mdl-color-text--grey-500 {
  color: #9e9e9e !important;
}

.mdl-color--grey-500 {
  background-color: #9e9e9e !important;
}

.mdl-color-text--grey-600 {
  color: #757575 !important;
}

.mdl-color--grey-600 {
  background-color: #757575 !important;
}

.mdl-color-text--grey-700 {
  color: #616161 !important;
}

.mdl-color--grey-700 {
  background-color: #616161 !important;
}

.mdl-color-text--grey-800 {
  color: #424242 !important;
}

.mdl-color--grey-800 {
  background-color: #424242 !important;
}

.mdl-color-text--grey-900 {
  color: #212121 !important;
}

.mdl-color--grey-900 {
  background-color: #212121 !important;
}

.mdl-color-text--blue-grey {
  color: #607d8b !important;
}

.mdl-color--blue-grey {
  background-color: #607d8b !important;
}

.mdl-color-text--blue-grey-50 {
  color: #eceff1 !important;
}

.mdl-color--blue-grey-50 {
  background-color: #eceff1 !important;
}

.mdl-color-text--blue-grey-100 {
  color: #cfd8dc !important;
}

.mdl-color--blue-grey-100 {
  background-color: #cfd8dc !important;
}

.mdl-color-text--blue-grey-200 {
  color: #b0bec5 !important;
}

.mdl-color--blue-grey-200 {
  background-color: #b0bec5 !important;
}

.mdl-color-text--blue-grey-300 {
  color: #90a4ae !important;
}

.mdl-color--blue-grey-300 {
  background-color: #90a4ae !important;
}

.mdl-color-text--blue-grey-400 {
  color: #78909c !important;
}

.mdl-color--blue-grey-400 {
  background-color: #78909c !important;
}

.mdl-color-text--blue-grey-500 {
  color: #607d8b !important;
}

.mdl-color--blue-grey-500 {
  background-color: #607d8b !important;
}

.mdl-color-text--blue-grey-600 {
  color: #546e7a !important;
}

.mdl-color--blue-grey-600 {
  background-color: #546e7a !important;
}

.mdl-color-text--blue-grey-700 {
  color: #455a64 !important;
}

.mdl-color--blue-grey-700 {
  background-color: #455a64 !important;
}

.mdl-color-text--blue-grey-800 {
  color: #37474f !important;
}

.mdl-color--blue-grey-800 {
  background-color: #37474f !important;
}

.mdl-color-text--blue-grey-900 {
  color: #263238 !important;
}

.mdl-color--blue-grey-900 {
  background-color: #263238 !important;
}

.mdl-color--black {
  background-color: #000 !important;
}

.mdl-color-text--black {
  color: #000 !important;
}

.mdl-color--white {
  background-color: #fff !important;
}

.mdl-color-text--white {
  color: #fff !important;
}

.mdl-color--primary {
  background-color: rgb(66, 133, 244) !important;
}

.mdl-color--primary-contrast {
  background-color: rgb(255, 255, 255) !important;
}

.mdl-color--primary-dark {
  background-color: rgb(25, 118, 210) !important;
}

.mdl-color--accent {
  background-color: rgb(255, 215, 64) !important;
}

.mdl-color--accent-contrast {
  background-color: rgb(66, 66, 66) !important;
}

.mdl-color-text--primary {
  color: rgb(66, 133, 244) !important;
}

.mdl-color-text--primary-contrast {
  color: rgb(255, 255, 255) !important;
}

.mdl-color-text--primary-dark {
  color: rgb(25, 118, 210) !important;
}

.mdl-color-text--accent {
  color: rgb(255, 215, 64) !important;
}

.mdl-color-text--accent-contrast {
  color: rgb(66, 66, 66) !important;
}

.mdl-ripple {
  background: #000;
  border-radius: 50%;
  height: 50px;
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 50px;
  overflow: hidden;
}

.mdl-ripple.is-animating {
  transition: transform 0.3s cubic-bezier(0, 0, 0.2, 1), width 0.3s cubic-bezier(0, 0, 0.2, 1), height 0.3s cubic-bezier(0, 0, 0.2, 1), opacity 0.6s cubic-bezier(0, 0, 0.2, 1);
  transition: transform 0.3s cubic-bezier(0, 0, 0.2, 1), width 0.3s cubic-bezier(0, 0, 0.2, 1), height 0.3s cubic-bezier(0, 0, 0.2, 1), opacity 0.6s cubic-bezier(0, 0, 0.2, 1), -webkit-transform 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.mdl-ripple.is-visible {
  opacity: 0.3;
}

.mdl-animation--default, .mdl-animation--fast-out-slow-in {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.mdl-animation--linear-out-slow-in {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.mdl-animation--fast-out-linear-in {
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.mdl-badge {
  position: relative;
  white-space: nowrap;
  margin-right: 24px;
}

.mdl-badge:not([data-badge]) {
  margin-right: auto;
}

.mdl-badge[data-badge]:after {
  content: attr(data-badge);
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  top: -11px;
  right: -24px;
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
  font-weight: 600;
  font-size: 12px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgb(255, 215, 64);
  color: rgb(66, 66, 66);
}

.mdl-button .mdl-badge[data-badge]:after {
  top: -10px;
  right: -5px;
}

.mdl-badge.mdl-badge--no-background[data-badge]:after {
  color: rgb(255, 215, 64);
  background: rgba(66, 66, 66, 0.2);
  box-shadow: 0 0 1px gray;
}

.mdl-badge.mdl-badge--overlap {
  margin-right: 10px;
}

.mdl-badge.mdl-badge--overlap:after {
  right: -10px;
}

.mdl-button {
  background: 0 0;
  border: none;
  border-radius: 2px;
  color: #000;
  position: relative;
  height: 36px;
  margin: 0;
  min-width: 64px;
  padding: 0 16px;
  display: inline-block;
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0;
  overflow: hidden;
  will-change: box-shadow;
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  outline: none;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  line-height: 36px;
  vertical-align: middle;
}

.mdl-button::-moz-focus-inner {
  border: 0;
}

.mdl-button:hover {
  background-color: rgba(158, 158, 158, 0.2);
}

.mdl-button:focus:not(:active) {
  background-color: rgba(0, 0, 0, 0.12);
}

.mdl-button:active {
  background-color: rgba(158, 158, 158, 0.4);
}

.mdl-button.mdl-button--colored {
  color: rgb(66, 133, 244);
}

.mdl-button.mdl-button--colored:focus:not(:active) {
  background-color: rgba(0, 0, 0, 0.12);
}

input.mdl-button[type=submit] {
  -webkit-appearance: none;
}

.mdl-button--raised {
  background: rgba(158, 158, 158, 0.2);
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
}

.mdl-button--raised:active {
  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.2);
  background-color: rgba(158, 158, 158, 0.4);
}

.mdl-button--raised:focus:not(:active) {
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.18), 0 8px 16px rgba(0, 0, 0, 0.36);
  background-color: rgba(158, 158, 158, 0.4);
}

.mdl-button--raised.mdl-button--colored {
  background: rgb(66, 133, 244);
  color: rgb(255, 255, 255);
}

.mdl-button--raised.mdl-button--colored:hover {
  background-color: rgb(66, 133, 244);
}

.mdl-button--raised.mdl-button--colored:active {
  background-color: rgb(66, 133, 244);
}

.mdl-button--raised.mdl-button--colored:focus:not(:active) {
  background-color: rgb(66, 133, 244);
}

.mdl-button--raised.mdl-button--colored .mdl-ripple {
  background: rgb(255, 255, 255);
}

.mdl-button--fab {
  border-radius: 50%;
  font-size: 24px;
  height: 56px;
  margin: auto;
  min-width: 56px;
  width: 56px;
  padding: 0;
  overflow: hidden;
  background: rgba(158, 158, 158, 0.2);
  box-shadow: 0 1px 1.5px 0 rgba(0, 0, 0, 0.12), 0 1px 1px 0 rgba(0, 0, 0, 0.24);
  position: relative;
  line-height: normal;
}

.mdl-button--fab .material-icons {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-12px, -12px);
  transform: translate(-12px, -12px);
  line-height: 24px;
  width: 24px;
}

.mdl-button--fab.mdl-button--mini-fab {
  height: 40px;
  min-width: 40px;
  width: 40px;
}

.mdl-button--fab .mdl-button__ripple-container {
  border-radius: 50%;
  -webkit-mask-image: -webkit-radial-gradient(circle, #fff, #000);
}

.mdl-button--fab:active {
  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.2);
  background-color: rgba(158, 158, 158, 0.4);
}

.mdl-button--fab:focus:not(:active) {
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.18), 0 8px 16px rgba(0, 0, 0, 0.36);
  background-color: rgba(158, 158, 158, 0.4);
}

.mdl-button--fab.mdl-button--colored {
  background: rgb(255, 215, 64);
  color: rgb(66, 66, 66);
}

.mdl-button--fab.mdl-button--colored:hover {
  background-color: rgb(255, 215, 64);
}

.mdl-button--fab.mdl-button--colored:focus:not(:active) {
  background-color: rgb(255, 215, 64);
}

.mdl-button--fab.mdl-button--colored:active {
  background-color: rgb(255, 215, 64);
}

.mdl-button--fab.mdl-button--colored .mdl-ripple {
  background: rgb(66, 66, 66);
}

.mdl-button--icon {
  border-radius: 50%;
  font-size: 24px;
  height: 32px;
  margin-left: 0;
  margin-right: 0;
  min-width: 32px;
  width: 32px;
  padding: 0;
  overflow: hidden;
  color: inherit;
  line-height: normal;
}

.mdl-button--icon .material-icons {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-12px, -12px);
  transform: translate(-12px, -12px);
  line-height: 24px;
  width: 24px;
}

.mdl-button--icon.mdl-button--mini-icon {
  height: 24px;
  min-width: 24px;
  width: 24px;
}

.mdl-button--icon.mdl-button--mini-icon .material-icons {
  top: 0;
  left: 0;
}

.mdl-button--icon .mdl-button__ripple-container {
  border-radius: 50%;
  -webkit-mask-image: -webkit-radial-gradient(circle, #fff, #000);
}

.mdl-button__ripple-container {
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
  overflow: hidden;
}

.mdl-button[disabled] .mdl-button__ripple-container .mdl-ripple, .mdl-button.mdl-button--disabled .mdl-button__ripple-container .mdl-ripple {
  background-color: transparent;
}

.mdl-button--primary.mdl-button--primary {
  color: rgb(66, 133, 244);
}

.mdl-button--primary.mdl-button--primary .mdl-ripple {
  background: rgb(255, 255, 255);
}

.mdl-button--primary.mdl-button--primary.mdl-button--raised, .mdl-button--primary.mdl-button--primary.mdl-button--fab {
  color: rgb(255, 255, 255);
  background-color: rgb(66, 133, 244);
}

.mdl-button--accent.mdl-button--accent {
  color: rgb(255, 215, 64);
}

.mdl-button--accent.mdl-button--accent .mdl-ripple {
  background: rgb(66, 66, 66);
}

.mdl-button--accent.mdl-button--accent.mdl-button--raised, .mdl-button--accent.mdl-button--accent.mdl-button--fab {
  color: rgb(66, 66, 66);
  background-color: rgb(255, 215, 64);
}

.mdl-button[disabled][disabled], .mdl-button.mdl-button--disabled.mdl-button--disabled {
  color: rgba(0, 0, 0, 0.26);
  cursor: default;
  background-color: transparent;
}

.mdl-button--fab[disabled][disabled], .mdl-button--fab.mdl-button--disabled.mdl-button--disabled {
  background-color: rgba(0, 0, 0, 0.12);
  color: rgba(0, 0, 0, 0.26);
}

.mdl-button--raised[disabled][disabled], .mdl-button--raised.mdl-button--disabled.mdl-button--disabled {
  background-color: rgba(0, 0, 0, 0.12);
  color: rgba(0, 0, 0, 0.26);
  box-shadow: none;
}

.mdl-button--colored[disabled][disabled], .mdl-button--colored.mdl-button--disabled.mdl-button--disabled {
  color: rgba(0, 0, 0, 0.26);
}

.mdl-button .material-icons {
  vertical-align: middle;
}

.mdl-card {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  font-size: 16px;
  font-weight: 400;
  min-height: 200px;
  overflow: hidden;
  width: 330px;
  z-index: 1;
  position: relative;
  background: #fff;
  border-radius: 2px;
  box-sizing: border-box;
}

.mdl-card__media {
  background-color: rgb(255, 215, 64);
  background-repeat: repeat;
  background-position: 50% 50%;
  background-size: cover;
  background-origin: padding-box;
  background-attachment: scroll;
  box-sizing: border-box;
}

.mdl-card__title {
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  color: #000;
  display: block;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: stretch;
  -ms-flex-pack: stretch;
  justify-content: stretch;
  line-height: normal;
  padding: 16px;
  -webkit-perspective-origin: 165px 56px;
  perspective-origin: 165px 56px;
  -webkit-transform-origin: 165px 56px;
  transform-origin: 165px 56px;
  box-sizing: border-box;
}

.mdl-card__title.mdl-card--border {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.mdl-card__title-text {
  -webkit-align-self: flex-end;
  -ms-flex-item-align: end;
  align-self: flex-end;
  color: inherit;
  display: block;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 24px;
  font-weight: 300;
  line-height: normal;
  overflow: hidden;
  -webkit-transform-origin: 149px 48px;
  transform-origin: 149px 48px;
  margin: 0;
}

.mdl-card__subtitle-text {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.54);
  margin: 0;
}

.mdl-card__supporting-text {
  color: rgba(0, 0, 0, 0.54);
  font-size: 1rem;
  line-height: 18px;
  overflow: hidden;
  padding: 16px;
  width: 90%;
}

.mdl-card__supporting-text.mdl-card--border {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.mdl-card__actions {
  font-size: 16px;
  line-height: normal;
  width: 100%;
  background-color: transparent;
  padding: 8px;
  box-sizing: border-box;
}

.mdl-card__actions.mdl-card--border {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.mdl-card--expand {
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.mdl-card__menu {
  position: absolute;
  right: 16px;
  top: 16px;
}

.mdl-checkbox {
  position: relative;
  z-index: 1;
  vertical-align: middle;
  display: inline-block;
  box-sizing: border-box;
  width: 100%;
  height: 24px;
  margin: 0;
  padding: 0;
}

.mdl-checkbox.is-upgraded {
  padding-left: 24px;
}

.mdl-checkbox__input {
  line-height: 24px;
}

.mdl-checkbox.is-upgraded .mdl-checkbox__input {
  position: absolute;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
  opacity: 0;
  -ms-appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border: none;
}

.mdl-checkbox__box-outline {
  position: absolute;
  top: 3px;
  left: 0;
  display: inline-block;
  box-sizing: border-box;
  width: 16px;
  height: 16px;
  margin: 0;
  cursor: pointer;
  overflow: hidden;
  border: 2px solid rgba(0, 0, 0, 0.54);
  border-radius: 2px;
  z-index: 2;
}

.mdl-checkbox.is-checked .mdl-checkbox__box-outline {
  border: 2px solid rgb(66, 133, 244);
}

fieldset[disabled] .mdl-checkbox .mdl-checkbox__box-outline, .mdl-checkbox.is-disabled .mdl-checkbox__box-outline {
  border: 2px solid rgba(0, 0, 0, 0.26);
  cursor: auto;
}

.mdl-checkbox__focus-helper {
  position: absolute;
  top: 3px;
  left: 0;
  display: inline-block;
  box-sizing: border-box;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: transparent;
}

.mdl-checkbox.is-focused .mdl-checkbox__focus-helper {
  box-shadow: 0 0 0 8px rgba(0, 0, 0, 0.1);
  background-color: rgba(0, 0, 0, 0.1);
}

.mdl-checkbox.is-focused.is-checked .mdl-checkbox__focus-helper {
  box-shadow: 0 0 0 8px rgba(66, 133, 244, 0.26);
  background-color: rgba(66, 133, 244, 0.26);
}

.mdl-checkbox__tick-outline {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  -webkit-mask: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8ZGVmcz4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcCI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIDAsMSAxLDEgMSwwIDAsMCB6IE0gMC44NTM0Mzc1LDAuMTY3MTg3NSAwLjk1OTY4NzUsMC4yNzMxMjUgMC40MjkzNzUsMC44MDM0Mzc1IDAuMzIzMTI1LDAuOTA5Njg3NSAwLjIxNzE4NzUsMC44MDM0Mzc1IDAuMDQwMzEyNSwwLjYyNjg3NSAwLjE0NjU2MjUsMC41MjA2MjUgMC4zMjMxMjUsMC42OTc1IDAuODUzNDM3NSwwLjE2NzE4NzUgeiIKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8bWFzayBpZD0ibWFzayIgbWFza1VuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgbWFza0NvbnRlbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCAwLDEgMSwxIDEsMCAwLDAgeiBNIDAuODUzNDM3NSwwLjE2NzE4NzUgMC45NTk2ODc1LDAuMjczMTI1IDAuNDI5Mzc1LDAuODAzNDM3NSAwLjMyMzEyNSwwLjkwOTY4NzUgMC4yMTcxODc1LDAuODAzNDM3NSAwLjA0MDMxMjUsMC42MjY4NzUgMC4xNDY1NjI1LDAuNTIwNjI1IDAuMzIzMTI1LDAuNjk3NSAwLjg1MzQzNzUsMC4xNjcxODc1IHoiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8+CiAgICA8L21hc2s+CiAgPC9kZWZzPgogIDxyZWN0CiAgICAgd2lkdGg9IjEiCiAgICAgaGVpZ2h0PSIxIgogICAgIHg9IjAiCiAgICAgeT0iMCIKICAgICBjbGlwLXBhdGg9InVybCgjY2xpcCkiCiAgICAgc3R5bGU9ImZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KPC9zdmc+Cg==");
  mask: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8ZGVmcz4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcCI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIDAsMSAxLDEgMSwwIDAsMCB6IE0gMC44NTM0Mzc1LDAuMTY3MTg3NSAwLjk1OTY4NzUsMC4yNzMxMjUgMC40MjkzNzUsMC44MDM0Mzc1IDAuMzIzMTI1LDAuOTA5Njg3NSAwLjIxNzE4NzUsMC44MDM0Mzc1IDAuMDQwMzEyNSwwLjYyNjg3NSAwLjE0NjU2MjUsMC41MjA2MjUgMC4zMjMxMjUsMC42OTc1IDAuODUzNDM3NSwwLjE2NzE4NzUgeiIKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8bWFzayBpZD0ibWFzayIgbWFza1VuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgbWFza0NvbnRlbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCAwLDEgMSwxIDEsMCAwLDAgeiBNIDAuODUzNDM3NSwwLjE2NzE4NzUgMC45NTk2ODc1LDAuMjczMTI1IDAuNDI5Mzc1LDAuODAzNDM3NSAwLjMyMzEyNSwwLjkwOTY4NzUgMC4yMTcxODc1LDAuODAzNDM3NSAwLjA0MDMxMjUsMC42MjY4NzUgMC4xNDY1NjI1LDAuNTIwNjI1IDAuMzIzMTI1LDAuNjk3NSAwLjg1MzQzNzUsMC4xNjcxODc1IHoiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8+CiAgICA8L21hc2s+CiAgPC9kZWZzPgogIDxyZWN0CiAgICAgd2lkdGg9IjEiCiAgICAgaGVpZ2h0PSIxIgogICAgIHg9IjAiCiAgICAgeT0iMCIKICAgICBjbGlwLXBhdGg9InVybCgjY2xpcCkiCiAgICAgc3R5bGU9ImZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KPC9zdmc+Cg==");
  background: 0 0;
  transition-duration: 0.28s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-property: background;
}

.mdl-checkbox.is-checked .mdl-checkbox__tick-outline {
  background: rgb(66, 133, 244) url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K");
}

fieldset[disabled] .mdl-checkbox.is-checked .mdl-checkbox__tick-outline, .mdl-checkbox.is-checked.is-disabled .mdl-checkbox__tick-outline {
  background: rgba(0, 0, 0, 0.26) url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K");
}

.mdl-checkbox__label {
  position: relative;
  cursor: pointer;
  font-size: 16px;
  line-height: 24px;
  margin: 0;
}

fieldset[disabled] .mdl-checkbox .mdl-checkbox__label, .mdl-checkbox.is-disabled .mdl-checkbox__label {
  color: rgba(0, 0, 0, 0.26);
  cursor: auto;
}

.mdl-checkbox__ripple-container {
  position: absolute;
  z-index: 2;
  top: -6px;
  left: -10px;
  box-sizing: border-box;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  cursor: pointer;
  overflow: hidden;
  -webkit-mask-image: -webkit-radial-gradient(circle, #fff, #000);
}

.mdl-checkbox__ripple-container .mdl-ripple {
  background: rgb(66, 133, 244);
}

fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container, .mdl-checkbox.is-disabled .mdl-checkbox__ripple-container {
  cursor: auto;
}

fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple, .mdl-checkbox.is-disabled .mdl-checkbox__ripple-container .mdl-ripple {
  background: 0 0;
}

.mdl-chip {
  height: 32px;
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
  line-height: 32px;
  padding: 0 12px;
  border: 0;
  border-radius: 16px;
  background-color: #dedede;
  display: inline-block;
  color: rgba(0, 0, 0, 0.87);
  margin: 2px 0;
  font-size: 0;
  white-space: nowrap;
}

.mdl-chip__text {
  font-size: 13px;
  vertical-align: middle;
  display: inline-block;
}

.mdl-chip__action {
  height: 24px;
  width: 24px;
  background: 0 0;
  opacity: 0.54;
  cursor: pointer;
  padding: 0;
  margin: 0 0 0 4px;
  font-size: 13px;
  text-decoration: none;
  color: rgba(0, 0, 0, 0.87);
  border: none;
  outline: none;
}

.mdl-chip__action, .mdl-chip__contact {
  display: inline-block;
  vertical-align: middle;
  overflow: hidden;
  text-align: center;
}

.mdl-chip__contact {
  height: 32px;
  width: 32px;
  border-radius: 16px;
  margin-right: 8px;
  font-size: 18px;
  line-height: 32px;
}

.mdl-chip:focus {
  outline: 0;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
}

.mdl-chip:active {
  background-color: #d6d6d6;
}

.mdl-chip--deletable {
  padding-right: 4px;
}

.mdl-chip--contact {
  padding-left: 0;
}

.mdl-data-table {
  position: relative;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-collapse: collapse;
  white-space: nowrap;
  font-size: 13px;
  background-color: #fff;
}

.mdl-data-table thead {
  padding-bottom: 3px;
}

.mdl-data-table thead .mdl-data-table__select {
  margin-top: 0;
}

.mdl-data-table tbody tr {
  position: relative;
  height: 48px;
  transition-duration: 0.28s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-property: background-color;
}

.mdl-data-table tbody tr.is-selected {
  background-color: #e0e0e0;
}

.mdl-data-table tbody tr:hover {
  background-color: #eee;
}

.mdl-data-table td {
  text-align: right;
}

.mdl-data-table th {
  padding: 0 18px 12px 18px;
  text-align: right;
}

.mdl-data-table td:first-of-type, .mdl-data-table th:first-of-type {
  padding-left: 24px;
}

.mdl-data-table td:last-of-type, .mdl-data-table th:last-of-type {
  padding-right: 24px;
}

.mdl-data-table td {
  position: relative;
  height: 48px;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
  padding: 12px 18px;
  box-sizing: border-box;
}

.mdl-data-table td, .mdl-data-table td .mdl-data-table__select {
  vertical-align: middle;
}

.mdl-data-table th {
  position: relative;
  vertical-align: bottom;
  text-overflow: ellipsis;
  font-weight: 700;
  line-height: 24px;
  letter-spacing: 0;
  height: 48px;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.54);
  padding-bottom: 8px;
  box-sizing: border-box;
}

.mdl-data-table th.mdl-data-table__header--sorted-ascending, .mdl-data-table th.mdl-data-table__header--sorted-descending {
  color: rgba(0, 0, 0, 0.87);
}

.mdl-data-table th.mdl-data-table__header--sorted-ascending:before, .mdl-data-table th.mdl-data-table__header--sorted-descending:before {
  font-family: "Material Icons";
  font-weight: 400;
  font-style: normal;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  word-wrap: normal;
  -moz-font-feature-settings: "liga";
  font-feature-settings: "liga";
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
  font-size: 16px;
  content: "\e5d8";
  margin-right: 5px;
  vertical-align: sub;
}

.mdl-data-table th.mdl-data-table__header--sorted-ascending:hover, .mdl-data-table th.mdl-data-table__header--sorted-descending:hover {
  cursor: pointer;
}

.mdl-data-table th.mdl-data-table__header--sorted-ascending:hover:before, .mdl-data-table th.mdl-data-table__header--sorted-descending:hover:before {
  color: rgba(0, 0, 0, 0.26);
}

.mdl-data-table th.mdl-data-table__header--sorted-descending:before {
  content: "\e5db";
}

.mdl-data-table__select {
  width: 16px;
}

.mdl-data-table__cell--non-numeric.mdl-data-table__cell--non-numeric {
  text-align: left;
}

.mdl-dialog {
  border: none;
  box-shadow: 0 9px 46px 8px rgba(0, 0, 0, 0.14), 0 11px 15px -7px rgba(0, 0, 0, 0.12), 0 24px 38px 3px rgba(0, 0, 0, 0.2);
  width: 280px;
}

.mdl-dialog__title {
  padding: 24px 24px 0;
  margin: 0;
  font-size: 2.5rem;
}

.mdl-dialog__actions {
  padding: 8px 8px 8px 24px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.mdl-dialog__actions > * {
  margin-right: 8px;
  height: 36px;
}

.mdl-dialog__actions > *:first-child {
  margin-right: 0;
}

.mdl-dialog__actions--full-width {
  padding: 0 0 8px;
}

.mdl-dialog__actions--full-width > * {
  height: 48px;
  -webkit-flex: 0 0 100%;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  padding-right: 16px;
  margin-right: 0;
  text-align: right;
}

.mdl-dialog__content {
  padding: 20px 24px 24px;
  color: rgba(0, 0, 0, 0.54);
}

.mdl-mega-footer {
  padding: 16px 40px;
  color: #9e9e9e;
  background-color: #424242;
}

.mdl-mega-footer--top-section:after, .mdl-mega-footer--middle-section:after, .mdl-mega-footer--bottom-section:after, .mdl-mega-footer__top-section:after, .mdl-mega-footer__middle-section:after, .mdl-mega-footer__bottom-section:after {
  content: "";
  display: block;
  clear: both;
}

.mdl-mega-footer--left-section, .mdl-mega-footer__left-section, .mdl-mega-footer--right-section, .mdl-mega-footer__right-section {
  margin-bottom: 16px;
}

.mdl-mega-footer--right-section a, .mdl-mega-footer__right-section a {
  display: block;
  margin-bottom: 16px;
  color: inherit;
  text-decoration: none;
}

@media screen and (min-width: 760px) {
  .mdl-mega-footer--left-section, .mdl-mega-footer__left-section {
    float: left;
  }
  .mdl-mega-footer--right-section, .mdl-mega-footer__right-section {
    float: right;
  }
  .mdl-mega-footer--right-section a, .mdl-mega-footer__right-section a {
    display: inline-block;
    margin-left: 16px;
    line-height: 36px;
    vertical-align: middle;
  }
}
.mdl-mega-footer--social-btn, .mdl-mega-footer__social-btn {
  width: 36px;
  height: 36px;
  padding: 0;
  margin: 0;
  background-color: #9e9e9e;
  border: none;
}

.mdl-mega-footer--drop-down-section, .mdl-mega-footer__drop-down-section {
  display: block;
  position: relative;
}

@media screen and (min-width: 760px) {
  .mdl-mega-footer--drop-down-section, .mdl-mega-footer__drop-down-section {
    width: 33%;
  }
  .mdl-mega-footer--drop-down-section:nth-child(1), .mdl-mega-footer--drop-down-section:nth-child(2), .mdl-mega-footer__drop-down-section:nth-child(1), .mdl-mega-footer__drop-down-section:nth-child(2) {
    float: left;
  }
  .mdl-mega-footer--drop-down-section:nth-child(3), .mdl-mega-footer__drop-down-section:nth-child(3) {
    float: right;
  }
  .mdl-mega-footer--drop-down-section:nth-child(3):after, .mdl-mega-footer__drop-down-section:nth-child(3):after {
    clear: right;
  }
  .mdl-mega-footer--drop-down-section:nth-child(4), .mdl-mega-footer__drop-down-section:nth-child(4) {
    clear: right;
    float: right;
  }
  .mdl-mega-footer--middle-section:after, .mdl-mega-footer__middle-section:after {
    content: "";
    display: block;
    clear: both;
  }
  .mdl-mega-footer--bottom-section, .mdl-mega-footer__bottom-section {
    padding-top: 0;
  }
}
@media screen and (min-width: 1024px) {
  .mdl-mega-footer--drop-down-section, .mdl-mega-footer--drop-down-section:nth-child(3), .mdl-mega-footer--drop-down-section:nth-child(4), .mdl-mega-footer__drop-down-section, .mdl-mega-footer__drop-down-section:nth-child(3), .mdl-mega-footer__drop-down-section:nth-child(4) {
    width: 24%;
    float: left;
  }
}
.mdl-mega-footer--heading-checkbox, .mdl-mega-footer__heading-checkbox {
  position: absolute;
  width: 100%;
  height: 55.8px;
  padding: 32px;
  margin: -16px 0 0;
  cursor: pointer;
  z-index: 1;
  opacity: 0;
}

.mdl-mega-footer--heading-checkbox + .mdl-mega-footer--heading:after, .mdl-mega-footer--heading-checkbox + .mdl-mega-footer__heading:after, .mdl-mega-footer__heading-checkbox + .mdl-mega-footer--heading:after, .mdl-mega-footer__heading-checkbox + .mdl-mega-footer__heading:after {
  font-family: "Material Icons";
  content: "\e5ce";
}

.mdl-mega-footer--heading-checkbox:checked ~ .mdl-mega-footer--link-list, .mdl-mega-footer--heading-checkbox:checked ~ .mdl-mega-footer__link-list, .mdl-mega-footer--heading-checkbox:checked + .mdl-mega-footer--heading + .mdl-mega-footer--link-list, .mdl-mega-footer--heading-checkbox:checked + .mdl-mega-footer__heading + .mdl-mega-footer__link-list, .mdl-mega-footer__heading-checkbox:checked ~ .mdl-mega-footer--link-list, .mdl-mega-footer__heading-checkbox:checked ~ .mdl-mega-footer__link-list, .mdl-mega-footer__heading-checkbox:checked + .mdl-mega-footer--heading + .mdl-mega-footer--link-list, .mdl-mega-footer__heading-checkbox:checked + .mdl-mega-footer__heading + .mdl-mega-footer__link-list {
  display: none;
}

.mdl-mega-footer--heading-checkbox:checked + .mdl-mega-footer--heading:after, .mdl-mega-footer--heading-checkbox:checked + .mdl-mega-footer__heading:after, .mdl-mega-footer__heading-checkbox:checked + .mdl-mega-footer--heading:after, .mdl-mega-footer__heading-checkbox:checked + .mdl-mega-footer__heading:after {
  font-family: "Material Icons";
  content: "\e5cf";
}

.mdl-mega-footer--heading, .mdl-mega-footer__heading {
  position: relative;
  width: 100%;
  padding-right: 39.8px;
  margin-bottom: 16px;
  box-sizing: border-box;
  font-size: 14px;
  line-height: 23.8px;
  font-weight: 500;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  color: #e0e0e0;
}

.mdl-mega-footer--heading:after, .mdl-mega-footer__heading:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 23.8px;
  height: 23.8px;
  background-size: cover;
}

.mdl-mega-footer--link-list, .mdl-mega-footer__link-list {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
}

.mdl-mega-footer--link-list:after, .mdl-mega-footer__link-list:after {
  clear: both;
  display: block;
  content: "";
}

.mdl-mega-footer--link-list li, .mdl-mega-footer__link-list li {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 20px;
}

.mdl-mega-footer--link-list a, .mdl-mega-footer__link-list a {
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
}

@media screen and (min-width: 760px) {
  .mdl-mega-footer--heading-checkbox, .mdl-mega-footer__heading-checkbox {
    display: none;
  }
  .mdl-mega-footer--heading-checkbox + .mdl-mega-footer--heading:after, .mdl-mega-footer--heading-checkbox + .mdl-mega-footer__heading:after, .mdl-mega-footer__heading-checkbox + .mdl-mega-footer--heading:after, .mdl-mega-footer__heading-checkbox + .mdl-mega-footer__heading:after {
    content: "";
  }
  .mdl-mega-footer--heading-checkbox:checked ~ .mdl-mega-footer--link-list, .mdl-mega-footer--heading-checkbox:checked ~ .mdl-mega-footer__link-list, .mdl-mega-footer--heading-checkbox:checked + .mdl-mega-footer__heading + .mdl-mega-footer__link-list, .mdl-mega-footer--heading-checkbox:checked + .mdl-mega-footer--heading + .mdl-mega-footer--link-list, .mdl-mega-footer__heading-checkbox:checked ~ .mdl-mega-footer--link-list, .mdl-mega-footer__heading-checkbox:checked ~ .mdl-mega-footer__link-list, .mdl-mega-footer__heading-checkbox:checked + .mdl-mega-footer__heading + .mdl-mega-footer__link-list, .mdl-mega-footer__heading-checkbox:checked + .mdl-mega-footer--heading + .mdl-mega-footer--link-list {
    display: block;
  }
  .mdl-mega-footer--heading-checkbox:checked + .mdl-mega-footer--heading:after, .mdl-mega-footer--heading-checkbox:checked + .mdl-mega-footer__heading:after, .mdl-mega-footer__heading-checkbox:checked + .mdl-mega-footer--heading:after, .mdl-mega-footer__heading-checkbox:checked + .mdl-mega-footer__heading:after {
    content: "";
  }
}
.mdl-mega-footer--bottom-section, .mdl-mega-footer__bottom-section {
  padding-top: 16px;
  margin-bottom: 16px;
}

.mdl-logo {
  margin-bottom: 16px;
  color: #fff;
}

.mdl-mega-footer--bottom-section .mdl-mega-footer--link-list li, .mdl-mega-footer__bottom-section .mdl-mega-footer__link-list li {
  float: left;
  margin-bottom: 0;
  margin-right: 16px;
}

@media screen and (min-width: 760px) {
  .mdl-logo {
    float: left;
    margin-bottom: 0;
    margin-right: 16px;
  }
}
.mdl-mini-footer {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 32px 16px;
  color: #9e9e9e;
  background-color: #424242;
}

.mdl-mini-footer:after {
  content: "";
  display: block;
}

.mdl-mini-footer .mdl-logo {
  line-height: 36px;
}

.mdl-mini-footer--link-list, .mdl-mini-footer__link-list {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row nowrap;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  list-style: none;
  margin: 0;
  padding: 0;
}

.mdl-mini-footer--link-list li, .mdl-mini-footer__link-list li {
  margin-bottom: 0;
  margin-right: 16px;
}

@media screen and (min-width: 760px) {
  .mdl-mini-footer--link-list li, .mdl-mini-footer__link-list li {
    line-height: 36px;
  }
}
.mdl-mini-footer--link-list a, .mdl-mini-footer__link-list a {
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
}

.mdl-mini-footer--left-section, .mdl-mini-footer__left-section {
  display: inline-block;
  -webkit-order: 0;
  -ms-flex-order: 0;
  order: 0;
}

.mdl-mini-footer--right-section, .mdl-mini-footer__right-section {
  display: inline-block;
  -webkit-order: 1;
  -ms-flex-order: 1;
  order: 1;
}

.mdl-mini-footer--social-btn, .mdl-mini-footer__social-btn {
  width: 36px;
  height: 36px;
  padding: 0;
  margin: 0;
  background-color: #9e9e9e;
  border: none;
}

.mdl-icon-toggle {
  position: relative;
  z-index: 1;
  vertical-align: middle;
  display: inline-block;
  height: 32px;
  margin: 0;
  padding: 0;
}

.mdl-icon-toggle__input {
  line-height: 32px;
}

.mdl-icon-toggle.is-upgraded .mdl-icon-toggle__input {
  position: absolute;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
  opacity: 0;
  -ms-appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border: none;
}

.mdl-icon-toggle__label {
  display: inline-block;
  position: relative;
  cursor: pointer;
  height: 32px;
  width: 32px;
  min-width: 32px;
  color: #616161;
  border-radius: 50%;
  padding: 0;
  margin-left: 0;
  margin-right: 0;
  text-align: center;
  background-color: transparent;
  will-change: background-color;
  transition: background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.mdl-icon-toggle__label.material-icons {
  line-height: 32px;
  font-size: 24px;
}

.mdl-icon-toggle.is-checked .mdl-icon-toggle__label {
  color: rgb(66, 133, 244);
}

.mdl-icon-toggle.is-disabled .mdl-icon-toggle__label {
  color: rgba(0, 0, 0, 0.26);
  cursor: auto;
  transition: none;
}

.mdl-icon-toggle.is-focused .mdl-icon-toggle__label {
  background-color: rgba(0, 0, 0, 0.12);
}

.mdl-icon-toggle.is-focused.is-checked .mdl-icon-toggle__label {
  background-color: rgba(66, 133, 244, 0.26);
}

.mdl-icon-toggle__ripple-container {
  position: absolute;
  z-index: 2;
  top: -2px;
  left: -2px;
  box-sizing: border-box;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  cursor: pointer;
  overflow: hidden;
  -webkit-mask-image: -webkit-radial-gradient(circle, #fff, #000);
}

.mdl-icon-toggle__ripple-container .mdl-ripple {
  background: #616161;
}

.mdl-icon-toggle.is-disabled .mdl-icon-toggle__ripple-container {
  cursor: auto;
}

.mdl-icon-toggle.is-disabled .mdl-icon-toggle__ripple-container .mdl-ripple {
  background: 0 0;
}

.mdl-list {
  display: block;
  padding: 8px 0;
  list-style: none;
}

.mdl-list__item {
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1;
  min-height: 48px;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  padding: 16px;
  cursor: default;
  color: rgba(0, 0, 0, 0.87);
  overflow: hidden;
}

.mdl-list__item, .mdl-list__item .mdl-list__item-primary-content {
  box-sizing: border-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.mdl-list__item .mdl-list__item-primary-content {
  -webkit-order: 0;
  -ms-flex-order: 0;
  order: 0;
  -webkit-flex-grow: 2;
  -ms-flex-positive: 2;
  flex-grow: 2;
  text-decoration: none;
}

.mdl-list__item .mdl-list__item-primary-content .mdl-list__item-icon {
  margin-right: 32px;
}

.mdl-list__item .mdl-list__item-primary-content .mdl-list__item-avatar {
  margin-right: 16px;
}

.mdl-list__item .mdl-list__item-secondary-content {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column;
  -ms-flex-flow: column;
  flex-flow: column;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  margin-left: 16px;
}

.mdl-list__item .mdl-list__item-secondary-content .mdl-list__item-secondary-action label {
  display: inline;
}

.mdl-list__item .mdl-list__item-secondary-content .mdl-list__item-secondary-info {
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  color: rgba(0, 0, 0, 0.54);
}

.mdl-list__item .mdl-list__item-secondary-content .mdl-list__item-sub-header {
  padding: 0 0 0 16px;
}

.mdl-list__item-icon, .mdl-list__item-icon.material-icons {
  height: 24px;
  width: 24px;
  font-size: 24px;
  box-sizing: border-box;
  color: #757575;
}

.mdl-list__item-avatar, .mdl-list__item-avatar.material-icons {
  height: 40px;
  width: 40px;
  box-sizing: border-box;
  border-radius: 50%;
  background-color: #757575;
  font-size: 40px;
  color: #fff;
}

.mdl-list__item--two-line {
  height: 72px;
}

.mdl-list__item--two-line .mdl-list__item-primary-content {
  height: 36px;
  line-height: 20px;
  display: block;
}

.mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-avatar {
  float: left;
}

.mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-icon {
  float: left;
  margin-top: 6px;
}

.mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-secondary-content {
  height: 36px;
}

.mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-sub-title {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 18px;
  color: rgba(0, 0, 0, 0.54);
  display: block;
  padding: 0;
}

.mdl-list__item--three-line {
  height: 88px;
}

.mdl-list__item--three-line .mdl-list__item-primary-content {
  height: 52px;
  line-height: 20px;
  display: block;
}

.mdl-list__item--three-line .mdl-list__item-primary-content .mdl-list__item-avatar, .mdl-list__item--three-line .mdl-list__item-primary-content .mdl-list__item-icon {
  float: left;
}

.mdl-list__item--three-line .mdl-list__item-secondary-content {
  height: 52px;
}

.mdl-list__item--three-line .mdl-list__item-text-body {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 18px;
  height: 52px;
  color: rgba(0, 0, 0, 0.54);
  display: block;
  padding: 0;
}

.mdl-menu__container {
  display: block;
  margin: 0;
  padding: 0;
  border: none;
  position: absolute;
  overflow: visible;
  height: 0;
  width: 0;
  visibility: hidden;
  z-index: -1;
}

.mdl-menu__container.is-visible, .mdl-menu__container.is-animating {
  z-index: 999;
  visibility: visible;
}

.mdl-menu__outline {
  display: block;
  background: #fff;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 2px;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  opacity: 0;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  will-change: transform;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: -1;
}

.mdl-menu__container.is-visible .mdl-menu__outline {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
  z-index: 999;
}

.mdl-menu__outline.mdl-menu--bottom-right {
  -webkit-transform-origin: 100% 0;
  transform-origin: 100% 0;
}

.mdl-menu__outline.mdl-menu--top-left {
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%;
}

.mdl-menu__outline.mdl-menu--top-right {
  -webkit-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
}

.mdl-menu {
  position: absolute;
  list-style: none;
  top: 0;
  left: 0;
  height: auto;
  width: auto;
  min-width: 124px;
  padding: 8px 0;
  margin: 0;
  opacity: 0;
  clip: rect(0 0 0 0);
  z-index: -1;
}

.mdl-menu__container.is-visible .mdl-menu {
  opacity: 1;
  z-index: 999;
}

.mdl-menu.is-animating {
  transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), clip 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.mdl-menu.mdl-menu--bottom-right {
  left: auto;
  right: 0;
}

.mdl-menu.mdl-menu--top-left {
  top: auto;
  bottom: 0;
}

.mdl-menu.mdl-menu--top-right {
  top: auto;
  left: auto;
  bottom: 0;
  right: 0;
}

.mdl-menu.mdl-menu--unaligned {
  top: auto;
  left: auto;
}

.mdl-menu__item {
  display: block;
  border: none;
  color: rgba(0, 0, 0, 0.87);
  background-color: transparent;
  text-align: left;
  margin: 0;
  padding: 0 16px;
  outline-color: #bdbdbd;
  position: relative;
  overflow: hidden;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
  text-decoration: none;
  cursor: pointer;
  height: 48px;
  line-height: 48px;
  white-space: nowrap;
  opacity: 0;
  transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.mdl-menu__container.is-visible .mdl-menu__item {
  opacity: 1;
}

.mdl-menu__item::-moz-focus-inner {
  border: 0;
}

.mdl-menu__item--full-bleed-divider {
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

.mdl-menu__item[disabled], .mdl-menu__item[data-mdl-disabled] {
  color: #bdbdbd;
  background-color: transparent;
  cursor: auto;
}

.mdl-menu__item[disabled]:hover, .mdl-menu__item[data-mdl-disabled]:hover {
  background-color: transparent;
}

.mdl-menu__item[disabled]:focus, .mdl-menu__item[data-mdl-disabled]:focus {
  background-color: transparent;
}

.mdl-menu__item[disabled] .mdl-ripple, .mdl-menu__item[data-mdl-disabled] .mdl-ripple {
  background: 0 0;
}

.mdl-menu__item:hover {
  background-color: #eee;
}

.mdl-menu__item:focus {
  outline: none;
  background-color: #eee;
}

.mdl-menu__item:active {
  background-color: #e0e0e0;
}

.mdl-menu__item--ripple-container {
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
  overflow: hidden;
}

.mdl-progress {
  display: block;
  position: relative;
  height: 4px;
  width: 500px;
  max-width: 100%;
}

.mdl-progress > .bar {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 0%;
  transition: width 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.mdl-progress > .progressbar {
  background-color: rgb(66, 133, 244);
  z-index: 1;
  left: 0;
}

.mdl-progress > .bufferbar {
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7)), linear-gradient(to right, rgb(66, 133, 244), rgb(66, 133, 244));
  z-index: 0;
  left: 0;
}

.mdl-progress > .auxbar {
  right: 0;
}

@supports (-webkit-appearance: none) {
  .mdl-progress:not(.mdl-progress--indeterminate):not(.mdl-progress--indeterminate) > .auxbar, .mdl-progress:not(.mdl-progress__indeterminate):not(.mdl-progress__indeterminate) > .auxbar {
    background-image: linear-gradient(to right, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7)), linear-gradient(to right, rgb(66, 133, 244), rgb(66, 133, 244));
    -webkit-mask: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjQiIHZpZXdQb3J0PSIwIDAgMTIgNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxlbGxpcHNlIGN4PSIyIiBjeT0iMiIgcng9IjIiIHJ5PSIyIj4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4IiBmcm9tPSIyIiB0bz0iLTEwIiBkdXI9IjAuNnMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPgogIDwvZWxsaXBzZT4KICA8ZWxsaXBzZSBjeD0iMTQiIGN5PSIyIiByeD0iMiIgcnk9IjIiIGNsYXNzPSJsb2FkZXIiPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3giIGZyb209IjE0IiB0bz0iMiIgZHVyPSIwLjZzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4KICA8L2VsbGlwc2U+Cjwvc3ZnPgo=");
    mask: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjQiIHZpZXdQb3J0PSIwIDAgMTIgNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxlbGxpcHNlIGN4PSIyIiBjeT0iMiIgcng9IjIiIHJ5PSIyIj4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4IiBmcm9tPSIyIiB0bz0iLTEwIiBkdXI9IjAuNnMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPgogIDwvZWxsaXBzZT4KICA8ZWxsaXBzZSBjeD0iMTQiIGN5PSIyIiByeD0iMiIgcnk9IjIiIGNsYXNzPSJsb2FkZXIiPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3giIGZyb209IjE0IiB0bz0iMiIgZHVyPSIwLjZzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4KICA8L2VsbGlwc2U+Cjwvc3ZnPgo=");
  }
}
.mdl-progress:not(.mdl-progress--indeterminate) > .auxbar, .mdl-progress:not(.mdl-progress__indeterminate) > .auxbar {
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9)), linear-gradient(to right, rgb(66, 133, 244), rgb(66, 133, 244));
}

.mdl-progress.mdl-progress--indeterminate > .bar1, .mdl-progress.mdl-progress__indeterminate > .bar1 {
  -webkit-animation-name: indeterminate1;
  animation-name: indeterminate1;
}

.mdl-progress.mdl-progress--indeterminate > .bar1, .mdl-progress.mdl-progress__indeterminate > .bar1, .mdl-progress.mdl-progress--indeterminate > .bar3, .mdl-progress.mdl-progress__indeterminate > .bar3 {
  background-color: rgb(66, 133, 244);
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
}

.mdl-progress.mdl-progress--indeterminate > .bar3, .mdl-progress.mdl-progress__indeterminate > .bar3 {
  background-image: none;
  -webkit-animation-name: indeterminate2;
  animation-name: indeterminate2;
}

@-webkit-keyframes indeterminate1 {
  0% {
    left: 0%;
    width: 0%;
  }
  50% {
    left: 25%;
    width: 75%;
  }
  75% {
    left: 100%;
    width: 0%;
  }
}
@keyframes indeterminate1 {
  0% {
    left: 0%;
    width: 0%;
  }
  50% {
    left: 25%;
    width: 75%;
  }
  75% {
    left: 100%;
    width: 0%;
  }
}
@-webkit-keyframes indeterminate2 {
  0%, 50% {
    left: 0%;
    width: 0%;
  }
  75% {
    left: 0%;
    width: 25%;
  }
  100% {
    left: 100%;
    width: 0%;
  }
}
@keyframes indeterminate2 {
  0%, 50% {
    left: 0%;
    width: 0%;
  }
  75% {
    left: 0%;
    width: 25%;
  }
  100% {
    left: 100%;
    width: 0%;
  }
}
.mdl-navigation {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  box-sizing: border-box;
}

.mdl-navigation__link {
  color: #424242;
  text-decoration: none;
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0;
  opacity: 0.87;
}

.mdl-navigation__link .material-icons {
  vertical-align: middle;
}

.mdl-layout {
  width: 100%;
  height: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow-y: auto;
  overflow-x: hidden;
  position: relative;
  -webkit-overflow-scrolling: touch;
}

.mdl-layout.is-small-screen .mdl-layout--large-screen-only {
  display: none;
}

.mdl-layout:not(.is-small-screen) .mdl-layout--small-screen-only {
  display: none;
}

.mdl-layout__container {
  position: absolute;
  width: 100%;
  height: 100%;
}

.mdl-layout__title, .mdl-layout-title {
  display: block;
  position: relative;
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0.02em;
  font-weight: 400;
  box-sizing: border-box;
}

.mdl-layout-spacer {
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.mdl-layout__drawer {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  width: 240px;
  height: 100%;
  max-height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  box-sizing: border-box;
  border-right: 1px solid #e0e0e0;
  background: #fafafa;
  -webkit-transform: translateX(-250px);
  transform: translateX(-250px);
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  will-change: transform;
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  color: #424242;
  overflow: visible;
  overflow-y: auto;
  z-index: 5;
}

.mdl-layout__drawer.is-visible {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

.mdl-layout__drawer.is-visible ~ .mdl-layout__content.mdl-layout__content {
  overflow: hidden;
}

.mdl-layout__drawer > * {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.mdl-layout__drawer > .mdl-layout__title, .mdl-layout__drawer > .mdl-layout-title {
  line-height: 64px;
  padding-left: 40px;
}

@media screen and (max-width: 1024px) {
  .mdl-layout__drawer > .mdl-layout__title, .mdl-layout__drawer > .mdl-layout-title {
    line-height: 56px;
    padding-left: 16px;
  }
}
.mdl-layout__drawer .mdl-navigation {
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  padding-top: 16px;
}

.mdl-layout__drawer .mdl-navigation .mdl-navigation__link {
  display: block;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding: 16px 40px;
  margin: 0;
  color: #757575;
}

@media screen and (max-width: 1024px) {
  .mdl-layout__drawer .mdl-navigation .mdl-navigation__link {
    padding: 16px;
  }
}
.mdl-layout__drawer .mdl-navigation .mdl-navigation__link:hover {
  background-color: #e0e0e0;
}

.mdl-layout__drawer .mdl-navigation .mdl-navigation__link--current {
  background-color: #e0e0e0;
  color: #000;
}

@media screen and (min-width: 1025px) {
  .mdl-layout--fixed-drawer > .mdl-layout__drawer {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
.mdl-layout__drawer-button {
  display: block;
  position: absolute;
  height: 48px;
  width: 48px;
  border: 0;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  overflow: hidden;
  text-align: center;
  cursor: pointer;
  font-size: 26px;
  line-height: 56px;
  font-family: Helvetica, Arial, sans-serif;
  margin: 8px 12px;
  top: 0;
  left: 0;
  color: rgb(255, 255, 255);
  z-index: 4;
}

.mdl-layout__header .mdl-layout__drawer-button {
  position: absolute;
  color: rgb(255, 255, 255);
  background-color: inherit;
}

@media screen and (max-width: 1024px) {
  .mdl-layout__header .mdl-layout__drawer-button {
    margin: 4px;
  }
}
@media screen and (max-width: 1024px) {
  .mdl-layout__drawer-button {
    margin: 4px;
    color: rgba(0, 0, 0, 0.5);
  }
}
@media screen and (min-width: 1025px) {
  .mdl-layout__drawer-button {
    line-height: 54px;
  }
  .mdl-layout--no-desktop-drawer-button .mdl-layout__drawer-button, .mdl-layout--fixed-drawer > .mdl-layout__drawer-button, .mdl-layout--no-drawer-button .mdl-layout__drawer-button {
    display: none;
  }
}
.mdl-layout__header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  box-sizing: border-box;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  border: none;
  min-height: 64px;
  max-height: 1000px;
  z-index: 3;
  background-color: rgb(66, 133, 244);
  color: rgb(255, 255, 255);
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-property: max-height, box-shadow;
}

@media screen and (max-width: 1024px) {
  .mdl-layout__header {
    min-height: 56px;
  }
}
.mdl-layout--fixed-drawer.is-upgraded:not(.is-small-screen) > .mdl-layout__header {
  margin-left: 240px;
  width: calc(100% - 240px);
}

@media screen and (min-width: 1025px) {
  .mdl-layout--fixed-drawer > .mdl-layout__header .mdl-layout__header-row {
    padding-left: 40px;
  }
}
.mdl-layout__header > .mdl-layout-icon {
  position: absolute;
  left: 40px;
  top: 16px;
  height: 32px;
  width: 32px;
  overflow: hidden;
  z-index: 3;
  display: block;
}

@media screen and (max-width: 1024px) {
  .mdl-layout__header > .mdl-layout-icon {
    left: 16px;
    top: 12px;
  }
}
.mdl-layout.has-drawer .mdl-layout__header > .mdl-layout-icon {
  display: none;
}

.mdl-layout__header.is-compact {
  max-height: 64px;
}

@media screen and (max-width: 1024px) {
  .mdl-layout__header.is-compact {
    max-height: 56px;
  }
}
.mdl-layout__header.is-compact.has-tabs {
  height: 112px;
}

@media screen and (max-width: 1024px) {
  .mdl-layout__header.is-compact.has-tabs {
    min-height: 104px;
  }
}
@media screen and (max-width: 1024px) {
  .mdl-layout__header {
    display: none;
  }
  .mdl-layout--fixed-header > .mdl-layout__header {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}
.mdl-layout__header--transparent.mdl-layout__header--transparent {
  background-color: transparent;
  box-shadow: none;
}

.mdl-layout__header--seamed, .mdl-layout__header--scroll {
  box-shadow: none;
}

.mdl-layout__header--waterfall {
  box-shadow: none;
  overflow: hidden;
}

.mdl-layout__header--waterfall.is-casting-shadow {
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
}

.mdl-layout__header--waterfall.mdl-layout__header--waterfall-hide-top {
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.mdl-layout__header-row {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  box-sizing: border-box;
  -webkit-align-self: stretch;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: 64px;
  margin: 0;
  padding: 0 40px 0 80px;
}

.mdl-layout--no-drawer-button .mdl-layout__header-row {
  padding-left: 40px;
}

@media screen and (min-width: 1025px) {
  .mdl-layout--no-desktop-drawer-button .mdl-layout__header-row {
    padding-left: 40px;
  }
}
@media screen and (max-width: 1024px) {
  .mdl-layout__header-row {
    height: 56px;
    padding: 0 16px 0 72px;
  }
  .mdl-layout--no-drawer-button .mdl-layout__header-row {
    padding-left: 16px;
  }
}
.mdl-layout__header-row > * {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.mdl-layout__header--scroll .mdl-layout__header-row {
  width: 100%;
}

.mdl-layout__header-row .mdl-navigation {
  margin: 0;
  padding: 0;
  height: 64px;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 1024px) {
  .mdl-layout__header-row .mdl-navigation {
    height: 56px;
  }
}
.mdl-layout__header-row .mdl-navigation__link {
  display: block;
  color: rgb(255, 255, 255);
  line-height: 64px;
  padding: 0 24px;
}

@media screen and (max-width: 1024px) {
  .mdl-layout__header-row .mdl-navigation__link {
    line-height: 56px;
    padding: 0 16px;
  }
}
.mdl-layout__obfuscator {
  background-color: transparent;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 4;
  visibility: hidden;
  transition-property: background-color;
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.mdl-layout__obfuscator.is-visible {
  background-color: rgba(0, 0, 0, 0.5);
  visibility: visible;
}

@supports (pointer-events: auto) {
  .mdl-layout__obfuscator {
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 0;
    transition-property: opacity;
    visibility: visible;
    pointer-events: none;
  }
  .mdl-layout__obfuscator.is-visible {
    pointer-events: auto;
    opacity: 1;
  }
}
.mdl-layout__content {
  -ms-flex: 0 1 auto;
  position: relative;
  display: inline-block;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  z-index: 1;
  -webkit-overflow-scrolling: touch;
}

.mdl-layout--fixed-drawer > .mdl-layout__content {
  margin-left: 240px;
}

.mdl-layout__container.has-scrolling-header .mdl-layout__content {
  overflow: visible;
}

@media screen and (max-width: 1024px) {
  .mdl-layout--fixed-drawer > .mdl-layout__content {
    margin-left: 0;
  }
  .mdl-layout__container.has-scrolling-header .mdl-layout__content {
    overflow-y: auto;
    overflow-x: hidden;
  }
}
.mdl-layout__tab-bar {
  height: 96px;
  margin: 0;
  width: calc(100% - 112px);
  padding: 0 0 0 56px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  background-color: rgb(66, 133, 244);
  overflow-y: hidden;
  overflow-x: scroll;
}

.mdl-layout__tab-bar::-webkit-scrollbar {
  display: none;
}

.mdl-layout--no-drawer-button .mdl-layout__tab-bar {
  padding-left: 16px;
  width: calc(100% - 32px);
}

@media screen and (min-width: 1025px) {
  .mdl-layout--no-desktop-drawer-button .mdl-layout__tab-bar {
    padding-left: 16px;
    width: calc(100% - 32px);
  }
}
@media screen and (max-width: 1024px) {
  .mdl-layout__tab-bar {
    width: calc(100% - 60px);
    padding: 0 0 0 60px;
  }
  .mdl-layout--no-drawer-button .mdl-layout__tab-bar {
    width: calc(100% - 8px);
    padding-left: 4px;
  }
}
.mdl-layout--fixed-tabs .mdl-layout__tab-bar {
  padding: 0;
  overflow: hidden;
  width: 100%;
}

.mdl-layout__tab-bar-container {
  position: relative;
  height: 48px;
  width: 100%;
  border: none;
  margin: 0;
  z-index: 2;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  overflow: hidden;
}

.mdl-layout__container > .mdl-layout__tab-bar-container {
  position: absolute;
  top: 0;
  left: 0;
}

.mdl-layout__tab-bar-button {
  display: inline-block;
  position: absolute;
  top: 0;
  height: 48px;
  width: 56px;
  z-index: 4;
  text-align: center;
  background-color: rgb(66, 133, 244);
  color: transparent;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.mdl-layout--no-desktop-drawer-button .mdl-layout__tab-bar-button, .mdl-layout--no-drawer-button .mdl-layout__tab-bar-button {
  width: 16px;
}

.mdl-layout--no-desktop-drawer-button .mdl-layout__tab-bar-button .material-icons, .mdl-layout--no-drawer-button .mdl-layout__tab-bar-button .material-icons {
  position: relative;
  left: -4px;
}

@media screen and (max-width: 1024px) {
  .mdl-layout__tab-bar-button {
    width: 60px;
  }
}
.mdl-layout--fixed-tabs .mdl-layout__tab-bar-button {
  display: none;
}

.mdl-layout__tab-bar-button .material-icons {
  line-height: 48px;
}

.mdl-layout__tab-bar-button.is-active {
  color: rgb(255, 255, 255);
}

.mdl-layout__tab-bar-left-button {
  left: 0;
}

.mdl-layout__tab-bar-right-button {
  right: 0;
}

.mdl-layout__tab {
  margin: 0;
  border: none;
  padding: 0 24px;
  float: left;
  position: relative;
  display: block;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  text-decoration: none;
  height: 48px;
  line-height: 48px;
  text-align: center;
  font-weight: 500;
  font-size: 14px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.6);
  overflow: hidden;
}

@media screen and (max-width: 1024px) {
  .mdl-layout__tab {
    padding: 0 12px;
  }
}
.mdl-layout--fixed-tabs .mdl-layout__tab {
  float: none;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  padding: 0;
}

.mdl-layout.is-upgraded .mdl-layout__tab.is-active {
  color: rgb(255, 255, 255);
}

.mdl-layout.is-upgraded .mdl-layout__tab.is-active::after {
  height: 2px;
  width: 100%;
  display: block;
  content: " ";
  bottom: 0;
  left: 0;
  position: absolute;
  background: rgb(255, 215, 64);
  -webkit-animation: border-expand 0.2s cubic-bezier(0.4, 0, 0.4, 1) 0.01s alternate forwards;
  animation: border-expand 0.2s cubic-bezier(0.4, 0, 0.4, 1) 0.01s alternate forwards;
  transition: all 1s cubic-bezier(0.4, 0, 1, 1);
}

.mdl-layout__tab .mdl-layout__tab-ripple-container {
  display: block;
  position: absolute;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  z-index: 1;
  overflow: hidden;
}

.mdl-layout__tab .mdl-layout__tab-ripple-container .mdl-ripple {
  background-color: rgb(255, 255, 255);
}

.mdl-layout__tab-panel {
  display: block;
}

.mdl-layout.is-upgraded .mdl-layout__tab-panel {
  display: none;
}

.mdl-layout.is-upgraded .mdl-layout__tab-panel.is-active {
  display: block;
}

.mdl-radio {
  position: relative;
  font-size: 16px;
  line-height: 24px;
  display: inline-block;
  vertical-align: middle;
  box-sizing: border-box;
  height: 24px;
  margin: 0;
  padding-left: 0;
}

.mdl-radio.is-upgraded {
  padding-left: 24px;
}

.mdl-radio__button {
  line-height: 24px;
}

.mdl-radio.is-upgraded .mdl-radio__button {
  position: absolute;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
  opacity: 0;
  -ms-appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border: none;
}

.mdl-radio__outer-circle {
  position: absolute;
  top: 4px;
  left: 0;
  display: inline-block;
  box-sizing: border-box;
  width: 16px;
  height: 16px;
  margin: 0;
  cursor: pointer;
  border: 2px solid rgba(0, 0, 0, 0.54);
  border-radius: 50%;
  z-index: 2;
}

.mdl-radio.is-checked .mdl-radio__outer-circle {
  border: 2px solid rgb(66, 133, 244);
}

.mdl-radio__outer-circle fieldset[disabled] .mdl-radio, .mdl-radio.is-disabled .mdl-radio__outer-circle {
  border: 2px solid rgba(0, 0, 0, 0.26);
  cursor: auto;
}

.mdl-radio__inner-circle {
  position: absolute;
  z-index: 1;
  margin: 0;
  top: 8px;
  left: 4px;
  box-sizing: border-box;
  width: 8px;
  height: 8px;
  cursor: pointer;
  transition-duration: 0.28s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transform: scale(0, 0);
  transform: scale(0, 0);
  border-radius: 50%;
  background: rgb(66, 133, 244);
}

.mdl-radio.is-checked .mdl-radio__inner-circle {
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
}

fieldset[disabled] .mdl-radio .mdl-radio__inner-circle, .mdl-radio.is-disabled .mdl-radio__inner-circle {
  background: rgba(0, 0, 0, 0.26);
  cursor: auto;
}

.mdl-radio.is-focused .mdl-radio__inner-circle {
  box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.1);
}

.mdl-radio__label {
  cursor: pointer;
}

fieldset[disabled] .mdl-radio .mdl-radio__label, .mdl-radio.is-disabled .mdl-radio__label {
  color: rgba(0, 0, 0, 0.26);
  cursor: auto;
}

.mdl-radio__ripple-container {
  position: absolute;
  z-index: 2;
  top: -9px;
  left: -13px;
  box-sizing: border-box;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  cursor: pointer;
  overflow: hidden;
  -webkit-mask-image: -webkit-radial-gradient(circle, #fff, #000);
}

.mdl-radio__ripple-container .mdl-ripple {
  background: rgb(66, 133, 244);
}

fieldset[disabled] .mdl-radio .mdl-radio__ripple-container, .mdl-radio.is-disabled .mdl-radio__ripple-container {
  cursor: auto;
}

fieldset[disabled] .mdl-radio .mdl-radio__ripple-container .mdl-ripple, .mdl-radio.is-disabled .mdl-radio__ripple-container .mdl-ripple {
  background: 0 0;
}

_:-ms-input-placeholder, :root .mdl-slider.mdl-slider.is-upgraded {
  -ms-appearance: none;
  height: 32px;
  margin: 0;
}

.mdl-slider {
  width: calc(100% - 40px);
  margin: 0 20px;
}

.mdl-slider.is-upgraded {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  height: 2px;
  background: 0 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  outline: 0;
  padding: 0;
  color: rgb(66, 133, 244);
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
  z-index: 1;
  cursor: pointer;
}

.mdl-slider.is-upgraded::-moz-focus-outer {
  border: 0;
}

.mdl-slider.is-upgraded::-ms-tooltip {
  display: none;
}

.mdl-slider.is-upgraded::-webkit-slider-runnable-track {
  background: 0 0;
}

.mdl-slider.is-upgraded::-moz-range-track {
  background: 0 0;
  border: none;
}

.mdl-slider.is-upgraded::-ms-track {
  background: 0 0;
  color: transparent;
  height: 2px;
  width: 100%;
  border: none;
}

.mdl-slider.is-upgraded::-ms-fill-lower {
  padding: 0;
  background: linear-gradient(to right, transparent, transparent 16px, rgb(66, 133, 244) 16px, rgb(66, 133, 244) 0);
}

.mdl-slider.is-upgraded::-ms-fill-upper {
  padding: 0;
  background: linear-gradient(to left, transparent, transparent 16px, rgba(0, 0, 0, 0.26) 16px, rgba(0, 0, 0, 0.26) 0);
}

.mdl-slider.is-upgraded::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 12px;
  height: 12px;
  box-sizing: border-box;
  border-radius: 50%;
  background: rgb(66, 133, 244);
  border: none;
  transition: transform 0.18s cubic-bezier(0.4, 0, 0.2, 1), border 0.18s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.18s cubic-bezier(0.4, 0, 0.2, 1), background 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 0.18s cubic-bezier(0.4, 0, 0.2, 1), border 0.18s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.18s cubic-bezier(0.4, 0, 0.2, 1), background 0.28s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.18s cubic-bezier(0.4, 0, 0.2, 1);
}

.mdl-slider.is-upgraded::-moz-range-thumb {
  -moz-appearance: none;
  width: 12px;
  height: 12px;
  box-sizing: border-box;
  border-radius: 50%;
  background-image: none;
  background: rgb(66, 133, 244);
  border: none;
}

.mdl-slider.is-upgraded:focus:not(:active)::-webkit-slider-thumb {
  box-shadow: 0 0 0 10px rgba(66, 133, 244, 0.26);
}

.mdl-slider.is-upgraded:focus:not(:active)::-moz-range-thumb {
  box-shadow: 0 0 0 10px rgba(66, 133, 244, 0.26);
}

.mdl-slider.is-upgraded:active::-webkit-slider-thumb {
  background-image: none;
  background: rgb(66, 133, 244);
  -webkit-transform: scale(1.5);
  transform: scale(1.5);
}

.mdl-slider.is-upgraded:active::-moz-range-thumb {
  background-image: none;
  background: rgb(66, 133, 244);
  transform: scale(1.5);
}

.mdl-slider.is-upgraded::-ms-thumb {
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 50%;
  background: rgb(66, 133, 244);
  transform: scale(0.375);
  transition: transform 0.18s cubic-bezier(0.4, 0, 0.2, 1), background 0.28s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 0.18s cubic-bezier(0.4, 0, 0.2, 1), background 0.28s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.18s cubic-bezier(0.4, 0, 0.2, 1);
}

.mdl-slider.is-upgraded:focus:not(:active)::-ms-thumb {
  background: radial-gradient(circle closest-side, rgb(66, 133, 244) 0%, rgb(66, 133, 244) 37.5%, rgba(66, 133, 244, 0.26) 37.5%, rgba(66, 133, 244, 0.26) 100%);
  transform: scale(1);
}

.mdl-slider.is-upgraded:active::-ms-thumb {
  background: rgb(66, 133, 244);
  transform: scale(0.5625);
}

.mdl-slider.is-upgraded.is-lowest-value::-webkit-slider-thumb {
  border: 2px solid rgba(0, 0, 0, 0.26);
  background: 0 0;
}

.mdl-slider.is-upgraded.is-lowest-value::-moz-range-thumb {
  border: 2px solid rgba(0, 0, 0, 0.26);
  background: 0 0;
}

.mdl-slider.is-upgraded.is-lowest-value + .mdl-slider__background-flex > .mdl-slider__background-upper {
  left: 6px;
}

.mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-webkit-slider-thumb {
  box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.12);
  background: rgba(0, 0, 0, 0.12);
}

.mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-moz-range-thumb {
  box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.12);
  background: rgba(0, 0, 0, 0.12);
}

.mdl-slider.is-upgraded.is-lowest-value:active::-webkit-slider-thumb {
  border: 1.6px solid rgba(0, 0, 0, 0.26);
  -webkit-transform: scale(1.5);
  transform: scale(1.5);
}

.mdl-slider.is-upgraded.is-lowest-value:active + .mdl-slider__background-flex > .mdl-slider__background-upper {
  left: 9px;
}

.mdl-slider.is-upgraded.is-lowest-value:active::-moz-range-thumb {
  border: 1.5px solid rgba(0, 0, 0, 0.26);
  transform: scale(1.5);
}

.mdl-slider.is-upgraded.is-lowest-value::-ms-thumb {
  background: radial-gradient(circle closest-side, transparent 0%, transparent 66.67%, rgba(0, 0, 0, 0.26) 66.67%, rgba(0, 0, 0, 0.26) 100%);
}

.mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-ms-thumb {
  background: radial-gradient(circle closest-side, rgba(0, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.12) 25%, rgba(0, 0, 0, 0.26) 25%, rgba(0, 0, 0, 0.26) 37.5%, rgba(0, 0, 0, 0.12) 37.5%, rgba(0, 0, 0, 0.12) 100%);
  transform: scale(1);
}

.mdl-slider.is-upgraded.is-lowest-value:active::-ms-thumb {
  transform: scale(0.5625);
  background: radial-gradient(circle closest-side, transparent 0%, transparent 77.78%, rgba(0, 0, 0, 0.26) 77.78%, rgba(0, 0, 0, 0.26) 100%);
}

.mdl-slider.is-upgraded.is-lowest-value::-ms-fill-lower {
  background: 0 0;
}

.mdl-slider.is-upgraded.is-lowest-value::-ms-fill-upper {
  margin-left: 6px;
}

.mdl-slider.is-upgraded.is-lowest-value:active::-ms-fill-upper {
  margin-left: 9px;
}

.mdl-slider.is-upgraded:disabled:focus::-webkit-slider-thumb, .mdl-slider.is-upgraded:disabled:active::-webkit-slider-thumb, .mdl-slider.is-upgraded:disabled::-webkit-slider-thumb {
  -webkit-transform: scale(0.667);
  transform: scale(0.667);
  background: rgba(0, 0, 0, 0.26);
}

.mdl-slider.is-upgraded:disabled:focus::-moz-range-thumb, .mdl-slider.is-upgraded:disabled:active::-moz-range-thumb, .mdl-slider.is-upgraded:disabled::-moz-range-thumb {
  transform: scale(0.667);
  background: rgba(0, 0, 0, 0.26);
}

.mdl-slider.is-upgraded:disabled + .mdl-slider__background-flex > .mdl-slider__background-lower {
  background-color: rgba(0, 0, 0, 0.26);
  left: -6px;
}

.mdl-slider.is-upgraded:disabled + .mdl-slider__background-flex > .mdl-slider__background-upper {
  left: 6px;
}

.mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-webkit-slider-thumb, .mdl-slider.is-upgraded.is-lowest-value:disabled:active::-webkit-slider-thumb, .mdl-slider.is-upgraded.is-lowest-value:disabled::-webkit-slider-thumb {
  border: 3px solid rgba(0, 0, 0, 0.26);
  background: 0 0;
  -webkit-transform: scale(0.667);
  transform: scale(0.667);
}

.mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-moz-range-thumb, .mdl-slider.is-upgraded.is-lowest-value:disabled:active::-moz-range-thumb, .mdl-slider.is-upgraded.is-lowest-value:disabled::-moz-range-thumb {
  border: 3px solid rgba(0, 0, 0, 0.26);
  background: 0 0;
  transform: scale(0.667);
}

.mdl-slider.is-upgraded.is-lowest-value:disabled:active + .mdl-slider__background-flex > .mdl-slider__background-upper {
  left: 6px;
}

.mdl-slider.is-upgraded:disabled:focus::-ms-thumb, .mdl-slider.is-upgraded:disabled:active::-ms-thumb, .mdl-slider.is-upgraded:disabled::-ms-thumb {
  transform: scale(0.25);
  background: rgba(0, 0, 0, 0.26);
}

.mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-ms-thumb, .mdl-slider.is-upgraded.is-lowest-value:disabled:active::-ms-thumb, .mdl-slider.is-upgraded.is-lowest-value:disabled::-ms-thumb {
  transform: scale(0.25);
  background: radial-gradient(circle closest-side, transparent 0%, transparent 50%, rgba(0, 0, 0, 0.26) 50%, rgba(0, 0, 0, 0.26) 100%);
}

.mdl-slider.is-upgraded:disabled::-ms-fill-lower {
  margin-right: 6px;
  background: linear-gradient(to right, transparent, transparent 25px, rgba(0, 0, 0, 0.26) 25px, rgba(0, 0, 0, 0.26) 0);
}

.mdl-slider.is-upgraded:disabled::-ms-fill-upper {
  margin-left: 6px;
}

.mdl-slider.is-upgraded.is-lowest-value:disabled:active::-ms-fill-upper {
  margin-left: 6px;
}

.mdl-slider__ie-container {
  height: 18px;
  overflow: visible;
  border: none;
  margin: none;
  padding: none;
}

.mdl-slider__container {
  height: 18px;
  position: relative;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
}

.mdl-slider__container, .mdl-slider__background-flex {
  background: 0 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.mdl-slider__background-flex {
  position: absolute;
  height: 2px;
  width: calc(100% - 52px);
  top: 50%;
  left: 0;
  margin: 0 26px;
  overflow: hidden;
  border: 0;
  padding: 0;
  -webkit-transform: translate(0, -1px);
  transform: translate(0, -1px);
}

.mdl-slider__background-lower {
  background: rgb(66, 133, 244);
}

.mdl-slider__background-lower, .mdl-slider__background-upper {
  -webkit-flex: 0;
  -ms-flex: 0;
  flex: 0;
  position: relative;
  border: 0;
  padding: 0;
}

.mdl-slider__background-upper {
  background: rgba(0, 0, 0, 0.26);
  transition: left 0.18s cubic-bezier(0.4, 0, 0.2, 1);
}

.mdl-snackbar {
  position: fixed;
  bottom: 0;
  left: 50%;
  cursor: default;
  background-color: #323232;
  z-index: 3;
  display: block;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
  will-change: transform;
  -webkit-transform: translate(0, 80px);
  transform: translate(0, 80px);
  transition: transform 0.25s cubic-bezier(0.4, 0, 1, 1);
  transition: transform 0.25s cubic-bezier(0.4, 0, 1, 1), -webkit-transform 0.25s cubic-bezier(0.4, 0, 1, 1);
  pointer-events: none;
}

@media (max-width: 479px) {
  .mdl-snackbar {
    width: 100%;
    left: 0;
    min-height: 48px;
    max-height: 80px;
  }
}
@media (min-width: 480px) {
  .mdl-snackbar {
    min-width: 288px;
    max-width: 568px;
    border-radius: 2px;
    -webkit-transform: translate(-50%, 80px);
    transform: translate(-50%, 80px);
  }
}
.mdl-snackbar--active {
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
  pointer-events: auto;
  transition: transform 0.25s cubic-bezier(0, 0, 0.2, 1);
  transition: transform 0.25s cubic-bezier(0, 0, 0.2, 1), -webkit-transform 0.25s cubic-bezier(0, 0, 0.2, 1);
}

@media (min-width: 480px) {
  .mdl-snackbar--active {
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
  }
}
.mdl-snackbar__text {
  padding: 14px 12px 14px 24px;
  vertical-align: middle;
  color: #fff;
  float: left;
}

.mdl-snackbar__action {
  background: 0 0;
  border: none;
  color: rgb(255, 215, 64);
  float: right;
  padding: 14px 24px 14px 12px;
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: 0;
  overflow: hidden;
  outline: none;
  opacity: 0;
  pointer-events: none;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
}

.mdl-snackbar__action::-moz-focus-inner {
  border: 0;
}

.mdl-snackbar__action:not([aria-hidden]) {
  opacity: 1;
  pointer-events: auto;
}

.mdl-spinner {
  display: inline-block;
  position: relative;
  width: 28px;
  height: 28px;
}

.mdl-spinner:not(.is-upgraded).is-active:after {
  content: "Loading...";
}

.mdl-spinner.is-upgraded.is-active {
  -webkit-animation: mdl-spinner__container-rotate 1568.23529412ms linear infinite;
  animation: mdl-spinner__container-rotate 1568.23529412ms linear infinite;
}

@-webkit-keyframes mdl-spinner__container-rotate {
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes mdl-spinner__container-rotate {
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.mdl-spinner__layer {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
}

.mdl-spinner__layer-1 {
  border-color: #42a5f5;
}

.mdl-spinner--single-color .mdl-spinner__layer-1 {
  border-color: rgb(66, 133, 244);
}

.mdl-spinner.is-active .mdl-spinner__layer-1 {
  -webkit-animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-1-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
  animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-1-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

.mdl-spinner__layer-2 {
  border-color: #f44336;
}

.mdl-spinner--single-color .mdl-spinner__layer-2 {
  border-color: rgb(66, 133, 244);
}

.mdl-spinner.is-active .mdl-spinner__layer-2 {
  -webkit-animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-2-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
  animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-2-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

.mdl-spinner__layer-3 {
  border-color: #fdd835;
}

.mdl-spinner--single-color .mdl-spinner__layer-3 {
  border-color: rgb(66, 133, 244);
}

.mdl-spinner.is-active .mdl-spinner__layer-3 {
  -webkit-animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-3-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
  animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-3-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

.mdl-spinner__layer-4 {
  border-color: #4caf50;
}

.mdl-spinner--single-color .mdl-spinner__layer-4 {
  border-color: rgb(66, 133, 244);
}

.mdl-spinner.is-active .mdl-spinner__layer-4 {
  -webkit-animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-4-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
  animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, mdl-spinner__layer-4-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

@-webkit-keyframes mdl-spinner__fill-unfill-rotate {
  12.5% {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  25% {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
  }
  37.5% {
    -webkit-transform: rotate(405deg);
    transform: rotate(405deg);
  }
  50% {
    -webkit-transform: rotate(540deg);
    transform: rotate(540deg);
  }
  62.5% {
    -webkit-transform: rotate(675deg);
    transform: rotate(675deg);
  }
  75% {
    -webkit-transform: rotate(810deg);
    transform: rotate(810deg);
  }
  87.5% {
    -webkit-transform: rotate(945deg);
    transform: rotate(945deg);
  }
  to {
    -webkit-transform: rotate(1080deg);
    transform: rotate(1080deg);
  }
}
@keyframes mdl-spinner__fill-unfill-rotate {
  12.5% {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  25% {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
  }
  37.5% {
    -webkit-transform: rotate(405deg);
    transform: rotate(405deg);
  }
  50% {
    -webkit-transform: rotate(540deg);
    transform: rotate(540deg);
  }
  62.5% {
    -webkit-transform: rotate(675deg);
    transform: rotate(675deg);
  }
  75% {
    -webkit-transform: rotate(810deg);
    transform: rotate(810deg);
  }
  87.5% {
    -webkit-transform: rotate(945deg);
    transform: rotate(945deg);
  }
  to {
    -webkit-transform: rotate(1080deg);
    transform: rotate(1080deg);
  }
}
@-webkit-keyframes mdl-spinner__layer-1-fade-in-out {
  from, 25% {
    opacity: 0.99;
  }
  26%, 89% {
    opacity: 0;
  }
  90%, 100% {
    opacity: 0.99;
  }
}
@keyframes mdl-spinner__layer-1-fade-in-out {
  from, 25% {
    opacity: 0.99;
  }
  26%, 89% {
    opacity: 0;
  }
  90%, 100% {
    opacity: 0.99;
  }
}
@-webkit-keyframes mdl-spinner__layer-2-fade-in-out {
  from, 15% {
    opacity: 0;
  }
  25%, 50% {
    opacity: 0.99;
  }
  51% {
    opacity: 0;
  }
}
@keyframes mdl-spinner__layer-2-fade-in-out {
  from, 15% {
    opacity: 0;
  }
  25%, 50% {
    opacity: 0.99;
  }
  51% {
    opacity: 0;
  }
}
@-webkit-keyframes mdl-spinner__layer-3-fade-in-out {
  from, 40% {
    opacity: 0;
  }
  50%, 75% {
    opacity: 0.99;
  }
  76% {
    opacity: 0;
  }
}
@keyframes mdl-spinner__layer-3-fade-in-out {
  from, 40% {
    opacity: 0;
  }
  50%, 75% {
    opacity: 0.99;
  }
  76% {
    opacity: 0;
  }
}
@-webkit-keyframes mdl-spinner__layer-4-fade-in-out {
  from, 65% {
    opacity: 0;
  }
  75%, 90% {
    opacity: 0.99;
  }
  100% {
    opacity: 0;
  }
}
@keyframes mdl-spinner__layer-4-fade-in-out {
  from, 65% {
    opacity: 0;
  }
  75%, 90% {
    opacity: 0.99;
  }
  100% {
    opacity: 0;
  }
}
.mdl-spinner__gap-patch {
  position: absolute;
  box-sizing: border-box;
  top: 0;
  left: 45%;
  width: 10%;
  height: 100%;
  overflow: hidden;
  border-color: inherit;
}

.mdl-spinner__gap-patch .mdl-spinner__circle {
  width: 1000%;
  left: -450%;
}

.mdl-spinner__circle-clipper {
  display: inline-block;
  position: relative;
  width: 50%;
  height: 100%;
  overflow: hidden;
  border-color: inherit;
}

.mdl-spinner__circle-clipper.mdl-spinner__left {
  float: left;
}

.mdl-spinner__circle-clipper.mdl-spinner__right {
  float: right;
}

.mdl-spinner__circle-clipper .mdl-spinner__circle {
  width: 200%;
}

.mdl-spinner__circle {
  box-sizing: border-box;
  height: 100%;
  border-width: 3px;
  border-style: solid;
  border-color: inherit;
  border-bottom-color: transparent !important;
  border-radius: 50%;
  -webkit-animation: none;
  animation: none;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.mdl-spinner__left .mdl-spinner__circle {
  border-right-color: transparent !important;
  -webkit-transform: rotate(129deg);
  transform: rotate(129deg);
}

.mdl-spinner.is-active .mdl-spinner__left .mdl-spinner__circle {
  -webkit-animation: mdl-spinner__left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
  animation: mdl-spinner__left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

.mdl-spinner__right .mdl-spinner__circle {
  left: -100%;
  border-left-color: transparent !important;
  -webkit-transform: rotate(-129deg);
  transform: rotate(-129deg);
}

.mdl-spinner.is-active .mdl-spinner__right .mdl-spinner__circle {
  -webkit-animation: mdl-spinner__right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
  animation: mdl-spinner__right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

@-webkit-keyframes mdl-spinner__left-spin {
  from {
    -webkit-transform: rotate(130deg);
    transform: rotate(130deg);
  }
  50% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }
  to {
    -webkit-transform: rotate(130deg);
    transform: rotate(130deg);
  }
}
@keyframes mdl-spinner__left-spin {
  from {
    -webkit-transform: rotate(130deg);
    transform: rotate(130deg);
  }
  50% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }
  to {
    -webkit-transform: rotate(130deg);
    transform: rotate(130deg);
  }
}
@-webkit-keyframes mdl-spinner__right-spin {
  from {
    -webkit-transform: rotate(-130deg);
    transform: rotate(-130deg);
  }
  50% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
  }
  to {
    -webkit-transform: rotate(-130deg);
    transform: rotate(-130deg);
  }
}
@keyframes mdl-spinner__right-spin {
  from {
    -webkit-transform: rotate(-130deg);
    transform: rotate(-130deg);
  }
  50% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
  }
  to {
    -webkit-transform: rotate(-130deg);
    transform: rotate(-130deg);
  }
}
.mdl-switch {
  position: relative;
  z-index: 1;
  vertical-align: middle;
  display: inline-block;
  box-sizing: border-box;
  width: 100%;
  height: 24px;
  margin: 0;
  padding: 0;
  overflow: visible;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.mdl-switch.is-upgraded {
  padding-left: 28px;
}

.mdl-switch__input {
  line-height: 24px;
}

.mdl-switch.is-upgraded .mdl-switch__input {
  position: absolute;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
  opacity: 0;
  -ms-appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border: none;
}

.mdl-switch__track {
  background: rgba(0, 0, 0, 0.26);
  position: absolute;
  left: 0;
  top: 5px;
  height: 14px;
  width: 36px;
  border-radius: 14px;
  cursor: pointer;
}

.mdl-switch.is-checked .mdl-switch__track {
  background: rgba(66, 133, 244, 0.5);
}

.mdl-switch__track fieldset[disabled] .mdl-switch, .mdl-switch.is-disabled .mdl-switch__track {
  background: rgba(0, 0, 0, 0.12);
  cursor: auto;
}

.mdl-switch__thumb {
  background: #fafafa;
  position: absolute;
  left: 0;
  top: 2px;
  height: 20px;
  width: 20px;
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  transition-duration: 0.28s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-property: left;
}

.mdl-switch.is-checked .mdl-switch__thumb {
  background: rgb(66, 133, 244);
  left: 16px;
  box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 1px 8px 0 rgba(0, 0, 0, 0.12);
}

.mdl-switch__thumb fieldset[disabled] .mdl-switch, .mdl-switch.is-disabled .mdl-switch__thumb {
  background: #bdbdbd;
  cursor: auto;
}

.mdl-switch__focus-helper {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-4px, -4px);
  transform: translate(-4px, -4px);
  display: inline-block;
  box-sizing: border-box;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: transparent;
}

.mdl-switch.is-focused .mdl-switch__focus-helper {
  box-shadow: 0 0 0 20px rgba(0, 0, 0, 0.1);
  background-color: rgba(0, 0, 0, 0.1);
}

.mdl-switch.is-focused.is-checked .mdl-switch__focus-helper {
  box-shadow: 0 0 0 20px rgba(66, 133, 244, 0.26);
  background-color: rgba(66, 133, 244, 0.26);
}

.mdl-switch__label {
  position: relative;
  cursor: pointer;
  font-size: 16px;
  line-height: 24px;
  margin: 0;
  left: 24px;
}

.mdl-switch__label fieldset[disabled] .mdl-switch, .mdl-switch.is-disabled .mdl-switch__label {
  color: #bdbdbd;
  cursor: auto;
}

.mdl-switch__ripple-container {
  position: absolute;
  z-index: 2;
  top: -12px;
  left: -14px;
  box-sizing: border-box;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  cursor: pointer;
  overflow: hidden;
  -webkit-mask-image: -webkit-radial-gradient(circle, #fff, #000);
  transition-duration: 0.4s;
  transition-timing-function: step-end;
  transition-property: left;
}

.mdl-switch__ripple-container .mdl-ripple {
  background: rgb(66, 133, 244);
}

.mdl-switch__ripple-container fieldset[disabled] .mdl-switch, .mdl-switch.is-disabled .mdl-switch__ripple-container {
  cursor: auto;
}

fieldset[disabled] .mdl-switch .mdl-switch__ripple-container .mdl-ripple, .mdl-switch.is-disabled .mdl-switch__ripple-container .mdl-ripple {
  background: 0 0;
}

.mdl-switch.is-checked .mdl-switch__ripple-container {
  left: 2px;
}

.mdl-tabs {
  display: block;
  width: 100%;
}

.mdl-tabs__tab-bar {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-content: space-between;
  -ms-flex-line-pack: justify;
  align-content: space-between;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  height: 48px;
  padding: 0;
  margin: 0;
  border-bottom: 1px solid #e0e0e0;
}

.mdl-tabs__tab {
  margin: 0;
  border: none;
  padding: 0 24px;
  float: left;
  position: relative;
  display: block;
  text-decoration: none;
  height: 48px;
  line-height: 48px;
  text-align: center;
  font-weight: 500;
  font-size: 14px;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.54);
  overflow: hidden;
}

.mdl-tabs.is-upgraded .mdl-tabs__tab.is-active {
  color: rgba(0, 0, 0, 0.87);
}

.mdl-tabs.is-upgraded .mdl-tabs__tab.is-active:after {
  height: 2px;
  width: 100%;
  display: block;
  content: " ";
  bottom: 0;
  left: 0;
  position: absolute;
  background: rgb(66, 133, 244);
  -webkit-animation: border-expand 0.2s cubic-bezier(0.4, 0, 0.4, 1) 0.01s alternate forwards;
  animation: border-expand 0.2s cubic-bezier(0.4, 0, 0.4, 1) 0.01s alternate forwards;
  transition: all 1s cubic-bezier(0.4, 0, 1, 1);
}

.mdl-tabs__tab .mdl-tabs__ripple-container {
  display: block;
  position: absolute;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  z-index: 1;
  overflow: hidden;
}

.mdl-tabs__tab .mdl-tabs__ripple-container .mdl-ripple {
  background: rgb(66, 133, 244);
}

.mdl-tabs__panel {
  display: block;
}

.mdl-tabs.is-upgraded .mdl-tabs__panel {
  display: none;
}

.mdl-tabs.is-upgraded .mdl-tabs__panel.is-active {
  display: block;
}

@-webkit-keyframes border-expand {
  0% {
    opacity: 0;
    width: 0;
  }
  100% {
    opacity: 1;
    width: 100%;
  }
}
@keyframes border-expand {
  0% {
    opacity: 0;
    width: 0;
  }
  100% {
    opacity: 1;
    width: 100%;
  }
}
.mdl-textfield {
  position: relative;
  font-size: 16px;
  display: inline-block;
  box-sizing: border-box;
  width: 300px;
  max-width: 100%;
  margin: 0;
  padding: 20px 0;
}

.mdl-textfield .mdl-button {
  position: absolute;
  bottom: 20px;
}

.mdl-textfield--align-right {
  text-align: right;
}

.mdl-textfield--full-width {
  width: 100%;
}

.mdl-textfield--expandable {
  min-width: 32px;
  width: auto;
  min-height: 32px;
}

.mdl-textfield--expandable .mdl-button--icon {
  top: 16px;
}

.mdl-textfield__input {
  border: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
  display: block;
  font-size: 16px;
  font-family: "Helvetica", "Arial", sans-serif;
  margin: 0;
  padding: 4px 0;
  width: 100%;
  background: 0 0;
  text-align: left;
  color: inherit;
}

.mdl-textfield__input[type=number] {
  -moz-appearance: textfield;
}

.mdl-textfield__input[type=number]::-webkit-inner-spin-button, .mdl-textfield__input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.mdl-textfield.is-focused .mdl-textfield__input {
  outline: none;
}

.mdl-textfield.is-invalid .mdl-textfield__input {
  border-color: #d50000;
  box-shadow: none;
}

fieldset[disabled] .mdl-textfield .mdl-textfield__input, .mdl-textfield.is-disabled .mdl-textfield__input {
  background-color: transparent;
  border-bottom: 1px dotted rgba(0, 0, 0, 0.12);
  color: rgba(0, 0, 0, 0.26);
}

.mdl-textfield textarea.mdl-textfield__input {
  display: block;
}

.mdl-textfield__label {
  bottom: 0;
  color: rgba(0, 0, 0, 0.26);
  font-size: 16px;
  left: 0;
  right: 0;
  pointer-events: none;
  position: absolute;
  display: block;
  top: 24px;
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-align: left;
}

.mdl-textfield.is-dirty .mdl-textfield__label, .mdl-textfield.has-placeholder .mdl-textfield__label {
  visibility: hidden;
}

.mdl-textfield--floating-label .mdl-textfield__label {
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.mdl-textfield--floating-label.has-placeholder .mdl-textfield__label {
  transition: none;
}

fieldset[disabled] .mdl-textfield .mdl-textfield__label, .mdl-textfield.is-disabled.is-disabled .mdl-textfield__label {
  color: rgba(0, 0, 0, 0.26);
}

.mdl-textfield--floating-label.is-focused .mdl-textfield__label, .mdl-textfield--floating-label.is-dirty .mdl-textfield__label, .mdl-textfield--floating-label.has-placeholder .mdl-textfield__label {
  color: rgb(66, 133, 244);
  font-size: 12px;
  top: 4px;
  visibility: visible;
}

.mdl-textfield--floating-label.is-focused .mdl-textfield__expandable-holder .mdl-textfield__label, .mdl-textfield--floating-label.is-dirty .mdl-textfield__expandable-holder .mdl-textfield__label, .mdl-textfield--floating-label.has-placeholder .mdl-textfield__expandable-holder .mdl-textfield__label {
  top: -16px;
}

.mdl-textfield--floating-label.is-invalid .mdl-textfield__label {
  color: #d50000;
  font-size: 12px;
}

.mdl-textfield__label:after {
  background-color: rgb(66, 133, 244);
  bottom: 20px;
  content: "";
  height: 2px;
  left: 45%;
  position: absolute;
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  visibility: hidden;
  width: 10px;
}

.mdl-textfield.is-focused .mdl-textfield__label:after {
  left: 0;
  visibility: visible;
  width: 100%;
}

.mdl-textfield.is-invalid .mdl-textfield__label:after {
  background-color: #d50000;
}

.mdl-textfield__error {
  color: #d50000;
  position: absolute;
  font-size: 12px;
  margin-top: 3px;
  visibility: hidden;
  display: block;
}

.mdl-textfield.is-invalid .mdl-textfield__error {
  visibility: visible;
}

.mdl-textfield__expandable-holder {
  display: inline-block;
  position: relative;
  margin-left: 32px;
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  display: inline-block;
  max-width: 0.1px;
}

.mdl-textfield.is-focused .mdl-textfield__expandable-holder, .mdl-textfield.is-dirty .mdl-textfield__expandable-holder {
  max-width: 600px;
}

.mdl-textfield__expandable-holder .mdl-textfield__label:after {
  bottom: 0;
}

.mdl-tooltip {
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: top center;
  transform-origin: top center;
  z-index: 999;
  background: rgba(97, 97, 97, 0.9);
  border-radius: 2px;
  color: #fff;
  display: inline-block;
  font-size: 10px;
  font-weight: 500;
  line-height: 14px;
  max-width: 170px;
  position: fixed;
  top: -500px;
  left: -500px;
  padding: 8px;
  text-align: center;
}

.mdl-tooltip.is-active {
  -webkit-animation: pulse 200ms cubic-bezier(0, 0, 0.2, 1) forwards;
  animation: pulse 200ms cubic-bezier(0, 0, 0.2, 1) forwards;
}

.mdl-tooltip--large {
  line-height: 14px;
  font-size: 14px;
  padding: 16px;
}

@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
    opacity: 0;
  }
  50% {
    -webkit-transform: scale(0.99);
    transform: scale(0.99);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
    visibility: visible;
  }
}
@keyframes pulse {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
    opacity: 0;
  }
  50% {
    -webkit-transform: scale(0.99);
    transform: scale(0.99);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
    visibility: visible;
  }
}
.mdl-shadow--2dp {
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
}

.mdl-shadow--3dp {
  box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 1px 8px 0 rgba(0, 0, 0, 0.12);
}

.mdl-shadow--4dp {
  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.2);
}

.mdl-shadow--6dp {
  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.2);
}

.mdl-shadow--8dp {
  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.2);
}

.mdl-shadow--16dp {
  box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2);
}

.mdl-shadow--24dp {
  box-shadow: 0 9px 46px 8px rgba(0, 0, 0, 0.14), 0 11px 15px -7px rgba(0, 0, 0, 0.12), 0 24px 38px 3px rgba(0, 0, 0, 0.2);
}

.mdl-grid {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  margin: 0 auto;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.mdl-grid.mdl-grid--no-spacing {
  padding: 0;
}

.mdl-cell {
  box-sizing: border-box;
}

.mdl-cell--top {
  -webkit-align-self: flex-start;
  -ms-flex-item-align: start;
  align-self: flex-start;
}

.mdl-cell--middle {
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
}

.mdl-cell--bottom {
  -webkit-align-self: flex-end;
  -ms-flex-item-align: end;
  align-self: flex-end;
}

.mdl-cell--stretch {
  -webkit-align-self: stretch;
  -ms-flex-item-align: stretch;
  -ms-grid-row-align: stretch;
  align-self: stretch;
}

.mdl-grid.mdl-grid--no-spacing > .mdl-cell {
  margin: 0;
}

.mdl-cell--order-1 {
  -webkit-order: 1;
  -ms-flex-order: 1;
  order: 1;
}

.mdl-cell--order-2 {
  -webkit-order: 2;
  -ms-flex-order: 2;
  order: 2;
}

.mdl-cell--order-3 {
  -webkit-order: 3;
  -ms-flex-order: 3;
  order: 3;
}

.mdl-cell--order-4 {
  -webkit-order: 4;
  -ms-flex-order: 4;
  order: 4;
}

.mdl-cell--order-5 {
  -webkit-order: 5;
  -ms-flex-order: 5;
  order: 5;
}

.mdl-cell--order-6 {
  -webkit-order: 6;
  -ms-flex-order: 6;
  order: 6;
}

.mdl-cell--order-7 {
  -webkit-order: 7;
  -ms-flex-order: 7;
  order: 7;
}

.mdl-cell--order-8 {
  -webkit-order: 8;
  -ms-flex-order: 8;
  order: 8;
}

.mdl-cell--order-9 {
  -webkit-order: 9;
  -ms-flex-order: 9;
  order: 9;
}

.mdl-cell--order-10 {
  -webkit-order: 10;
  -ms-flex-order: 10;
  order: 10;
}

.mdl-cell--order-11 {
  -webkit-order: 11;
  -ms-flex-order: 11;
  order: 11;
}

.mdl-cell--order-12 {
  -webkit-order: 12;
  -ms-flex-order: 12;
  order: 12;
}

@media (max-width: 479px) {
  .mdl-grid {
    padding: 8px;
  }
  .mdl-cell {
    margin: 8px;
    width: calc(100% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell {
    width: 100%;
  }
  .mdl-cell--hide-phone {
    display: none !important;
  }
  .mdl-cell--order-1-phone.mdl-cell--order-1-phone {
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
  }
  .mdl-cell--order-2-phone.mdl-cell--order-2-phone {
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
  }
  .mdl-cell--order-3-phone.mdl-cell--order-3-phone {
    -webkit-order: 3;
    -ms-flex-order: 3;
    order: 3;
  }
  .mdl-cell--order-4-phone.mdl-cell--order-4-phone {
    -webkit-order: 4;
    -ms-flex-order: 4;
    order: 4;
  }
  .mdl-cell--order-5-phone.mdl-cell--order-5-phone {
    -webkit-order: 5;
    -ms-flex-order: 5;
    order: 5;
  }
  .mdl-cell--order-6-phone.mdl-cell--order-6-phone {
    -webkit-order: 6;
    -ms-flex-order: 6;
    order: 6;
  }
  .mdl-cell--order-7-phone.mdl-cell--order-7-phone {
    -webkit-order: 7;
    -ms-flex-order: 7;
    order: 7;
  }
  .mdl-cell--order-8-phone.mdl-cell--order-8-phone {
    -webkit-order: 8;
    -ms-flex-order: 8;
    order: 8;
  }
  .mdl-cell--order-9-phone.mdl-cell--order-9-phone {
    -webkit-order: 9;
    -ms-flex-order: 9;
    order: 9;
  }
  .mdl-cell--order-10-phone.mdl-cell--order-10-phone {
    -webkit-order: 10;
    -ms-flex-order: 10;
    order: 10;
  }
  .mdl-cell--order-11-phone.mdl-cell--order-11-phone {
    -webkit-order: 11;
    -ms-flex-order: 11;
    order: 11;
  }
  .mdl-cell--order-12-phone.mdl-cell--order-12-phone {
    -webkit-order: 12;
    -ms-flex-order: 12;
    order: 12;
  }
  .mdl-cell--1-col, .mdl-cell--1-col-phone.mdl-cell--1-col-phone {
    width: calc(25% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--1-col, .mdl-grid--no-spacing > .mdl-cell--1-col-phone.mdl-cell--1-col-phone {
    width: 25%;
  }
  .mdl-cell--2-col, .mdl-cell--2-col-phone.mdl-cell--2-col-phone {
    width: calc(50% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--2-col, .mdl-grid--no-spacing > .mdl-cell--2-col-phone.mdl-cell--2-col-phone {
    width: 50%;
  }
  .mdl-cell--3-col, .mdl-cell--3-col-phone.mdl-cell--3-col-phone {
    width: calc(75% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--3-col, .mdl-grid--no-spacing > .mdl-cell--3-col-phone.mdl-cell--3-col-phone {
    width: 75%;
  }
  .mdl-cell--4-col, .mdl-cell--4-col-phone.mdl-cell--4-col-phone {
    width: calc(100% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--4-col, .mdl-grid--no-spacing > .mdl-cell--4-col-phone.mdl-cell--4-col-phone {
    width: 100%;
  }
  .mdl-cell--5-col, .mdl-cell--5-col-phone.mdl-cell--5-col-phone {
    width: calc(100% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--5-col, .mdl-grid--no-spacing > .mdl-cell--5-col-phone.mdl-cell--5-col-phone {
    width: 100%;
  }
  .mdl-cell--6-col, .mdl-cell--6-col-phone.mdl-cell--6-col-phone {
    width: calc(100% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--6-col, .mdl-grid--no-spacing > .mdl-cell--6-col-phone.mdl-cell--6-col-phone {
    width: 100%;
  }
  .mdl-cell--7-col, .mdl-cell--7-col-phone.mdl-cell--7-col-phone {
    width: calc(100% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--7-col, .mdl-grid--no-spacing > .mdl-cell--7-col-phone.mdl-cell--7-col-phone {
    width: 100%;
  }
  .mdl-cell--8-col, .mdl-cell--8-col-phone.mdl-cell--8-col-phone {
    width: calc(100% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--8-col, .mdl-grid--no-spacing > .mdl-cell--8-col-phone.mdl-cell--8-col-phone {
    width: 100%;
  }
  .mdl-cell--9-col, .mdl-cell--9-col-phone.mdl-cell--9-col-phone {
    width: calc(100% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--9-col, .mdl-grid--no-spacing > .mdl-cell--9-col-phone.mdl-cell--9-col-phone {
    width: 100%;
  }
  .mdl-cell--10-col, .mdl-cell--10-col-phone.mdl-cell--10-col-phone {
    width: calc(100% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--10-col, .mdl-grid--no-spacing > .mdl-cell--10-col-phone.mdl-cell--10-col-phone {
    width: 100%;
  }
  .mdl-cell--11-col, .mdl-cell--11-col-phone.mdl-cell--11-col-phone {
    width: calc(100% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--11-col, .mdl-grid--no-spacing > .mdl-cell--11-col-phone.mdl-cell--11-col-phone {
    width: 100%;
  }
  .mdl-cell--12-col, .mdl-cell--12-col-phone.mdl-cell--12-col-phone {
    width: calc(100% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--12-col, .mdl-grid--no-spacing > .mdl-cell--12-col-phone.mdl-cell--12-col-phone {
    width: 100%;
  }
  .mdl-cell--1-offset, .mdl-cell--1-offset-phone.mdl-cell--1-offset-phone {
    margin-left: calc(25% + 8px);
  }
  .mdl-grid.mdl-grid--no-spacing > .mdl-cell--1-offset, .mdl-grid.mdl-grid--no-spacing > .mdl-cell--1-offset-phone.mdl-cell--1-offset-phone {
    margin-left: 25%;
  }
  .mdl-cell--2-offset, .mdl-cell--2-offset-phone.mdl-cell--2-offset-phone {
    margin-left: calc(50% + 8px);
  }
  .mdl-grid.mdl-grid--no-spacing > .mdl-cell--2-offset, .mdl-grid.mdl-grid--no-spacing > .mdl-cell--2-offset-phone.mdl-cell--2-offset-phone {
    margin-left: 50%;
  }
  .mdl-cell--3-offset, .mdl-cell--3-offset-phone.mdl-cell--3-offset-phone {
    margin-left: calc(75% + 8px);
  }
  .mdl-grid.mdl-grid--no-spacing > .mdl-cell--3-offset, .mdl-grid.mdl-grid--no-spacing > .mdl-cell--3-offset-phone.mdl-cell--3-offset-phone {
    margin-left: 75%;
  }
}
@media (min-width: 480px) and (max-width: 839px) {
  .mdl-grid {
    padding: 8px;
  }
  .mdl-cell {
    margin: 8px;
    width: calc(50% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell {
    width: 50%;
  }
  .mdl-cell--hide-tablet {
    display: none !important;
  }
  .mdl-cell--order-1-tablet.mdl-cell--order-1-tablet {
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
  }
  .mdl-cell--order-2-tablet.mdl-cell--order-2-tablet {
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
  }
  .mdl-cell--order-3-tablet.mdl-cell--order-3-tablet {
    -webkit-order: 3;
    -ms-flex-order: 3;
    order: 3;
  }
  .mdl-cell--order-4-tablet.mdl-cell--order-4-tablet {
    -webkit-order: 4;
    -ms-flex-order: 4;
    order: 4;
  }
  .mdl-cell--order-5-tablet.mdl-cell--order-5-tablet {
    -webkit-order: 5;
    -ms-flex-order: 5;
    order: 5;
  }
  .mdl-cell--order-6-tablet.mdl-cell--order-6-tablet {
    -webkit-order: 6;
    -ms-flex-order: 6;
    order: 6;
  }
  .mdl-cell--order-7-tablet.mdl-cell--order-7-tablet {
    -webkit-order: 7;
    -ms-flex-order: 7;
    order: 7;
  }
  .mdl-cell--order-8-tablet.mdl-cell--order-8-tablet {
    -webkit-order: 8;
    -ms-flex-order: 8;
    order: 8;
  }
  .mdl-cell--order-9-tablet.mdl-cell--order-9-tablet {
    -webkit-order: 9;
    -ms-flex-order: 9;
    order: 9;
  }
  .mdl-cell--order-10-tablet.mdl-cell--order-10-tablet {
    -webkit-order: 10;
    -ms-flex-order: 10;
    order: 10;
  }
  .mdl-cell--order-11-tablet.mdl-cell--order-11-tablet {
    -webkit-order: 11;
    -ms-flex-order: 11;
    order: 11;
  }
  .mdl-cell--order-12-tablet.mdl-cell--order-12-tablet {
    -webkit-order: 12;
    -ms-flex-order: 12;
    order: 12;
  }
  .mdl-cell--1-col, .mdl-cell--1-col-tablet.mdl-cell--1-col-tablet {
    width: calc(12.5% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--1-col, .mdl-grid--no-spacing > .mdl-cell--1-col-tablet.mdl-cell--1-col-tablet {
    width: 12.5%;
  }
  .mdl-cell--2-col, .mdl-cell--2-col-tablet.mdl-cell--2-col-tablet {
    width: calc(25% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--2-col, .mdl-grid--no-spacing > .mdl-cell--2-col-tablet.mdl-cell--2-col-tablet {
    width: 25%;
  }
  .mdl-cell--3-col, .mdl-cell--3-col-tablet.mdl-cell--3-col-tablet {
    width: calc(37.5% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--3-col, .mdl-grid--no-spacing > .mdl-cell--3-col-tablet.mdl-cell--3-col-tablet {
    width: 37.5%;
  }
  .mdl-cell--4-col, .mdl-cell--4-col-tablet.mdl-cell--4-col-tablet {
    width: calc(50% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--4-col, .mdl-grid--no-spacing > .mdl-cell--4-col-tablet.mdl-cell--4-col-tablet {
    width: 50%;
  }
  .mdl-cell--5-col, .mdl-cell--5-col-tablet.mdl-cell--5-col-tablet {
    width: calc(62.5% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--5-col, .mdl-grid--no-spacing > .mdl-cell--5-col-tablet.mdl-cell--5-col-tablet {
    width: 62.5%;
  }
  .mdl-cell--6-col, .mdl-cell--6-col-tablet.mdl-cell--6-col-tablet {
    width: calc(75% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--6-col, .mdl-grid--no-spacing > .mdl-cell--6-col-tablet.mdl-cell--6-col-tablet {
    width: 75%;
  }
  .mdl-cell--7-col, .mdl-cell--7-col-tablet.mdl-cell--7-col-tablet {
    width: calc(87.5% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--7-col, .mdl-grid--no-spacing > .mdl-cell--7-col-tablet.mdl-cell--7-col-tablet {
    width: 87.5%;
  }
  .mdl-cell--8-col, .mdl-cell--8-col-tablet.mdl-cell--8-col-tablet {
    width: calc(100% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--8-col, .mdl-grid--no-spacing > .mdl-cell--8-col-tablet.mdl-cell--8-col-tablet {
    width: 100%;
  }
  .mdl-cell--9-col, .mdl-cell--9-col-tablet.mdl-cell--9-col-tablet {
    width: calc(100% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--9-col, .mdl-grid--no-spacing > .mdl-cell--9-col-tablet.mdl-cell--9-col-tablet {
    width: 100%;
  }
  .mdl-cell--10-col, .mdl-cell--10-col-tablet.mdl-cell--10-col-tablet {
    width: calc(100% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--10-col, .mdl-grid--no-spacing > .mdl-cell--10-col-tablet.mdl-cell--10-col-tablet {
    width: 100%;
  }
  .mdl-cell--11-col, .mdl-cell--11-col-tablet.mdl-cell--11-col-tablet {
    width: calc(100% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--11-col, .mdl-grid--no-spacing > .mdl-cell--11-col-tablet.mdl-cell--11-col-tablet {
    width: 100%;
  }
  .mdl-cell--12-col, .mdl-cell--12-col-tablet.mdl-cell--12-col-tablet {
    width: calc(100% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--12-col, .mdl-grid--no-spacing > .mdl-cell--12-col-tablet.mdl-cell--12-col-tablet {
    width: 100%;
  }
  .mdl-cell--1-offset, .mdl-cell--1-offset-tablet.mdl-cell--1-offset-tablet {
    margin-left: calc(12.5% + 8px);
  }
  .mdl-grid.mdl-grid--no-spacing > .mdl-cell--1-offset, .mdl-grid.mdl-grid--no-spacing > .mdl-cell--1-offset-tablet.mdl-cell--1-offset-tablet {
    margin-left: 12.5%;
  }
  .mdl-cell--2-offset, .mdl-cell--2-offset-tablet.mdl-cell--2-offset-tablet {
    margin-left: calc(25% + 8px);
  }
  .mdl-grid.mdl-grid--no-spacing > .mdl-cell--2-offset, .mdl-grid.mdl-grid--no-spacing > .mdl-cell--2-offset-tablet.mdl-cell--2-offset-tablet {
    margin-left: 25%;
  }
  .mdl-cell--3-offset, .mdl-cell--3-offset-tablet.mdl-cell--3-offset-tablet {
    margin-left: calc(37.5% + 8px);
  }
  .mdl-grid.mdl-grid--no-spacing > .mdl-cell--3-offset, .mdl-grid.mdl-grid--no-spacing > .mdl-cell--3-offset-tablet.mdl-cell--3-offset-tablet {
    margin-left: 37.5%;
  }
  .mdl-cell--4-offset, .mdl-cell--4-offset-tablet.mdl-cell--4-offset-tablet {
    margin-left: calc(50% + 8px);
  }
  .mdl-grid.mdl-grid--no-spacing > .mdl-cell--4-offset, .mdl-grid.mdl-grid--no-spacing > .mdl-cell--4-offset-tablet.mdl-cell--4-offset-tablet {
    margin-left: 50%;
  }
  .mdl-cell--5-offset, .mdl-cell--5-offset-tablet.mdl-cell--5-offset-tablet {
    margin-left: calc(62.5% + 8px);
  }
  .mdl-grid.mdl-grid--no-spacing > .mdl-cell--5-offset, .mdl-grid.mdl-grid--no-spacing > .mdl-cell--5-offset-tablet.mdl-cell--5-offset-tablet {
    margin-left: 62.5%;
  }
  .mdl-cell--6-offset, .mdl-cell--6-offset-tablet.mdl-cell--6-offset-tablet {
    margin-left: calc(75% + 8px);
  }
  .mdl-grid.mdl-grid--no-spacing > .mdl-cell--6-offset, .mdl-grid.mdl-grid--no-spacing > .mdl-cell--6-offset-tablet.mdl-cell--6-offset-tablet {
    margin-left: 75%;
  }
  .mdl-cell--7-offset, .mdl-cell--7-offset-tablet.mdl-cell--7-offset-tablet {
    margin-left: calc(87.5% + 8px);
  }
  .mdl-grid.mdl-grid--no-spacing > .mdl-cell--7-offset, .mdl-grid.mdl-grid--no-spacing > .mdl-cell--7-offset-tablet.mdl-cell--7-offset-tablet {
    margin-left: 87.5%;
  }
}
@media (min-width: 840px) {
  .mdl-grid {
    padding: 8px;
  }
  .mdl-cell {
    margin: 8px;
    width: calc(33.3333333333% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell {
    width: 33.3333333333%;
  }
  .mdl-cell--hide-desktop {
    display: none !important;
  }
  .mdl-cell--order-1-desktop.mdl-cell--order-1-desktop {
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
  }
  .mdl-cell--order-2-desktop.mdl-cell--order-2-desktop {
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
  }
  .mdl-cell--order-3-desktop.mdl-cell--order-3-desktop {
    -webkit-order: 3;
    -ms-flex-order: 3;
    order: 3;
  }
  .mdl-cell--order-4-desktop.mdl-cell--order-4-desktop {
    -webkit-order: 4;
    -ms-flex-order: 4;
    order: 4;
  }
  .mdl-cell--order-5-desktop.mdl-cell--order-5-desktop {
    -webkit-order: 5;
    -ms-flex-order: 5;
    order: 5;
  }
  .mdl-cell--order-6-desktop.mdl-cell--order-6-desktop {
    -webkit-order: 6;
    -ms-flex-order: 6;
    order: 6;
  }
  .mdl-cell--order-7-desktop.mdl-cell--order-7-desktop {
    -webkit-order: 7;
    -ms-flex-order: 7;
    order: 7;
  }
  .mdl-cell--order-8-desktop.mdl-cell--order-8-desktop {
    -webkit-order: 8;
    -ms-flex-order: 8;
    order: 8;
  }
  .mdl-cell--order-9-desktop.mdl-cell--order-9-desktop {
    -webkit-order: 9;
    -ms-flex-order: 9;
    order: 9;
  }
  .mdl-cell--order-10-desktop.mdl-cell--order-10-desktop {
    -webkit-order: 10;
    -ms-flex-order: 10;
    order: 10;
  }
  .mdl-cell--order-11-desktop.mdl-cell--order-11-desktop {
    -webkit-order: 11;
    -ms-flex-order: 11;
    order: 11;
  }
  .mdl-cell--order-12-desktop.mdl-cell--order-12-desktop {
    -webkit-order: 12;
    -ms-flex-order: 12;
    order: 12;
  }
  .mdl-cell--1-col, .mdl-cell--1-col-desktop.mdl-cell--1-col-desktop {
    width: calc(8.3333333333% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--1-col, .mdl-grid--no-spacing > .mdl-cell--1-col-desktop.mdl-cell--1-col-desktop {
    width: 8.3333333333%;
  }
  .mdl-cell--2-col, .mdl-cell--2-col-desktop.mdl-cell--2-col-desktop {
    width: calc(16.6666666667% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--2-col, .mdl-grid--no-spacing > .mdl-cell--2-col-desktop.mdl-cell--2-col-desktop {
    width: 16.6666666667%;
  }
  .mdl-cell--3-col, .mdl-cell--3-col-desktop.mdl-cell--3-col-desktop {
    width: calc(25% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--3-col, .mdl-grid--no-spacing > .mdl-cell--3-col-desktop.mdl-cell--3-col-desktop {
    width: 25%;
  }
  .mdl-cell--4-col, .mdl-cell--4-col-desktop.mdl-cell--4-col-desktop {
    width: calc(33.3333333333% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--4-col, .mdl-grid--no-spacing > .mdl-cell--4-col-desktop.mdl-cell--4-col-desktop {
    width: 33.3333333333%;
  }
  .mdl-cell--5-col, .mdl-cell--5-col-desktop.mdl-cell--5-col-desktop {
    width: calc(41.6666666667% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--5-col, .mdl-grid--no-spacing > .mdl-cell--5-col-desktop.mdl-cell--5-col-desktop {
    width: 41.6666666667%;
  }
  .mdl-cell--6-col, .mdl-cell--6-col-desktop.mdl-cell--6-col-desktop {
    width: calc(50% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--6-col, .mdl-grid--no-spacing > .mdl-cell--6-col-desktop.mdl-cell--6-col-desktop {
    width: 50%;
  }
  .mdl-cell--7-col, .mdl-cell--7-col-desktop.mdl-cell--7-col-desktop {
    width: calc(58.3333333333% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--7-col, .mdl-grid--no-spacing > .mdl-cell--7-col-desktop.mdl-cell--7-col-desktop {
    width: 58.3333333333%;
  }
  .mdl-cell--8-col, .mdl-cell--8-col-desktop.mdl-cell--8-col-desktop {
    width: calc(66.6666666667% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--8-col, .mdl-grid--no-spacing > .mdl-cell--8-col-desktop.mdl-cell--8-col-desktop {
    width: 66.6666666667%;
  }
  .mdl-cell--9-col, .mdl-cell--9-col-desktop.mdl-cell--9-col-desktop {
    width: calc(75% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--9-col, .mdl-grid--no-spacing > .mdl-cell--9-col-desktop.mdl-cell--9-col-desktop {
    width: 75%;
  }
  .mdl-cell--10-col, .mdl-cell--10-col-desktop.mdl-cell--10-col-desktop {
    width: calc(83.3333333333% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--10-col, .mdl-grid--no-spacing > .mdl-cell--10-col-desktop.mdl-cell--10-col-desktop {
    width: 83.3333333333%;
  }
  .mdl-cell--11-col, .mdl-cell--11-col-desktop.mdl-cell--11-col-desktop {
    width: calc(91.6666666667% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--11-col, .mdl-grid--no-spacing > .mdl-cell--11-col-desktop.mdl-cell--11-col-desktop {
    width: 91.6666666667%;
  }
  .mdl-cell--12-col, .mdl-cell--12-col-desktop.mdl-cell--12-col-desktop {
    width: calc(100% - 16px);
  }
  .mdl-grid--no-spacing > .mdl-cell--12-col, .mdl-grid--no-spacing > .mdl-cell--12-col-desktop.mdl-cell--12-col-desktop {
    width: 100%;
  }
  .mdl-cell--1-offset, .mdl-cell--1-offset-desktop.mdl-cell--1-offset-desktop {
    margin-left: calc(8.3333333333% + 8px);
  }
  .mdl-grid.mdl-grid--no-spacing > .mdl-cell--1-offset, .mdl-grid.mdl-grid--no-spacing > .mdl-cell--1-offset-desktop.mdl-cell--1-offset-desktop {
    margin-left: 8.3333333333%;
  }
  .mdl-cell--2-offset, .mdl-cell--2-offset-desktop.mdl-cell--2-offset-desktop {
    margin-left: calc(16.6666666667% + 8px);
  }
  .mdl-grid.mdl-grid--no-spacing > .mdl-cell--2-offset, .mdl-grid.mdl-grid--no-spacing > .mdl-cell--2-offset-desktop.mdl-cell--2-offset-desktop {
    margin-left: 16.6666666667%;
  }
  .mdl-cell--3-offset, .mdl-cell--3-offset-desktop.mdl-cell--3-offset-desktop {
    margin-left: calc(25% + 8px);
  }
  .mdl-grid.mdl-grid--no-spacing > .mdl-cell--3-offset, .mdl-grid.mdl-grid--no-spacing > .mdl-cell--3-offset-desktop.mdl-cell--3-offset-desktop {
    margin-left: 25%;
  }
  .mdl-cell--4-offset, .mdl-cell--4-offset-desktop.mdl-cell--4-offset-desktop {
    margin-left: calc(33.3333333333% + 8px);
  }
  .mdl-grid.mdl-grid--no-spacing > .mdl-cell--4-offset, .mdl-grid.mdl-grid--no-spacing > .mdl-cell--4-offset-desktop.mdl-cell--4-offset-desktop {
    margin-left: 33.3333333333%;
  }
  .mdl-cell--5-offset, .mdl-cell--5-offset-desktop.mdl-cell--5-offset-desktop {
    margin-left: calc(41.6666666667% + 8px);
  }
  .mdl-grid.mdl-grid--no-spacing > .mdl-cell--5-offset, .mdl-grid.mdl-grid--no-spacing > .mdl-cell--5-offset-desktop.mdl-cell--5-offset-desktop {
    margin-left: 41.6666666667%;
  }
  .mdl-cell--6-offset, .mdl-cell--6-offset-desktop.mdl-cell--6-offset-desktop {
    margin-left: calc(50% + 8px);
  }
  .mdl-grid.mdl-grid--no-spacing > .mdl-cell--6-offset, .mdl-grid.mdl-grid--no-spacing > .mdl-cell--6-offset-desktop.mdl-cell--6-offset-desktop {
    margin-left: 50%;
  }
  .mdl-cell--7-offset, .mdl-cell--7-offset-desktop.mdl-cell--7-offset-desktop {
    margin-left: calc(58.3333333333% + 8px);
  }
  .mdl-grid.mdl-grid--no-spacing > .mdl-cell--7-offset, .mdl-grid.mdl-grid--no-spacing > .mdl-cell--7-offset-desktop.mdl-cell--7-offset-desktop {
    margin-left: 58.3333333333%;
  }
  .mdl-cell--8-offset, .mdl-cell--8-offset-desktop.mdl-cell--8-offset-desktop {
    margin-left: calc(66.6666666667% + 8px);
  }
  .mdl-grid.mdl-grid--no-spacing > .mdl-cell--8-offset, .mdl-grid.mdl-grid--no-spacing > .mdl-cell--8-offset-desktop.mdl-cell--8-offset-desktop {
    margin-left: 66.6666666667%;
  }
  .mdl-cell--9-offset, .mdl-cell--9-offset-desktop.mdl-cell--9-offset-desktop {
    margin-left: calc(75% + 8px);
  }
  .mdl-grid.mdl-grid--no-spacing > .mdl-cell--9-offset, .mdl-grid.mdl-grid--no-spacing > .mdl-cell--9-offset-desktop.mdl-cell--9-offset-desktop {
    margin-left: 75%;
  }
  .mdl-cell--10-offset, .mdl-cell--10-offset-desktop.mdl-cell--10-offset-desktop {
    margin-left: calc(83.3333333333% + 8px);
  }
  .mdl-grid.mdl-grid--no-spacing > .mdl-cell--10-offset, .mdl-grid.mdl-grid--no-spacing > .mdl-cell--10-offset-desktop.mdl-cell--10-offset-desktop {
    margin-left: 83.3333333333%;
  }
  .mdl-cell--11-offset, .mdl-cell--11-offset-desktop.mdl-cell--11-offset-desktop {
    margin-left: calc(91.6666666667% + 8px);
  }
  .mdl-grid.mdl-grid--no-spacing > .mdl-cell--11-offset, .mdl-grid.mdl-grid--no-spacing > .mdl-cell--11-offset-desktop.mdl-cell--11-offset-desktop {
    margin-left: 91.6666666667%;
  }
}
body {
  margin: 0;
}

.styleguide-demo h1 {
  margin: 48px 24px 0;
}

.styleguide-demo h1:after {
  content: "";
  display: block;
  width: 100%;
  border-bottom: 1px solid rgba(0, 0, 0, 0.5);
  margin-top: 24px;
}

.styleguide-demo {
  opacity: 0;
  transition: opacity 0.6s ease;
}

.styleguide-masthead {
  height: 256px;
  background: #212121;
  padding: 115px 16px 0;
}

.styleguide-container {
  position: relative;
  max-width: 960px;
  width: 100%;
}

.styleguide-title {
  color: #fff;
  bottom: auto;
  position: relative;
  font-size: 56px;
  font-weight: 300;
  line-height: 1;
  letter-spacing: -0.02em;
}

.styleguide-title:after {
  border-bottom: 0;
}

.styleguide-title span {
  font-weight: 300;
}

.mdl-styleguide .mdl-layout__drawer .mdl-navigation__link {
  padding: 10px 24px;
}

.demosLoaded .styleguide-demo {
  opacity: 1;
}

iframe {
  display: block;
  width: 100%;
  border: none;
}

iframe.heightSet {
  overflow: hidden;
}

.demo-wrapper {
  margin: 24px;
}

.demo-wrapper iframe {
  border: 1px solid rgba(0, 0, 0, 0.5);
}

/*!
Chosen, a Select Box Enhancer for jQuery and Prototype
by Patrick Filler for Harvest, http://getharvest.com

Version 1.8.7
Full source at https://github.com/harvesthq/chosen
Copyright (c) 2011-2018 Harvest http://getharvest.com

MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
This file is generated by `grunt build`, do not edit it by hand.
*/
/* @group Base */
.chosen-container {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  font-size: 13px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.chosen-container * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.chosen-container .chosen-drop {
  position: absolute;
  top: 100%;
  z-index: 1010;
  width: 100%;
  border: 1px solid #aaa;
  border-top: 0;
  background: #fff;
  -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
  clip: rect(0, 0, 0, 0);
  -webkit-clip-path: inset(100% 100%);
  clip-path: inset(100% 100%);
}

.chosen-container.chosen-with-drop .chosen-drop {
  clip: auto;
  -webkit-clip-path: none;
  clip-path: none;
}

.chosen-container a {
  cursor: pointer;
}

.chosen-container .search-choice .group-name, .chosen-container .chosen-single .group-name {
  margin-right: 4px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-weight: normal;
  color: #999999;
}

.chosen-container .search-choice .group-name:after, .chosen-container .chosen-single .group-name:after {
  content: ":";
  padding-left: 2px;
  vertical-align: top;
}

/* @end */
/* @group Single Chosen */
.chosen-container-single .chosen-single {
  position: relative;
  display: block;
  overflow: hidden;
  padding: 0 0 0 8px;
  height: 25px;
  border: 1px solid #aaa;
  border-radius: 5px;
  background-color: #fff;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(20%, #fff), color-stop(50%, #f6f6f6), color-stop(52%, #eee), to(#f4f4f4));
  background: linear-gradient(#fff 20%, #f6f6f6 50%, #eee 52%, #f4f4f4 100%);
  background-clip: padding-box;
  -webkit-box-shadow: 0 0 3px #fff inset, 0 1px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 3px #fff inset, 0 1px 1px rgba(0, 0, 0, 0.1);
  color: #444;
  text-decoration: none;
  white-space: nowrap;
  line-height: 24px;
}

.chosen-container-single .chosen-default {
  color: #999;
}

.chosen-container-single .chosen-single span {
  display: block;
  overflow: hidden;
  margin-right: 26px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chosen-container-single .chosen-single-with-deselect span {
  margin-right: 38px;
}

.chosen-container-single .chosen-single abbr {
  position: absolute;
  top: 6px;
  right: 26px;
  display: block;
  width: 12px;
  height: 12px;
  background: url("/assets/chosen-sprite-f7fbca86a2def90ffc360ca93fe262a90a00ea53.png") -42px 1px no-repeat;
  font-size: 1px;
}

.chosen-container-single .chosen-single abbr:hover {
  background-position: -42px -10px;
}

.chosen-container-single.chosen-disabled .chosen-single abbr:hover {
  background-position: -42px -10px;
}

.chosen-container-single .chosen-single div {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 18px;
  height: 100%;
}

.chosen-container-single .chosen-single div b {
  display: block;
  width: 100%;
  height: 100%;
  background: url("/assets/chosen-sprite-f7fbca86a2def90ffc360ca93fe262a90a00ea53.png") no-repeat 0px 2px;
}

.chosen-container-single .chosen-search {
  position: relative;
  z-index: 1010;
  margin: 0;
  padding: 3px 4px;
  white-space: nowrap;
}

.chosen-container-single .chosen-search input[type=text] {
  margin: 1px 0;
  padding: 4px 20px 4px 5px;
  width: 100%;
  height: auto;
  outline: 0;
  border: 1px solid #aaa;
  background: url("/assets/chosen-sprite-f7fbca86a2def90ffc360ca93fe262a90a00ea53.png") no-repeat 100% -20px;
  font-size: 1em;
  font-family: sans-serif;
  line-height: normal;
  border-radius: 0;
}

.chosen-container-single .chosen-drop {
  margin-top: -1px;
  border-radius: 0 0 4px 4px;
  background-clip: padding-box;
}

.chosen-container-single.chosen-container-single-nosearch .chosen-search {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  -webkit-clip-path: inset(100% 100%);
  clip-path: inset(100% 100%);
}

/* @end */
/* @group Results */
.chosen-container .chosen-results {
  color: #444;
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  margin: 0 4px 4px 0;
  padding: 0 0 0 4px;
  max-height: 240px;
  -webkit-overflow-scrolling: touch;
}

.chosen-container .chosen-results li {
  display: none;
  margin: 0;
  padding: 5px 6px;
  list-style: none;
  line-height: 15px;
  word-wrap: break-word;
  -webkit-touch-callout: none;
}

.chosen-container .chosen-results li.active-result {
  display: list-item;
  cursor: pointer;
}

.chosen-container .chosen-results li.disabled-result {
  display: list-item;
  color: #ccc;
  cursor: default;
}

.chosen-container .chosen-results li.highlighted {
  background-color: #3875d7;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, #3875d7), color-stop(90%, #2a62bc));
  background-image: linear-gradient(#3875d7 20%, #2a62bc 90%);
  color: #fff;
}

.chosen-container .chosen-results li.no-results {
  color: #777;
  display: list-item;
  background: #f4f4f4;
}

.chosen-container .chosen-results li.group-result {
  display: list-item;
  font-weight: bold;
  cursor: default;
}

.chosen-container .chosen-results li.group-option {
  padding-left: 15px;
}

.chosen-container .chosen-results li em {
  font-style: normal;
  text-decoration: underline;
}

/* @end */
/* @group Multi Chosen */
.chosen-container-multi .chosen-choices {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 0 5px;
  width: 100%;
  height: auto;
  border: 1px solid #aaa;
  background-color: #fff;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(1%, #eee), color-stop(15%, #fff));
  background-image: linear-gradient(#eee 1%, #fff 15%);
  cursor: text;
}

.chosen-container-multi .chosen-choices li {
  float: left;
  list-style: none;
}

.chosen-container-multi .chosen-choices li.search-field {
  margin: 0;
  padding: 0;
  white-space: nowrap;
}

.chosen-container-multi .chosen-choices li.search-field input[type=text] {
  margin: 1px 0;
  padding: 0;
  height: 25px;
  outline: 0;
  border: 0 !important;
  background: transparent !important;
  -webkit-box-shadow: none;
  box-shadow: none;
  color: #999;
  font-size: 100%;
  font-family: sans-serif;
  line-height: normal;
  border-radius: 0;
  width: 25px;
}

.chosen-container-multi .chosen-choices li.search-choice {
  position: relative;
  margin: 3px 5px 3px 0;
  padding: 3px 20px 3px 5px;
  border: 1px solid #aaa;
  max-width: 100%;
  border-radius: 3px;
  background-color: #eeeeee;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), to(#eee));
  background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
  background-size: 100% 19px;
  background-repeat: repeat-x;
  background-clip: padding-box;
  -webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
  box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
  color: #333;
  line-height: 13px;
  cursor: default;
}

.chosen-container-multi .chosen-choices li.search-choice span {
  word-wrap: break-word;
}

.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
  position: absolute;
  top: 4px;
  right: 3px;
  display: block;
  width: 12px;
  height: 12px;
  background: url("/assets/chosen-sprite-f7fbca86a2def90ffc360ca93fe262a90a00ea53.png") -42px 1px no-repeat;
  font-size: 1px;
}

.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {
  background-position: -42px -10px;
}

.chosen-container-multi .chosen-choices li.search-choice-disabled {
  padding-right: 5px;
  border: 1px solid #ccc;
  background-color: #e4e4e4;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), to(#eee));
  background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
  color: #666;
}

.chosen-container-multi .chosen-choices li.search-choice-focus {
  background: #d4d4d4;
}

.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close {
  background-position: -42px -10px;
}

.chosen-container-multi .chosen-results {
  margin: 0;
  padding: 0;
}

.chosen-container-multi .chosen-drop .result-selected {
  display: list-item;
  color: #ccc;
  cursor: default;
}

/* @end */
/* @group Active  */
.chosen-container-active .chosen-single {
  border: 1px solid #5897fb;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}

.chosen-container-active.chosen-with-drop .chosen-single {
  border: 1px solid #aaa;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, #eee), color-stop(80%, #fff));
  background-image: linear-gradient(#eee 20%, #fff 80%);
  -webkit-box-shadow: 0 1px 0 #fff inset;
  box-shadow: 0 1px 0 #fff inset;
}

.chosen-container-active.chosen-with-drop .chosen-single div {
  border-left: none;
  background: transparent;
}

.chosen-container-active.chosen-with-drop .chosen-single div b {
  background-position: -18px 2px;
}

.chosen-container-active .chosen-choices {
  border: 1px solid #5897fb;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}

.chosen-container-active .chosen-choices li.search-field input[type=text] {
  color: #222 !important;
}

/* @end */
/* @group Disabled Support */
.chosen-disabled {
  opacity: 0.5 !important;
  cursor: default;
}

.chosen-disabled .chosen-single {
  cursor: default;
}

.chosen-disabled .chosen-choices .search-choice .search-choice-close {
  cursor: default;
}

/* @end */
/* @group Right to Left */
.chosen-rtl {
  text-align: right;
}

.chosen-rtl .chosen-single {
  overflow: visible;
  padding: 0 8px 0 0;
}

.chosen-rtl .chosen-single span {
  margin-right: 0;
  margin-left: 26px;
  direction: rtl;
}

.chosen-rtl .chosen-single-with-deselect span {
  margin-left: 38px;
}

.chosen-rtl .chosen-single div {
  right: auto;
  left: 3px;
}

.chosen-rtl .chosen-single abbr {
  right: auto;
  left: 26px;
}

.chosen-rtl .chosen-choices li {
  float: right;
}

.chosen-rtl .chosen-choices li.search-field input[type=text] {
  direction: rtl;
}

.chosen-rtl .chosen-choices li.search-choice {
  margin: 3px 5px 3px 0;
  padding: 3px 5px 3px 19px;
}

.chosen-rtl .chosen-choices li.search-choice .search-choice-close {
  right: auto;
  left: 4px;
}

.chosen-rtl.chosen-container-single .chosen-results {
  margin: 0 0 4px 4px;
  padding: 0 4px 0 0;
}

.chosen-rtl .chosen-results li.group-option {
  padding-right: 15px;
  padding-left: 0;
}

.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div {
  border-right: none;
}

.chosen-rtl .chosen-search input[type=text] {
  padding: 4px 5px 4px 20px;
  background: url("/assets/chosen-sprite-f7fbca86a2def90ffc360ca93fe262a90a00ea53.png") no-repeat -30px -20px;
  direction: rtl;
}

.chosen-rtl.chosen-container-single .chosen-single div b {
  background-position: 6px 2px;
}

.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b {
  background-position: -12px 2px;
}

/* @end */
/* @group Retina compatibility */
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
  .chosen-rtl .chosen-search input[type=text],
  .chosen-container-single .chosen-single abbr,
  .chosen-container-single .chosen-single div b,
  .chosen-container-single .chosen-search input[type=text],
  .chosen-container-multi .chosen-choices .search-choice .search-choice-close,
  .chosen-container .chosen-results-scroll-down span,
  .chosen-container .chosen-results-scroll-up span {
    background-image: url("/assets/chosen-sprite@2x-c4cb34f06a336abadd0939d8c02c9356ce38b1a3.png") !important;
    background-size: 52px 37px !important;
    background-repeat: no-repeat !important;
  }
}
/* @end */
/*! jQuery UI - v1.12.1 - 2016-10-13
* http://jqueryui.com
* Includes: core.css, autocomplete.css, menu.css, theme.css
* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=base&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cc0000&fcError=5f3f3f&borderColorError=f1a899&bgTextureError=flat&bgColorError=fddfdf&iconColorHighlight=777620&fcHighlight=777620&borderColorHighlight=dad55e&bgTextureHighlight=flat&bgColorHighlight=fffa90&iconColorActive=ffffff&fcActive=ffffff&borderColorActive=003eff&bgTextureActive=flat&bgColorActive=007fff&iconColorHover=555555&fcHover=2b2b2b&borderColorHover=cccccc&bgTextureHover=flat&bgColorHover=ededed&iconColorDefault=777777&fcDefault=454545&borderColorDefault=c5c5c5&bgTextureDefault=flat&bgColorDefault=f6f6f6&iconColorContent=444444&fcContent=333333&borderColorContent=dddddd&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=444444&fcHeader=333333&borderColorHeader=dddddd&bgTextureHeader=flat&bgColorHeader=e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif
* Copyright jQuery Foundation and other contributors; Licensed MIT */
/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
  display: none;
}

.ui-helper-hidden-accessible {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.ui-helper-reset {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  line-height: 1.3;
  text-decoration: none;
  font-size: 100%;
  list-style: none;
}

.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
  content: "";
  display: table;
  border-collapse: collapse;
}

.ui-helper-clearfix:after {
  clear: both;
}

.ui-helper-zfix {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  opacity: 0;
  filter: Alpha(Opacity=0); /* support: IE8 */
}

.ui-front {
  z-index: 100;
}

/* Interaction Cues
----------------------------------*/
.ui-state-disabled {
  cursor: default !important;
  pointer-events: none;
}

/* Icons
----------------------------------*/
.ui-icon {
  display: inline-block;
  vertical-align: middle;
  margin-top: -0.25em;
  position: relative;
  text-indent: -99999px;
  overflow: hidden;
  background-repeat: no-repeat;
}

.ui-widget-icon-block {
  left: 50%;
  margin-left: -8px;
  display: block;
}

/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ui-autocomplete {
  position: absolute;
  top: 0;
  left: 0;
  cursor: default;
}

.ui-menu {
  list-style: none;
  padding: 0;
  margin: 0;
  display: block;
  outline: 0;
}

.ui-menu .ui-menu {
  position: absolute;
}

.ui-menu .ui-menu-item {
  margin: 0;
  cursor: pointer;
  /* support: IE10, see #8844 */
  list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
}

.ui-menu .ui-menu-item-wrapper {
  position: relative;
  padding: 3px 1em 3px 0.4em;
}

.ui-menu .ui-menu-divider {
  margin: 5px 0;
  height: 0;
  font-size: 0;
  line-height: 0;
  border-width: 1px 0 0 0;
}

.ui-menu .ui-state-focus,
.ui-menu .ui-state-active {
  margin: -1px;
}

/* icon support */
.ui-menu-icons {
  position: relative;
}

.ui-menu-icons .ui-menu-item-wrapper {
  padding-left: 2em;
}

/* left-aligned */
.ui-menu .ui-icon {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0.2em;
  margin: auto 0;
}

/* right-aligned */
.ui-menu .ui-menu-icon {
  left: auto;
  right: 0;
}

/* Component containers
----------------------------------*/
.ui-widget {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1em;
}

.ui-widget .ui-widget {
  font-size: 1em;
}

.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1em;
}

.ui-widget.ui-widget-content {
  border: 1px solid #c5c5c5;
}

.ui-widget-content {
  border: 1px solid #dddddd;
  background: #ffffff;
  color: #333333;
}

.ui-widget-content a {
  color: #333333;
}

.ui-widget-header {
  border: 1px solid #dddddd;
  background: #e9e9e9;
  color: #333333;
  font-weight: bold;
}

.ui-widget-header a {
  color: #333333;
}

/* Interaction states
----------------------------------*/
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button,
html .ui-button.ui-state-disabled:hover,
html .ui-button.ui-state-disabled:active {
  border: 1px solid #c5c5c5;
  background: #f6f6f6;
  font-weight: normal;
  color: #454545;
}

.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited,
a.ui-button,
a:link.ui-button,
a:visited.ui-button,
.ui-button {
  color: #454545;
  text-decoration: none;
}

.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus,
.ui-button:hover,
.ui-button:focus {
  border: 1px solid #cccccc;
  background: #ededed;
  font-weight: normal;
  color: #2b2b2b;
}

.ui-state-hover a,
.ui-state-hover a:hover,
.ui-state-hover a:link,
.ui-state-hover a:visited,
.ui-state-focus a,
.ui-state-focus a:hover,
.ui-state-focus a:link,
.ui-state-focus a:visited,
a.ui-button:hover,
a.ui-button:focus {
  color: #2b2b2b;
  text-decoration: none;
}

.ui-visual-focus {
  box-shadow: 0 0 3px 1px rgb(94, 158, 214);
}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
  border: 1px solid #003eff;
  background: #007fff;
  font-weight: normal;
  color: #ffffff;
}

.ui-icon-background,
.ui-state-active .ui-icon-background {
  border: #003eff;
  background-color: #ffffff;
}

.ui-state-active a,
.ui-state-active a:link,
.ui-state-active a:visited {
  color: #ffffff;
  text-decoration: none;
}

/* Interaction Cues
----------------------------------*/
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
  border: 1px solid #dad55e;
  background: #fffa90;
  color: #777620;
}

.ui-state-checked {
  border: 1px solid #dad55e;
  background: #fffa90;
}

.ui-state-highlight a,
.ui-widget-content .ui-state-highlight a,
.ui-widget-header .ui-state-highlight a {
  color: #777620;
}

.ui-state-error,
.ui-widget-content .ui-state-error,
.ui-widget-header .ui-state-error {
  border: 1px solid #f1a899;
  background: #fddfdf;
  color: #5f3f3f;
}

.ui-state-error a,
.ui-widget-content .ui-state-error a,
.ui-widget-header .ui-state-error a {
  color: #5f3f3f;
}

.ui-state-error-text,
.ui-widget-content .ui-state-error-text,
.ui-widget-header .ui-state-error-text {
  color: #5f3f3f;
}

.ui-priority-primary,
.ui-widget-content .ui-priority-primary,
.ui-widget-header .ui-priority-primary {
  font-weight: bold;
}

.ui-priority-secondary,
.ui-widget-content .ui-priority-secondary,
.ui-widget-header .ui-priority-secondary {
  opacity: 0.7;
  filter: Alpha(Opacity=70); /* support: IE8 */
  font-weight: normal;
}

.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
  opacity: 0.35;
  filter: Alpha(Opacity=35); /* support: IE8 */
  background-image: none;
}

.ui-state-disabled .ui-icon {
  filter: Alpha(Opacity=35); /* support: IE8 - See #6059 */
}

/* Misc visuals
----------------------------------*/
/* Corner radius */
.ui-corner-all,
.ui-corner-top,
.ui-corner-left,
.ui-corner-tl {
  border-top-left-radius: 3px;
}

.ui-corner-all,
.ui-corner-top,
.ui-corner-right,
.ui-corner-tr {
  border-top-right-radius: 3px;
}

.ui-corner-all,
.ui-corner-bottom,
.ui-corner-left,
.ui-corner-bl {
  border-bottom-left-radius: 3px;
}

.ui-corner-all,
.ui-corner-bottom,
.ui-corner-right,
.ui-corner-br {
  border-bottom-right-radius: 3px;
}

/* Overlays */
.ui-widget-overlay {
  background: #aaaaaa;
  opacity: 0.3;
  filter: Alpha(Opacity=30); /* support: IE8 */
}

.ui-widget-shadow {
  -webkit-box-shadow: 0px 0px 5px #666666;
  box-shadow: 0px 0px 5px #666666;
}

.flatpickr-calendar {
  background: transparent;
  opacity: 0;
  display: none;
  text-align: center;
  visibility: hidden;
  padding: 0;
  -webkit-animation: none;
  animation: none;
  direction: ltr;
  border: 0;
  font-size: 14px;
  line-height: 24px;
  border-radius: 5px;
  position: absolute;
  width: 307.875px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  background: #fff;
  -webkit-box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08);
  box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08);
}

.flatpickr-calendar.open, .flatpickr-calendar.inline {
  opacity: 1;
  max-height: 640px;
  visibility: visible;
}

.flatpickr-calendar.open {
  display: inline-block;
  z-index: 99999;
}

.flatpickr-calendar.animate.open {
  -webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
  animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

.flatpickr-calendar.inline {
  display: block;
  position: relative;
  top: 2px;
}

.flatpickr-calendar.static {
  position: absolute;
  top: calc(100% + 2px);
}

.flatpickr-calendar.static.open {
  z-index: 999;
  display: block;
}

.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
  -webkit-box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
  box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}

.flatpickr-calendar .hasWeeks .dayContainer, .flatpickr-calendar .hasTime .dayContainer {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.flatpickr-calendar .hasWeeks .dayContainer {
  border-left: 0;
}

.flatpickr-calendar.hasTime .flatpickr-time {
  height: 40px;
  border-top: 1px solid #e6e6e6;
}

.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
  height: auto;
}

.flatpickr-calendar:before, .flatpickr-calendar:after {
  position: absolute;
  display: block;
  pointer-events: none;
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  left: 22px;
}

.flatpickr-calendar.rightMost:before, .flatpickr-calendar.arrowRight:before, .flatpickr-calendar.rightMost:after, .flatpickr-calendar.arrowRight:after {
  left: auto;
  right: 22px;
}

.flatpickr-calendar.arrowCenter:before, .flatpickr-calendar.arrowCenter:after {
  left: 50%;
  right: 50%;
}

.flatpickr-calendar:before {
  border-width: 5px;
  margin: 0 -5px;
}

.flatpickr-calendar:after {
  border-width: 4px;
  margin: 0 -4px;
}

.flatpickr-calendar.arrowTop:before, .flatpickr-calendar.arrowTop:after {
  bottom: 100%;
}

.flatpickr-calendar.arrowTop:before {
  border-bottom-color: #e6e6e6;
}

.flatpickr-calendar.arrowTop:after {
  border-bottom-color: #fff;
}

.flatpickr-calendar.arrowBottom:before, .flatpickr-calendar.arrowBottom:after {
  top: 100%;
}

.flatpickr-calendar.arrowBottom:before {
  border-top-color: #e6e6e6;
}

.flatpickr-calendar.arrowBottom:after {
  border-top-color: #fff;
}

.flatpickr-calendar:focus {
  outline: 0;
}

.flatpickr-wrapper {
  position: relative;
  display: inline-block;
}

.flatpickr-months {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.flatpickr-months .flatpickr-month {
  background: transparent;
  color: rgba(0, 0, 0, 0.9);
  fill: rgba(0, 0, 0, 0.9);
  height: 34px;
  line-height: 1;
  text-align: center;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  overflow: hidden;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  text-decoration: none;
  cursor: pointer;
  position: absolute;
  top: 0;
  height: 34px;
  padding: 10px;
  z-index: 3;
  color: rgba(0, 0, 0, 0.9);
  fill: rgba(0, 0, 0, 0.9);
}

.flatpickr-months .flatpickr-prev-month.flatpickr-disabled, .flatpickr-months .flatpickr-next-month.flatpickr-disabled {
  display: none;
}

.flatpickr-months .flatpickr-prev-month i, .flatpickr-months .flatpickr-next-month i {
  position: relative;
}

.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month, .flatpickr-months .flatpickr-next-month.flatpickr-prev-month { /*
/*rtl:begin:ignore*/
  left: 0;
} /*
/*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month.flatpickr-next-month, .flatpickr-months .flatpickr-next-month.flatpickr-next-month { /*
/*rtl:begin:ignore*/
  right: 0;
} /*
/*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month:hover, .flatpickr-months .flatpickr-next-month:hover {
  color: #959ea9;
}

.flatpickr-months .flatpickr-prev-month:hover svg, .flatpickr-months .flatpickr-next-month:hover svg {
  fill: #f64747;
}

.flatpickr-months .flatpickr-prev-month svg, .flatpickr-months .flatpickr-next-month svg {
  width: 14px;
  height: 14px;
}

.flatpickr-months .flatpickr-prev-month svg path, .flatpickr-months .flatpickr-next-month svg path {
  -webkit-transition: fill 0.1s;
  transition: fill 0.1s;
  fill: inherit;
}

.numInputWrapper {
  position: relative;
  height: auto;
}

.numInputWrapper input, .numInputWrapper span {
  display: inline-block;
}

.numInputWrapper input {
  width: 100%;
}

.numInputWrapper input::-ms-clear {
  display: none;
}

.numInputWrapper input::-webkit-outer-spin-button, .numInputWrapper input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.numInputWrapper span {
  position: absolute;
  right: 0;
  width: 14px;
  padding: 0 4px 0 2px;
  height: 50%;
  line-height: 50%;
  opacity: 0;
  cursor: pointer;
  border: 1px solid rgba(57, 57, 57, 0.15);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.numInputWrapper span:hover {
  background: rgba(0, 0, 0, 0.1);
}

.numInputWrapper span:active {
  background: rgba(0, 0, 0, 0.2);
}

.numInputWrapper span:after {
  display: block;
  content: "";
  position: absolute;
}

.numInputWrapper span.arrowUp {
  top: 0;
  border-bottom: 0;
}

.numInputWrapper span.arrowUp:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 4px solid rgba(57, 57, 57, 0.6);
  top: 26%;
}

.numInputWrapper span.arrowDown {
  top: 50%;
}

.numInputWrapper span.arrowDown:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid rgba(57, 57, 57, 0.6);
  top: 40%;
}

.numInputWrapper span svg {
  width: inherit;
  height: auto;
}

.numInputWrapper span svg path {
  fill: rgba(0, 0, 0, 0.5);
}

.numInputWrapper:hover {
  background: rgba(0, 0, 0, 0.05);
}

.numInputWrapper:hover span {
  opacity: 1;
}

.flatpickr-current-month {
  font-size: 135%;
  line-height: inherit;
  font-weight: 300;
  color: inherit;
  position: absolute;
  width: 75%;
  left: 12.5%;
  padding: 7.48px 0 0 0;
  line-height: 1;
  height: 34px;
  display: inline-block;
  text-align: center;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.flatpickr-current-month span.cur-month {
  font-family: inherit;
  font-weight: 700;
  color: inherit;
  display: inline-block;
  margin-left: 0.5ch;
  padding: 0;
}

.flatpickr-current-month span.cur-month:hover {
  background: rgba(0, 0, 0, 0.05);
}

.flatpickr-current-month .numInputWrapper {
  width: 6ch;
  width: 7ch\0 ;
  display: inline-block;
}

.flatpickr-current-month .numInputWrapper span.arrowUp:after {
  border-bottom-color: rgba(0, 0, 0, 0.9);
}

.flatpickr-current-month .numInputWrapper span.arrowDown:after {
  border-top-color: rgba(0, 0, 0, 0.9);
}

.flatpickr-current-month input.cur-year {
  background: transparent;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: inherit;
  cursor: text;
  padding: 0 0 0 0.5ch;
  margin: 0;
  display: inline-block;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  line-height: inherit;
  height: auto;
  border: 0;
  border-radius: 0;
  vertical-align: initial;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}

.flatpickr-current-month input.cur-year:focus {
  outline: 0;
}

.flatpickr-current-month input.cur-year[disabled], .flatpickr-current-month input.cur-year[disabled]:hover {
  font-size: 100%;
  color: rgba(0, 0, 0, 0.5);
  background: transparent;
  pointer-events: none;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
  appearance: menulist;
  background: transparent;
  border: none;
  border-radius: 0;
  box-sizing: border-box;
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  height: auto;
  line-height: inherit;
  margin: -1px 0 0 0;
  outline: none;
  padding: 0 0 0 0.5ch;
  position: relative;
  vertical-align: initial;
  -webkit-box-sizing: border-box;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  width: auto;
}

.flatpickr-current-month .flatpickr-monthDropdown-months:focus, .flatpickr-current-month .flatpickr-monthDropdown-months:active {
  outline: none;
}

.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
  background: rgba(0, 0, 0, 0.05);
}

.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
  background-color: transparent;
  outline: none;
  padding: 0;
}

.flatpickr-weekdays {
  background: transparent;
  text-align: center;
  overflow: hidden;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: 28px;
}

.flatpickr-weekdays .flatpickr-weekdaycontainer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

span.flatpickr-weekday {
  cursor: default;
  font-size: 90%;
  background: transparent;
  color: rgba(0, 0, 0, 0.54);
  line-height: 1;
  margin: 0;
  text-align: center;
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-weight: bolder;
}

.dayContainer, .flatpickr-weeks {
  padding: 1px 0 0 0;
}

.flatpickr-days {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  width: 307.875px;
}

.flatpickr-days:focus {
  outline: 0;
}

.dayContainer {
  padding: 0;
  outline: 0;
  text-align: left;
  width: 307.875px;
  min-width: 307.875px;
  max-width: 307.875px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-around;
  justify-content: space-around;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

.dayContainer + .dayContainer {
  -webkit-box-shadow: -1px 0 0 #e6e6e6;
  box-shadow: -1px 0 0 #e6e6e6;
}

.flatpickr-day {
  background: none;
  border: 1px solid transparent;
  border-radius: 150px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #393939;
  cursor: pointer;
  font-weight: 400;
  width: 14.2857143%;
  -webkit-flex-basis: 14.2857143%;
  -ms-flex-preferred-size: 14.2857143%;
  flex-basis: 14.2857143%;
  max-width: 39px;
  height: 39px;
  line-height: 39px;
  margin: 0;
  display: inline-block;
  position: relative;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
}

.flatpickr-day.inRange, .flatpickr-day.prevMonthDay.inRange, .flatpickr-day.nextMonthDay.inRange, .flatpickr-day.today.inRange, .flatpickr-day.prevMonthDay.today.inRange, .flatpickr-day.nextMonthDay.today.inRange, .flatpickr-day:hover, .flatpickr-day.prevMonthDay:hover, .flatpickr-day.nextMonthDay:hover, .flatpickr-day:focus, .flatpickr-day.prevMonthDay:focus, .flatpickr-day.nextMonthDay:focus {
  cursor: pointer;
  outline: 0;
  background: #e6e6e6;
  border-color: #e6e6e6;
}

.flatpickr-day.today {
  border-color: #959ea9;
}

.flatpickr-day.today:hover, .flatpickr-day.today:focus {
  border-color: #959ea9;
  background: #959ea9;
  color: #fff;
}

.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay {
  background: #569ff7;
  -webkit-box-shadow: none;
  box-shadow: none;
  color: #fff;
  border-color: #569ff7;
}

.flatpickr-day.selected.startRange, .flatpickr-day.startRange.startRange, .flatpickr-day.endRange.startRange {
  border-radius: 50px 0 0 50px;
}

.flatpickr-day.selected.endRange, .flatpickr-day.startRange.endRange, .flatpickr-day.endRange.endRange {
  border-radius: 0 50px 50px 0;
}

.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
  -webkit-box-shadow: -10px 0 0 #569ff7;
  box-shadow: -10px 0 0 #569ff7;
}

.flatpickr-day.selected.startRange.endRange, .flatpickr-day.startRange.startRange.endRange, .flatpickr-day.endRange.startRange.endRange {
  border-radius: 50px;
}

.flatpickr-day.inRange {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
  box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}

.flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover, .flatpickr-day.prevMonthDay, .flatpickr-day.nextMonthDay, .flatpickr-day.notAllowed, .flatpickr-day.notAllowed.prevMonthDay, .flatpickr-day.notAllowed.nextMonthDay {
  color: rgba(57, 57, 57, 0.3);
  background: transparent;
  border-color: transparent;
  cursor: default;
}

.flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover {
  cursor: not-allowed;
  color: rgba(57, 57, 57, 0.1);
}

.flatpickr-day.week.selected {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
  box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
}

.flatpickr-day.hidden {
  visibility: hidden;
}

.rangeMode .flatpickr-day {
  margin-top: 1px;
}

.flatpickr-weekwrapper {
  float: left;
}

.flatpickr-weekwrapper .flatpickr-weeks {
  padding: 0 12px;
  -webkit-box-shadow: 1px 0 0 #e6e6e6;
  box-shadow: 1px 0 0 #e6e6e6;
}

.flatpickr-weekwrapper .flatpickr-weekday {
  float: none;
  width: 100%;
  line-height: 28px;
}

.flatpickr-weekwrapper span.flatpickr-day, .flatpickr-weekwrapper span.flatpickr-day:hover {
  display: block;
  width: 100%;
  max-width: none;
  color: rgba(57, 57, 57, 0.3);
  background: transparent;
  cursor: default;
  border: none;
}

.flatpickr-innerContainer {
  display: block;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
}

.flatpickr-rContainer {
  display: inline-block;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.flatpickr-time {
  text-align: center;
  outline: 0;
  display: block;
  height: 0;
  line-height: 40px;
  max-height: 40px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.flatpickr-time:after {
  content: "";
  display: table;
  clear: both;
}

.flatpickr-time .numInputWrapper {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  width: 40%;
  height: 40px;
  float: left;
}

.flatpickr-time .numInputWrapper span.arrowUp:after {
  border-bottom-color: #393939;
}

.flatpickr-time .numInputWrapper span.arrowDown:after {
  border-top-color: #393939;
}

.flatpickr-time.hasSeconds .numInputWrapper {
  width: 26%;
}

.flatpickr-time.time24hr .numInputWrapper {
  width: 49%;
}

.flatpickr-time input {
  background: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
  border: 0;
  border-radius: 0;
  text-align: center;
  margin: 0;
  padding: 0;
  height: inherit;
  line-height: inherit;
  color: #393939;
  font-size: 14px;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}

.flatpickr-time input.flatpickr-hour {
  font-weight: bold;
}

.flatpickr-time input.flatpickr-minute, .flatpickr-time input.flatpickr-second {
  font-weight: 400;
}

.flatpickr-time input:focus {
  outline: 0;
  border: 0;
}

.flatpickr-time .flatpickr-time-separator, .flatpickr-time .flatpickr-am-pm {
  height: inherit;
  float: left;
  line-height: inherit;
  color: #393939;
  font-weight: bold;
  width: 2%;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
}

.flatpickr-time .flatpickr-am-pm {
  outline: 0;
  width: 18%;
  cursor: pointer;
  text-align: center;
  font-weight: 400;
}

.flatpickr-time input:hover, .flatpickr-time .flatpickr-am-pm:hover, .flatpickr-time input:focus, .flatpickr-time .flatpickr-am-pm:focus {
  background: #eee;
}

.flatpickr-input[readonly] {
  cursor: pointer;
}

@-webkit-keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
/* Qwiklabs custom styles for Flatpickr. */
.flatpickr-current-month {
  display: flex;
  justify-content: space-between;
}

.flatpickr-day.startRange, .flatpickr-day.endRange {
  background: var(--primary-surface-color-light) !important;
  border: var(--primary-surface-color-light) !important;
  color: var(--base-text-on-surface-color) !important;
}

.flatpickr-day.selected {
  background: var(--primary-surface-color) !important;
  border: var(--primary-surface-color) !important;
  color: var(--text-on-primary-color) !important;
}

.flatpickr-time input {
  border: 0 !important;
  border-radius: 0 !important;
  height: auto !important;
}

:root {
  --game-color: #E52592;
  --classroom-color: #01877E;
  --external-course-color: #D56E0C;
  --certification-color: #C5221F;
}

.join__activate, .modal-container, .lab-assessment__tab, .buy-credits__option__details__price, .buy-course__option__details__price {
  align-items: center;
  display: flex;
  justify-content: center;
}

.chosen-container-single .chosen-single div b:before,
.chosen-container-multi .chosen-single div b:before {
  font-family: "Google Material Icons";
  margin-left: 3px;
  position: absolute;
  text-decoration: none;
}

.sidenav__link, .hover-menu__menu__item {
  transition: all 0.1s ease-in-out;
  background: white;
  border: 2px solid #DADCE0;
  cursor: pointer;
  display: block;
  padding: 0.75rem;
  width: 100%;
}
.sidenav__link:first-child, .hover-menu__menu__item:first-child {
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}
.sidenav__link:last-child, .hover-menu__menu__item:last-child {
  border-bottom-left-radius: 2px;
  border-bottom-right-radius: 2px;
}
.sidenav__link:not(:last-child), .hover-menu__menu__item:not(:last-child) {
  border-bottom: none;
}
.sidenav__link:hover, .hover-menu__menu__item:hover {
  background: #DADCE0;
  color: var(--primary-text-on-surface-color);
}

.help-block, .footer__link, .sidenav__link, .hover-menu__menu__item {
  font-family: var(--md-ref-typeface-plain);
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
}

.header-container.light-theme {
  background: rgba(255, 255, 255, 0.95);
  border-bottom: 1px solid #DADCE0;
  color: #202124;
  z-index: 101;
}
.header-container.light-theme .logo {
  background-image: url("/assets/logo_blue-e1820f0fe6c9ddd9ced5541cd31283d7e405296f.svg");
}
.header-container.light-theme .header__title h1 .custom-logo {
  color: var(--medium-text-on-surface-color);
}
.header-container.light-theme .header__actions .favorite-button i {
  color: #202124;
}
.header-container.light-theme .header__actions .favorite-button[href*=unfavorite] i {
  color: #F538A0;
}

abbr[title],
abbr[data-original-title] {
  border-bottom: none !important;
}

label abbr[title] {
  color: var(--primary-text-on-surface-color);
}

hr {
  border: 0;
  border-top: 1px solid var(--hairline-color);
  display: block;
  height: 1px;
  margin: 24px 0;
  padding: 0;
}

mark {
  background-color: #F9AB00;
  border-radius: 2px;
  color: inherit;
  padding: 2px 0px;
}

p, li {
  font: var(--md-sys-typescale-body-large);
}

.small-label,
.label--small {
  font: var(--md-sys-typescale-body-medium);
  text-decoration: none;
}

strong {
  font-weight: 700;
}

.mdl-typography--small-title {
  color: #202124;
  font-size: 15px;
  font-weight: 400;
}

.text--blue {
  color: var(--primary-text-on-surface-color);
}

.text--center {
  text-align: center;
}

.text--capitalize {
  text-transform: capitalize;
}

.text--code {
  font-family: "Roboto Mono", monospace;
}

.text--copy {
  font-family: var(--md-ref-typeface-plain);
}

.text--error {
  color: var(--warn-color);
}

.text--free {
  color: var(--success-color);
  font-weight: 700;
  text-transform: uppercase;
}

.text--gray {
  color: rgba(0, 0, 0, 0.54);
}

.text--light {
  color: var(--light-text-on-surface-color) !important;
}

.text--right {
  text-align: right;
}

.text--sign {
  font-family: "Oswald", sans-serif;
}

.text--small {
  font-size: 14px !important;
}

.text--large {
  font-size: 20px !important;
}

.text--success {
  color: var(--success-color) !important;
}

.text--yellow {
  color: #F9AB00;
}

.text--red {
  color: #D93025;
}

.text--green {
  color: #34A853;
}

u {
  text-decoration: none;
}

.material-icons {
  font-family: "Material Icons";
  font-weight: normal;
  font-style: normal;
  font-size: 24px; /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: "liga";
}

.ellipsis {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.text--rtl {
  direction: rtl;
}

.body-wrapper {
  max-width: 800px;
}

.text--button {
  font: var(--md-sys-typescale-label-large);
}

/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
:root {
  --md-sys-color-background: #fff;
  --md-sys-color-error: #b3261e;
  --md-sys-color-error-container: #f9dedc;
  --md-sys-color-inverse-on-surface: #f2f2f2;
  --md-sys-color-inverse-primary: #a8c7fa;
  --md-sys-color-inverse-surface: #303030;
  --md-sys-color-on-background: #1f1f1f;
  --md-sys-color-on-error: #fff;
  --md-sys-color-on-error-container: #410e0b;
  --md-sys-color-on-primary: #fff;
  --md-sys-color-on-primary-container: #041e49;
  --md-sys-color-on-primary-fixed: #041e49;
  --md-sys-color-on-primary-fixed-variant: #0842a0;
  --md-sys-color-on-secondary: #fff;
  --md-sys-color-on-secondary-container: #001d35;
  --md-sys-color-on-secondary-fixed: #001d35;
  --md-sys-color-on-secondary-fixed-variant: #004a77;
  --md-sys-color-on-surface: #1f1f1f;
  --md-sys-color-on-surface-variant: #444746;
  --md-sys-color-on-tertiary: #fff;
  --md-sys-color-on-tertiary-container: #072711;
  --md-sys-color-on-tertiary-fixed: #072711;
  --md-sys-color-on-tertiary-fixed-variant: #0f5223;
  --md-sys-color-outline: #747775;
  --md-sys-color-outline-variant: #c4c7c5;
  --md-sys-color-primary: #0b57d0;
  --md-sys-color-primary-container: #d3e3fd;
  --md-sys-color-primary-fixed: #d3e3fd;
  --md-sys-color-primary-fixed-dim: #a8c7fa;
  --md-sys-color-scrim: #000;
  --md-sys-color-secondary: #00639b;
  --md-sys-color-secondary-container: #c2e7ff;
  --md-sys-color-secondary-fixed: #c2e7ff;
  --md-sys-color-secondary-fixed-dim: #7fcfff;
  --md-sys-color-shadow: #000;
  --md-sys-color-surface: #fff;
  --md-sys-color-surface-bright: #fff;
  --md-sys-color-surface-container: #f0f4f9;
  --md-sys-color-surface-container-high: #e9eef6;
  --md-sys-color-surface-container-highest: #dde3ea;
  --md-sys-color-surface-container-low: #f8fafd;
  --md-sys-color-surface-container-lowest: #fff;
  --md-sys-color-surface-dim: #d3dbe5;
  --md-sys-color-surface-tint: #6991d6;
  --md-sys-color-surface-variant: #e1e3e1;
  --md-sys-color-tertiary: #146c2e;
  --md-sys-color-tertiary-container: #c4eed0;
  --md-sys-color-tertiary-fixed: #c4eed0;
  --md-sys-color-tertiary-fixed-dim: #6dd58c;
  --md-state-layers-hover-opacity: 0.08;
  --md-state-layers-focus-opacity: 0.1;
  --md-state-layers-press-opacity: 0.1;
  --md-state-layers-drag-opacity: 0.16;
  --md-state-layers-on-surface-color: rgba(31, 31, 31, 1);
  --md-state-layers-on-primary-color: rgba(4, 30, 73, 1);
  --md-state-layers-on-secondary-color: rgba(0, 29, 53, 1);
  --md-state-layers-on-tertiary-color: rgba(7, 39, 17, 1);
  --md-ref-typeface-brand: Google Sans;
  --md-ref-typeface-plain: "Google Sans Text", "Google Sans";
  --md-ref-typeface-weight-bold: 700;
  --md-ref-typeface-weight-medium: 500;
  --md-ref-typeface-weight-regular: 400;
  --md-sys-typescale-body-large-font: var(--md-ref-typeface-plain, "Google Sans Text", "Google Sans");
  --md-sys-typescale-body-large-line-height: 1.5rem;
  --md-sys-typescale-body-large-size: 1rem;
  --md-sys-typescale-body-large-weight: var(--md-ref-typeface-weight-regular, 400);
  --md-sys-typescale-body-medium-font: var(--md-ref-typeface-plain, "Google Sans Text", "Google Sans");
  --md-sys-typescale-body-medium-line-height: 1.25rem;
  --md-sys-typescale-body-medium-size: 0.875rem;
  --md-sys-typescale-body-medium-weight: var(--md-ref-typeface-weight-regular, 400);
  --md-sys-typescale-body-small-font: var(--md-ref-typeface-plain, "Google Sans Text", "Google Sans");
  --md-sys-typescale-body-small-line-height: 1rem;
  --md-sys-typescale-body-small-size: 0.75rem;
  --md-sys-typescale-body-small-weight: var(--md-ref-typeface-weight-regular, 400);
  --md-sys-typescale-display-large-font: var(--md-ref-typeface-brand, Google Sans);
  --md-sys-typescale-display-large-line-height: 4rem;
  --md-sys-typescale-display-large-size: 3.5625rem;
  --md-sys-typescale-display-large-weight: var(--md-ref-typeface-weight-regular, 400);
  --md-sys-typescale-display-medium-font: var(--md-ref-typeface-brand, Google Sans);
  --md-sys-typescale-display-medium-line-height: 3.25rem;
  --md-sys-typescale-display-medium-size: 2.8125rem;
  --md-sys-typescale-display-medium-weight: var(--md-ref-typeface-weight-regular, 400);
  --md-sys-typescale-display-small-font: var(--md-ref-typeface-brand, Google Sans);
  --md-sys-typescale-display-small-line-height: 2.75rem;
  --md-sys-typescale-display-small-size: 2.25rem;
  --md-sys-typescale-display-small-weight: var(--md-ref-typeface-weight-regular, 400);
  --md-sys-typescale-headline-large-font: var(--md-ref-typeface-brand, Google Sans);
  --md-sys-typescale-headline-large-line-height: 2.5rem;
  --md-sys-typescale-headline-large-size: 2rem;
  --md-sys-typescale-headline-large-weight: var(--md-ref-typeface-weight-regular, 400);
  --md-sys-typescale-headline-medium-font: var(--md-ref-typeface-brand, Google Sans);
  --md-sys-typescale-headline-medium-line-height: 2.25rem;
  --md-sys-typescale-headline-medium-size: 1.75rem;
  --md-sys-typescale-headline-medium-weight: var(--md-ref-typeface-weight-regular, 400);
  --md-sys-typescale-headline-small-font: var(--md-ref-typeface-brand, Google Sans);
  --md-sys-typescale-headline-small-line-height: 2rem;
  --md-sys-typescale-headline-small-size: 1.5rem;
  --md-sys-typescale-headline-small-weight: var(--md-ref-typeface-weight-regular, 400);
  --md-sys-typescale-label-large-font: var(--md-ref-typeface-plain, "Google Sans Text", "Google Sans");
  --md-sys-typescale-label-large-line-height: 1.25rem;
  --md-sys-typescale-label-large-size: 0.875rem;
  --md-sys-typescale-label-large-weight: var(--md-ref-typeface-weight-medium, 500);
  --md-sys-typescale-label-large-weight-prominent: var(--md-ref-typeface-weight-bold, 700);
  --md-sys-typescale-label-medium-font: var(--md-ref-typeface-plain, "Google Sans Text", "Google Sans");
  --md-sys-typescale-label-medium-line-height: 1rem;
  --md-sys-typescale-label-medium-size: 0.75rem;
  --md-sys-typescale-label-medium-weight: var(--md-ref-typeface-weight-medium, 500);
  --md-sys-typescale-label-medium-weight-prominent: var(--md-ref-typeface-weight-bold, 700);
  --md-sys-typescale-label-small-font: var(--md-ref-typeface-plain, "Google Sans Text", "Google Sans");
  --md-sys-typescale-label-small-line-height: 1rem;
  --md-sys-typescale-label-small-size: 0.6875rem;
  --md-sys-typescale-label-small-weight: var(--md-ref-typeface-weight-medium, 500);
  --md-sys-typescale-title-large-font: var(--md-ref-typeface-brand, Google Sans);
  --md-sys-typescale-title-large-line-height: 1.75rem;
  --md-sys-typescale-title-large-size: 1.375rem;
  --md-sys-typescale-title-large-weight: var(--md-ref-typeface-weight-regular, 400);
  --md-sys-typescale-title-medium-font: var(--md-ref-typeface-plain, "Google Sans Text", "Google Sans");
  --md-sys-typescale-title-medium-line-height: 1.5rem;
  --md-sys-typescale-title-medium-size: 1rem;
  --md-sys-typescale-title-medium-weight: var(--md-ref-typeface-weight-medium, 500);
  --md-sys-typescale-title-small-font: var(--md-ref-typeface-plain, "Google Sans Text", "Google Sans");
  --md-sys-typescale-title-small-line-height: 1.25rem;
  --md-sys-typescale-title-small-size: 0.875rem;
  --md-sys-typescale-title-small-weight: var(--md-ref-typeface-weight-medium, 500);
}

/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
/**
 * @license
 * Copyright (c) 2015–2020, Miriam Suzanne.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above
 *   copyright notice, this list of conditions and the following
 *   disclaimer in the documentation and/or other materials provided
 *   with the distribution.
 * * Neither the name of the author nor the names of other
 *   contributors may be used to endorse or promote products derived
 *   from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
.gmTypographyDisplay1 {
  font-family: "Google Sans Display", Roboto, Arial, sans-serif;
  line-height: 4.75rem;
  font-size: 4rem;
  letter-spacing: 0em;
  font-weight: 400;
}

.gmTypographyDisplay2 {
  font-family: "Google Sans Display", Roboto, Arial, sans-serif;
  line-height: 4rem;
  font-size: 3.5rem;
  letter-spacing: 0em;
  font-weight: 400;
}

.gmTypographyDisplay3 {
  font-family: "Google Sans Display", Roboto, Arial, sans-serif;
  line-height: 3.25rem;
  font-size: 2.75rem;
  letter-spacing: 0em;
  font-weight: 400;
}

.gmTypographyHeadline1 {
  font-family: "Google Sans", Roboto, Arial, sans-serif;
  line-height: 2.75rem;
  font-size: 2.25rem;
  letter-spacing: 0em;
  font-weight: 400;
}

.gmTypographyHeadline2 {
  font-family: "Google Sans", Roboto, Arial, sans-serif;
  line-height: 2.5rem;
  font-size: 2rem;
  letter-spacing: 0em;
  font-weight: 400;
}

.gmTypographyHeadline3 {
  font-family: "Google Sans", Roboto, Arial, sans-serif;
  line-height: 2.25rem;
  font-size: 1.75rem;
  letter-spacing: 0em;
  font-weight: 400;
}

.gmTypographyHeadline4 {
  font-family: "Google Sans", Roboto, Arial, sans-serif;
  line-height: 2rem;
  font-size: 1.5rem;
  letter-spacing: 0em;
  font-weight: 400;
}

.gmTypographyHeadline5 {
  font-family: "Google Sans", Roboto, Arial, sans-serif;
  line-height: 1.75rem;
  font-size: 1.375rem;
  letter-spacing: 0em;
  font-weight: 400;
}

.gmTypographyHeadline6 {
  font-family: "Google Sans", Roboto, Arial, sans-serif;
  line-height: 1.5rem;
  font-size: 1.125rem;
  letter-spacing: 0em;
  font-weight: 400;
}

.gmTypographySubhead1 {
  font-family: "Google Sans", Roboto, Arial, sans-serif;
  line-height: 1.5rem;
  font-size: 1rem;
  letter-spacing: 0.00625em;
  font-weight: 500;
}

.gmTypographySubhead2 {
  font-family: "Google Sans", Roboto, Arial, sans-serif;
  line-height: 1.25rem;
  font-size: 0.875rem;
  letter-spacing: 0.0178571429em;
  font-weight: 500;
}

.gmTypographySubtitle1 {
  font-family: Roboto, Arial, sans-serif;
  line-height: 1.5rem;
  font-size: 1rem;
  letter-spacing: 0.0125em;
  font-weight: 500;
}

.gmTypographySubtitle2 {
  font-family: Roboto, Arial, sans-serif;
  line-height: 1.25rem;
  font-size: 0.875rem;
  letter-spacing: 0.0178571429em;
  font-weight: 500;
}

.gmTypographyOverline {
  font-family: Roboto, Arial, sans-serif;
  line-height: 1rem;
  font-size: 0.6875rem;
  letter-spacing: 0.0727272727em;
  font-weight: 500;
  text-transform: uppercase;
}

.gmTypographyBody1 {
  font-family: Roboto, Arial, sans-serif;
  line-height: 1.5rem;
  font-size: 1rem;
  letter-spacing: 0.00625em;
  font-weight: 400;
}

.gmTypographyBody2 {
  font-family: Roboto, Arial, sans-serif;
  line-height: 1.25rem;
  font-size: 0.875rem;
  letter-spacing: 0.0142857143em;
  font-weight: 400;
}

.gmTypographyCaption {
  font-family: Roboto, Arial, sans-serif;
  line-height: 1rem;
  font-size: 0.75rem;
  letter-spacing: 0.025em;
  font-weight: 400;
}

:root {
  --primary-text-on-surface-color: rgb(26, 115, 232);
  --primary-text-on-surface-color-dark: rgb(25, 103, 210);
  --primary-text-on-surface-color-darker: rgb(24, 90, 188);
  --primary-text-on-surface-color-darkest: rgb(23, 78, 166);
  --primary-surface-color: rgb(26, 115, 232);
  --primary-surface-color-dark: rgb(25, 103, 210);
  --primary-surface-color-darker: rgb(24, 90, 188);
  --primary-surface-color-darkest: rgb(23, 78, 166);
  --primary-surface-color-light: rgb(66, 133, 244);
  --primary-surface-color-lighter: rgb(102, 157, 246);
  --primary-surface-color-lightest: rgb(232, 240, 254);
  --text-on-primary-color: #fff;
  --accent-text-on-surface-color: rgb(242, 153, 0);
  --accent-surface-color: rgb(249, 171, 0);
  --accent-surface-color-dark: rgb(242, 153, 0);
  --accent-surface-color-darker: rgb(234, 134, 0);
  --accent-surface-color-darkest: rgb(227, 116, 0);
  --text-on-accent-color: rgb(32, 33, 36);
  --caution-color: rgb(249, 171, 0);
  --warn-color: rgb(217, 48, 37);
  --success-color: rgb(24, 128, 56);
  --hairline-color: rgb(218, 220, 224);
  --base-surface-color: #fff;
  --base-text-on-surface-color: rgb(32, 33, 36);
  --medium-text-on-surface-color: rgb(60, 64, 67);
  --light-text-on-surface-color: rgb(95, 99, 104);
  --hover-color: rgb(248, 249, 250);
  --focus-color: rgb(232, 240, 254);
  --text-on-focus-color: rgb(24, 90, 188);
  --error-container: #f9dedc;
  --text-on-error-container: #8c1d18;
  --disabled-content-color: rgba(60, 64, 67, 0.38);
  --disabled-container-color: rgba(60, 64, 67, 0.12);
  --disabled-surface-color: rgb(232, 234, 237);
  --text-on-disabled-surface-color: rgb(95, 99, 104);
  --button-disabled-color: rgba(31, 31, 31, 0.10);
  --md-state-layers-on-surface-color-on-surface-8: rgba(31, 31, 31, 0.08);
  --certificate-color: rgba(11, 87, 208, 0.08);
  --certificate-text-color: #1f1f1f;
  --certification-color: rgba(11, 87, 208, 0.08);
  --certification-text-color: #1f1f1f;
  --course-color: #ddf8d8;
  --course-text-color: #006c35;
  --credential-color: rgba(11, 87, 208, 0.08);
  --credential-text-color: #1f1f1f;
  --document-color: rgb(32, 33, 36);
  --exam-color: #f7ecfe;
  --exam-text-color: #7438d2;
  --event-color: #eff2ef;
  --event-text-color: #444746;
  --game-color: #ffecee;
  --game-text-color: #b3251e;
  --lab-color: #fff2b4;
  --lab-text-color: #8f4e06;
  --required-container: #fffade;
  --on-required-container: #8f4e06;
  --link-color: rgb(32, 33, 36);
  --quest-color: rgb(30, 142, 62);
  --learning-path-color: #d8f6ff;
  --learning-path-text-color: #00687c;
  --quiz-color: #f7ecfe;
  --quiz-text-color: #7438d2;
  --skill-badge-color: rgba(11, 87, 208, 0.08);
  --skill-badge-text-color: #1f1f1f;
  --video-color: #e7f2ff;
  --video-text-color: #1157ce;
  --classroom-color: #ffede1;
  --classroom-text-color: #9a4600;
  --default-text-color: rgb(32, 33, 36);
  --mdc-theme-primary: var(--primary-surface-color);
  --mdc-theme-secondary: var(--primary-surface-color);
  --mdc-theme-surface: var(--base-surface-color);
  --mdc-theme-background: var(--base-surface-color);
  --mdc-theme-on-primary: var(--text-on-primary-color);
  --mdc-theme-on-secondary: var(--text-on-primary-color);
  --mdc-theme-on-surface: var(--base-text-on-surface-color);
  --display-1-font: 400 4rem/4.75rem Google Sans Display, Roboto, Arial, sans-serif;
  --display-1-letter-spacing: 0;
  --display-2-font: 400 3.5rem/4rem Google Sans Display, Roboto, Arial, sans-serif;
  --display-2-letter-spacing: 0;
  --display-3-font: 400 2.75rem/3.5rem Google Sans Display, Roboto, Arial, sans-serif;
  --display-3-letter-spacing: 0;
  --headline-1-font: 400 2.25rem/2.75rem Google Sans, Roboto, Arial, sans-serif;
  --headline-1-letter-spacing: 0;
  --headline-2-font: 400 2rem/2.5rem Google Sans, Roboto, Arial, sans-serif;
  --headline-2-letter-spacing: 0;
  --headline-3-font: 400 1.75rem/2.25rem Google Sans, Roboto, Arial, sans-serif;
  --headline-3-letter-spacing: 0;
  --headline-4-font: 400 1.5rem/2rem Google Sans, Roboto, Arial, sans-serif;
  --headline-4-letter-spacing: 0;
  --headline-5-font: 400 1.375rem/1.75rem Google Sans, Roboto, Arial, sans-serif;
  --headline-5-letter-spacing: 0;
  --headline-6-font: 400 1.125rem/1.5rem Google Sans, Roboto, Arial, sans-serif;
  --headline-6-letter-spacing: 0;
  --subhead-1-font: 500 1rem/1.5rem Google Sans, Roboto, Arial, sans-serif;
  --subhead-1-letter-spacing: letter-spacing(0.1, 1);
  --subhead-2-font: 500 0.875rem/1.25rem Google Sans, Roboto, Arial, sans-serif;
  --subhead-2-letter-spacing: letter-spacing(0.25, 0.875);
  --subtitle-1-font: 500 1rem/1.5rem Roboto, Arial, sans-serif;
  --subtitle-1-letter-spacing: letter-spacing(0.2, 1);
  --subtitle-2-font: 500 0.875rem/1.25rem Roboto, Arial, sans-serif;
  --subtitle-2-letter-spacing: letter-spacing(0.25, 0.875);
  --overline-font: 500 0.6875rem/1rem Roboto, Arial, sans-serif;
  --overline-letter-spacing: letter-spacing(0.8, 0.6875);
  --body-1-font: 400 1rem/1.5rem Roboto, Arial, sans-serif;
  --body-1-letter-spacing: letter-spacing(0.1, 1);
  --body-2-font: 400 0.875rem/1.25rem Roboto, Arial, sans-serif;
  --body-2-letter-spacing: letter-spacing(0.2, 0.875);
  --caption-font: 400 0.75rem/1rem Roboto, Arial, sans-serif;
  --caption-letter-spacing: letter-spacing(0.3, 0.75);
  --button-font: 500 0.875rem/0.875rem Google Sans, Roboto, Arial, sans-serif;
  --button-letter-spacing: letter-spacing(0.15, 0.875);
  --code-font: 400 0.875rem/1.25rem Roboto Mono, mono;
  --code-letter-spacing: 0;
  --transition-time-enter: 0.2s;
  --transition-time-exit: 0.175s;
  --transition-curve-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --transition-curve-enter: cubic-bezier(0.4, 0, 1, 1);
  --transition-curve-exit: cubic-bezier(0, 0, 0.2, 1);
  --transition-curve-tempexit: cubic-bezier(0.4, 0, 0.6, 1);
  --elevation-1: 0px 1px 2px 0px rgba(60, 64, 67, 0.3),
    0px 1px 3px 1px rgba(60, 64, 67, 0.15);
  --elevation-2: 0px 1px 2px 0px rgba(60, 64, 67, 0.3),
    0px 2px 6px 2px rgba(60, 64, 67, 0.15);
  --elevation-3: 0px 1px 3px 0px rgba(60, 64, 67, 0.3),
    0px 4px 8px 3px rgba(60, 64, 67, 0.15);
  --elevation-4: 0px 2px 3px 0px rgba(60, 64, 67, 0.3),
    0px 6px 10px 4px rgba(60, 64, 67, 0.15);
  --elevation-5: 0px 4px 4px 0px rgba(60, 64, 67, 0.3),
    0px 8px 12px 6px rgba(60, 64, 67, 0.15);
}

.gmTypographyDisplay1 {
  font-family: "Google Sans Display", Roboto, Arial, sans-serif;
  line-height: 4.75rem;
  font-size: 4rem;
  letter-spacing: 0em;
  font-weight: 400;
}

.gmTypographyDisplay2 {
  font-family: "Google Sans Display", Roboto, Arial, sans-serif;
  line-height: 4rem;
  font-size: 3.5rem;
  letter-spacing: 0em;
  font-weight: 400;
}

.gmTypographyDisplay3 {
  font-family: "Google Sans Display", Roboto, Arial, sans-serif;
  line-height: 3.25rem;
  font-size: 2.75rem;
  letter-spacing: 0em;
  font-weight: 400;
}

.gmTypographyHeadline1 {
  font-family: "Google Sans", Roboto, Arial, sans-serif;
  line-height: 2.75rem;
  font-size: 2.25rem;
  letter-spacing: 0em;
  font-weight: 400;
}

.gmTypographyHeadline2 {
  font-family: "Google Sans", Roboto, Arial, sans-serif;
  line-height: 2.5rem;
  font-size: 2rem;
  letter-spacing: 0em;
  font-weight: 400;
}

.gmTypographyHeadline3 {
  font-family: "Google Sans", Roboto, Arial, sans-serif;
  line-height: 2.25rem;
  font-size: 1.75rem;
  letter-spacing: 0em;
  font-weight: 400;
}

.gmTypographyHeadline4 {
  font-family: "Google Sans", Roboto, Arial, sans-serif;
  line-height: 2rem;
  font-size: 1.5rem;
  letter-spacing: 0em;
  font-weight: 400;
}

.gmTypographyHeadline5 {
  font-family: "Google Sans", Roboto, Arial, sans-serif;
  line-height: 1.75rem;
  font-size: 1.375rem;
  letter-spacing: 0em;
  font-weight: 400;
}

.gmTypographyHeadline6 {
  font-family: "Google Sans", Roboto, Arial, sans-serif;
  line-height: 1.5rem;
  font-size: 1.125rem;
  letter-spacing: 0em;
  font-weight: 400;
}

.gmTypographySubhead1 {
  font-family: "Google Sans", Roboto, Arial, sans-serif;
  line-height: 1.5rem;
  font-size: 1rem;
  letter-spacing: 0.00625em;
  font-weight: 500;
}

.gmTypographySubhead2 {
  font-family: "Google Sans", Roboto, Arial, sans-serif;
  line-height: 1.25rem;
  font-size: 0.875rem;
  letter-spacing: 0.0178571429em;
  font-weight: 500;
}

.gmTypographySubtitle1 {
  font-family: Roboto, Arial, sans-serif;
  line-height: 1.5rem;
  font-size: 1rem;
  letter-spacing: 0.0125em;
  font-weight: 500;
}

.gmTypographySubtitle2 {
  font-family: Roboto, Arial, sans-serif;
  line-height: 1.25rem;
  font-size: 0.875rem;
  letter-spacing: 0.0178571429em;
  font-weight: 500;
}

.gmTypographyOverline {
  font-family: Roboto, Arial, sans-serif;
  line-height: 1rem;
  font-size: 0.6875rem;
  letter-spacing: 0.0727272727em;
  font-weight: 500;
  text-transform: uppercase;
}

.gmTypographyBody1 {
  font-family: Roboto, Arial, sans-serif;
  line-height: 1.5rem;
  font-size: 1rem;
  letter-spacing: 0.00625em;
  font-weight: 400;
}

.gmTypographyBody2 {
  font-family: Roboto, Arial, sans-serif;
  line-height: 1.25rem;
  font-size: 0.875rem;
  letter-spacing: 0.0142857143em;
  font-weight: 400;
}

.gmTypographyCaption {
  font-family: Roboto, Arial, sans-serif;
  line-height: 1rem;
  font-size: 0.75rem;
  letter-spacing: 0.025em;
  font-weight: 400;
}

.ql-typography .ql-display-1,
.ql-display-1 {
  color: var(--base-text-on-surface-color);
  font: var(--display-1-font);
  letter-spacing: var(--display-1-letter-spacing);
}

.ql-typography .ql-display-1[disabled], .ql-typography .ql-display-1.disabled,
.ql-display-1[disabled],
.ql-display-1.disabled {
  color: var(--disabled-content-color);
}

.ql-typography .ql-display-2,
.ql-display-2 {
  color: var(--base-text-on-surface-color);
  font: var(--display-2-font);
  letter-spacing: var(--display-2-letter-spacing);
}

.ql-typography .ql-display-2[disabled], .ql-typography .ql-display-2.disabled,
.ql-display-2[disabled],
.ql-display-2.disabled {
  color: var(--disabled-content-color);
}

.ql-typography .ql-display-3,
.ql-display-3 {
  color: var(--base-text-on-surface-color);
  font: var(--display-3-font);
  letter-spacing: var(--display-3-letter-spacing);
}

.ql-typography .ql-display-3[disabled], .ql-typography .ql-display-3.disabled,
.ql-display-3[disabled],
.ql-display-3.disabled {
  color: var(--disabled-content-color);
}

.ql-typography h1,
.ql-typography .ql-headline-1,
.ql-headline-1 {
  color: var(--base-text-on-surface-color);
  font: var(--headline-1-font);
  letter-spacing: var(--headline-1-letter-spacing);
}

.ql-typography h1[disabled], .ql-typography h1.disabled,
.ql-typography .ql-headline-1[disabled],
.ql-typography .ql-headline-1.disabled,
.ql-headline-1[disabled],
.ql-headline-1.disabled {
  color: var(--disabled-content-color);
}

.ql-typography h2,
.ql-typography .ql-headline-2,
.ql-headline-2 {
  color: var(--base-text-on-surface-color);
  font: var(--headline-2-font);
  letter-spacing: var(--headline-2-letter-spacing);
}

.ql-typography h2[disabled], .ql-typography h2.disabled,
.ql-typography .ql-headline-2[disabled],
.ql-typography .ql-headline-2.disabled,
.ql-headline-2[disabled],
.ql-headline-2.disabled {
  color: var(--disabled-content-color);
}

.ql-typography h3,
.ql-typography .ql-headline-3,
.ql-headline-3 {
  color: var(--base-text-on-surface-color);
  font: var(--headline-3-font);
  letter-spacing: var(--headline-3-letter-spacing);
}

.ql-typography h3[disabled], .ql-typography h3.disabled,
.ql-typography .ql-headline-3[disabled],
.ql-typography .ql-headline-3.disabled,
.ql-headline-3[disabled],
.ql-headline-3.disabled {
  color: var(--disabled-content-color);
}

.ql-typography h4,
.ql-typography .ql-headline-4,
.ql-headline-4 {
  color: var(--base-text-on-surface-color);
  font: var(--headline-4-font);
  letter-spacing: var(--headline-4-letter-spacing);
}

.ql-typography h4[disabled], .ql-typography h4.disabled,
.ql-typography .ql-headline-4[disabled],
.ql-typography .ql-headline-4.disabled,
.ql-headline-4[disabled],
.ql-headline-4.disabled {
  color: var(--disabled-content-color);
}

.ql-typography h5,
.ql-typography .ql-headline-5,
.ql-headline-5 {
  color: var(--base-text-on-surface-color);
  font: var(--headline-5-font);
  letter-spacing: var(--headline-5-letter-spacing);
}

.ql-typography h5[disabled], .ql-typography h5.disabled,
.ql-typography .ql-headline-5[disabled],
.ql-typography .ql-headline-5.disabled,
.ql-headline-5[disabled],
.ql-headline-5.disabled {
  color: var(--disabled-content-color);
}

.ql-typography h6,
.ql-typography .ql-headline-6,
.ql-headline-6 {
  color: var(--base-text-on-surface-color);
  font: var(--headline-6-font);
  letter-spacing: var(--headline-6-letter-spacing);
}

.ql-typography h6[disabled], .ql-typography h6.disabled,
.ql-typography .ql-headline-6[disabled],
.ql-typography .ql-headline-6.disabled,
.ql-headline-6[disabled],
.ql-headline-6.disabled {
  color: var(--disabled-content-color);
}

.ql-typography .ql-subhead-1,
.ql-subhead-1 {
  color: var(--medium-text-on-surface-color);
  font: var(--subhead-1-font);
  letter-spacing: var(--subhead-1-letter-spacing);
}

.ql-typography .ql-subhead-1[disabled], .ql-typography .ql-subhead-1.disabled,
.ql-subhead-1[disabled],
.ql-subhead-1.disabled {
  color: var(--disabled-content-color);
}

.ql-typography .ql-subhead-2,
.ql-subhead-2 {
  color: var(--medium-text-on-surface-color);
  font: var(--subhead-2-font);
  letter-spacing: var(--subhead-2-letter-spacing);
}

.ql-typography .ql-subhead-2[disabled], .ql-typography .ql-subhead-2.disabled,
.ql-subhead-2[disabled],
.ql-subhead-2.disabled {
  color: var(--disabled-content-color);
}

.ql-typography .ql-subtitle-1,
.ql-subtitle-1 {
  font: var(--subtitle-1-font);
  letter-spacing: var(--subtitle-1-letter-spacing);
}

.ql-typography .ql-subtitle-1[disabled], .ql-typography .ql-subtitle-1.disabled,
.ql-subtitle-1[disabled],
.ql-subtitle-1.disabled {
  color: var(--disabled-content-color);
}

.ql-typography .ql-subtitle-2,
.ql-subtitle-2 {
  font: var(--subtitle-2-font);
  letter-spacing: var(--subtitle-2-letter-spacing);
}

.ql-typography .ql-subtitle-2[disabled], .ql-typography .ql-subtitle-2.disabled,
.ql-subtitle-2[disabled],
.ql-subtitle-2.disabled {
  color: var(--disabled-content-color);
}

.ql-typography .ql-overline,
.ql-overline {
  font: var(--overline-font);
  letter-spacing: var(--overline-letter-spacing);
}

.ql-typography .ql-overline[disabled], .ql-typography .ql-overline.disabled,
.ql-overline[disabled],
.ql-overline.disabled {
  color: var(--disabled-content-color);
}

.ql-typography,
.ql-typography p,
.ql-typography li,
.ql-typography .ql-body-1,
.ql-body-1 {
  color: var(--medium-text-on-surface-color);
  font: var(--body-1-font);
  letter-spacing: var(--body-1-letter-spacing);
}

.ql-typography[disabled], .ql-typography.disabled,
.ql-typography p[disabled],
.ql-typography p.disabled,
.ql-typography li[disabled],
.ql-typography li.disabled,
.ql-typography .ql-body-1[disabled],
.ql-typography .ql-body-1.disabled,
.ql-body-1[disabled],
.ql-body-1.disabled {
  color: var(--disabled-content-color);
}

.ql-typography .ql-body-2,
.ql-body-2 {
  color: var(--light-text-on-surface-color);
  font: var(--body-2-font);
  letter-spacing: var(--body-2-letter-spacing);
}

.ql-typography .ql-body-2[disabled], .ql-typography .ql-body-2.disabled,
.ql-body-2[disabled],
.ql-body-2.disabled {
  color: var(--disabled-content-color);
}

.ql-typography caption,
.ql-typography .ql-caption,
.ql-caption {
  font: var(--caption-font);
  letter-spacing: var(--caption-letter-spacing);
}

.ql-typography caption[disabled], .ql-typography caption.disabled,
.ql-typography .ql-caption[disabled],
.ql-typography .ql-caption.disabled,
.ql-caption[disabled],
.ql-caption.disabled {
  color: var(--disabled-content-color);
}

.ql-typography .ql-button-typography,
.ql-button-typography {
  font: var(--button-font);
  letter-spacing: var(--button-letter-spacing);
}

.ql-typography .ql-button-typography[disabled], .ql-typography .ql-button-typography.disabled,
.ql-button-typography[disabled],
.ql-button-typography.disabled {
  color: var(--disabled-content-color);
}

.ql-typography code,
.ql-typography .ql-code-typography,
.ql-code-typography {
  font: var(--code-font);
  letter-spacing: var(--code-letter-spacing);
}

.ql-typography code[disabled], .ql-typography code.disabled,
.ql-typography .ql-code-typography[disabled],
.ql-typography .ql-code-typography.disabled,
.ql-code-typography[disabled],
.ql-code-typography.disabled {
  color: var(--disabled-content-color);
}

:root {
  --md-sys-typescale-display-large: var(--md-sys-typescale-display-large-weight) var(--md-sys-typescale-display-large-size)/var(--md-sys-typescale-display-large-line-height) var(--md-sys-typescale-display-large-font);
  --md-sys-typescale-display-medium: var(--md-sys-typescale-display-medium-weight) var(--md-sys-typescale-display-medium-size)/var(--md-sys-typescale-display-medium-line-height) var(--md-sys-typescale-display-medium-font);
  --md-sys-typescale-display-small: var(--md-sys-typescale-display-small-weight) var(--md-sys-typescale-display-small-size)/var(--md-sys-typescale-display-small-line-height) var(--md-sys-typescale-display-small-font);
  --md-sys-typescale-headline-large: var(--md-sys-typescale-headline-large-weight) var(--md-sys-typescale-headline-large-size)/var(--md-sys-typescale-headline-large-line-height) var(--md-sys-typescale-headline-large-font);
  --md-sys-typescale-headline-medium: var(--md-sys-typescale-headline-medium-weight) var(--md-sys-typescale-headline-medium-size)/var(--md-sys-typescale-headline-medium-line-height) var(--md-sys-typescale-headline-medium-font);
  --md-sys-typescale-headline-small: var(--md-sys-typescale-headline-small-weight) var(--md-sys-typescale-headline-small-size)/var(--md-sys-typescale-headline-small-line-height) var(--md-sys-typescale-headline-small-font);
  --md-sys-typescale-title-large: var(--md-sys-typescale-title-large-weight) var(--md-sys-typescale-title-large-size)/var(--md-sys-typescale-title-large-line-height) var(--md-sys-typescale-title-large-font);
  --md-sys-typescale-title-medium: var(--md-sys-typescale-title-medium-weight) var(--md-sys-typescale-title-medium-size)/var(--md-sys-typescale-title-medium-line-height) var(--md-sys-typescale-title-medium-font);
  --md-sys-typescale-title-small: var(--md-sys-typescale-title-small-weight) var(--md-sys-typescale-title-small-size)/var(--md-sys-typescale-title-small-line-height) var(--md-sys-typescale-title-small-font);
  --md-sys-typescale-body-large: var(--md-sys-typescale-body-large-weight) var(--md-sys-typescale-body-large-size)/var(--md-sys-typescale-body-large-line-height) var(--md-sys-typescale-body-large-font);
  --md-sys-typescale-body-medium: var(--md-sys-typescale-body-medium-weight) var(--md-sys-typescale-body-medium-size)/var(--md-sys-typescale-body-medium-line-height) var(--md-sys-typescale-body-medium-font);
  --md-sys-typescale-body-small: var(--md-sys-typescale-body-small-weight) var(--md-sys-typescale-body-small-size)/var(--md-sys-typescale-body-small-line-height) var(--md-sys-typescale-body-small-font);
  --md-sys-typescale-label-large: var(--md-sys-typescale-label-large-weight) var(--md-sys-typescale-label-large-size)/var(--md-sys-typescale-label-large-line-height) var(--md-sys-typescale-label-large-font);
  --md-sys-typescale-label-medium: var(--md-sys-typescale-label-medium-weight) var(--md-sys-typescale-label-medium-size)/var(--md-sys-typescale-label-medium-line-height) var(--md-sys-typescale-label-medium-font);
  --md-sys-typescale-label-small: var(--md-sys-typescale-label-small-weight) var(--md-sys-typescale-label-small-size)/var(--md-sys-typescale-label-small-line-height) var(--md-sys-typescale-label-small-font);
}

.ql-display-large, .learning-plans-body.relaunch.credentials-page .credentials-statistics .metrics .metric h5 strong, .learning-plans-body.relaunch.collections .collections-statistics .metrics .metric h5 strong {
  font: var(--md-sys-typescale-display-large);
}

.ql-display-medium {
  font: var(--md-sys-typescale-display-medium);
}

.ql-display-small {
  font: var(--md-sys-typescale-display-small);
}

.ql-headline-large, .learning-plans-body.relaunch .learning-wrapper .top-matter .learning-plan-title {
  font: var(--md-sys-typescale-headline-large);
}

.ql-headline-medium {
  font: var(--md-sys-typescale-headline-medium);
}

.ql-headline-small {
  font: var(--md-sys-typescale-headline-small);
}

.ql-title-large, .learning-plans-body.relaunch.credentials-page .credentials-statistics .metrics .metric h5, .learning-plans-body.relaunch.collections .collections-tabs h4, .learning-plans-body.relaunch.collections .collections-statistics .metrics .metric h5 {
  font: var(--md-sys-typescale-title-large);
}

.ql-title-medium {
  font: var(--md-sys-typescale-title-medium);
}

.ql-title-small, .header-tab {
  font: var(--md-sys-typescale-title-small);
}

.ql-body-large {
  font: var(--md-sys-typescale-body-large);
}

.ql-body-medium {
  font: var(--md-sys-typescale-body-medium);
}

.ql-body-small, .learning-plans-body.relaunch.credentials-page .credentials-statistics .metrics .metric p, .learning-plans-body.relaunch.collections .collections-statistics .metrics .metric p {
  font: var(--md-sys-typescale-body-small);
}

.ql-label-large {
  font: var(--md-sys-typescale-label-large);
}

.ql-label-medium {
  font: var(--md-sys-typescale-label-medium);
}

.ql-label-small, .learning-plans-body.relaunch .learning-wrapper .badge-content span, .learning-plans-body.relaunch .learning-wrapper .learnable-type-chip, .learning-plans-body.relaunch .learning-wrapper .learnable-type-chip-card {
  font: var(--md-sys-typescale-label-small);
}

.non-visible-screen-reader-description {
  height: 1px;
  left: -10000px;
  overflow: hidden;
  position: absolute;
  top: auto;
  width: 1px;
}


* {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  background: var(--md-sys-color-background);
  color: var(--md-sys-color-on-background);
  font: var(--md-sys-typescale-body-large);
  overscroll-behavior: none;
}
body.application-new {
  transition: padding-left 0.175s cubic-bezier(0.4, 0, 0.6, 1);
  min-height: 100vh;
  padding-top: 64px;
  padding-left: 72px;
  padding-right: 72px;
}
@media (max-width: 600px) {
  body.application-new {
    padding-left: 0;
    padding-right: 0;
  }
}
body.no-nav {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.l-dense, body.l-full {
  padding-right: 0;
}
@media (max-width: 600px) {
  body {
    padding-left: 0px;
    padding-right: 0px;
  }
}

html {
  font-size: 100%;
}

svg {
  display: block;
}

abbr[title] {
  text-decoration: none;
}

@media (max-width: 600px) {
  .zEWidget-launcher {
    bottom: 64px !important;
    margin: 8px !important;
  }
}

.sticky {
  position: sticky;
  top: 0;
  z-index: 996;
}

.banner {
  z-index: 9;
}

/* Positioning for the support callout banners on the old-style layout pages. */
.sticky-for-old-layouts {
  /* Left margin is needed to overcome the 72px left padding on the body
  container, top margin is needed to overcome the bottom padding on the header
  container, bottom margin maintains the 24px spacing between the header/banner
  content and the rest of the page */
  margin: -23px 0px 24px -72px;
  position: sticky;
  top: 64px;
  width: 100vw;
  /* The header container has a z-index of 30, this must be set lower so that
  the account menu opens over the banners rather than behind them. */
  z-index: 29;
  /* This accounts for the changes to the body padding for mobile sizes */
}
@media (max-width: 600px) {
  .sticky-for-old-layouts {
    margin: -23px 0px 24px 0px;
  }
}

.body {
  /* TODO(aramys): Audit all uses, this should work across the site */
}
.body-container {
  overflow: visible;
}
.body-content {
  min-height: 100vh;
  padding-bottom: 128px;
}
.body-container[relaunch] .body-content {
  background: var(--md-sys-color-surface);
  display: flex;
  flex-direction: column;
  padding-bottom: 0px;
}
.body-container[relaunch] .body-content main {
  flex-grow: 1;
}

.page-header {
  z-index: 9;
}

.standard-main-container {
  overflow: visible;
  z-index: 9;
}
.standard-main-container .sidenav-drawer {
  height: auto;
  overflow-y: auto;
  padding-right: 24px;
}
.standard-main-container main {
  padding: 24px;
}

#app-nav[relaunch] ~ .body-content .standard-main-container .sidenav-drawer {
  background: var(--md-sys-color-surface);
}

@media (max-width: 600px) {
  body.l-full .zEWidget-launcher {
    bottom: 0 !important;
  }
}

html {
  scroll-padding-top: 80px;
  scroll-behavior: smooth;
}

main {
  padding: 0 48px;
  position: relative;
}
@media (max-width: 600px) {
  main {
    padding: 0 16px;
  }
}
body.l-dense main {
  padding: 0 24px;
}
body.l-full main {
  padding: 0;
}

.breadcrumbs-container {
  align-items: center;
  color: var(--md-sys-color--on-surface-variant);
  display: flex;
  justify-content: flex-start;
  margin-bottom: 16px;
}
.breadcrumbs-container ol {
  align-items: center;
  display: flex;
  flex: 1;
  gap: 8px;
  list-style-type: none;
  overflow: hidden;
  margin: 0;
}
.breadcrumbs-container li {
  align-items: center;
  display: flex;
}
.breadcrumbs-container li.breadcrumb-item {
  gap: 8px;
}
.breadcrumbs-container li.breadcrumb-item:last-of-type ql-icon {
  display: none;
}
.breadcrumbs-container li.ql-label-medium ql-icon-button {
  --icon-size: 18px;
}
.breadcrumbs-container li.ql-label-medium ql-icon {
  font-size: 18px;
}
.breadcrumbs-container a {
  color: var(--md-sys-color--on-surface-variant);
  text-decoration: none;
}
.breadcrumbs-container ql-icon {
  color: var(--md-sys-color-on-surface-variant);
}
.breadcrumbs-container ql-icon-button {
  --md-icon-button-icon-color: var(--md-sys-color-on-surface-variant);
}

#callout-container {
  background: var(--base-surface-color, white);
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.l-main-wrapper {
  margin: 0 auto;
  max-width: 1200px;
  min-width: 840px;
  padding: 48px 0;
}
@media (max-width: 1263px) {
  .l-main-wrapper {
    min-width: 0px;
    padding: 12px 0;
  }
}
@media (max-width: 600px) {
  .l-main-wrapper {
    max-width: 100%;
    margin-bottom: 64px;
  }
}
body.l-dense .l-main-wrapper {
  max-width: 100%;
  padding: 24px 0;
}
body.l-full .l-main-wrapper {
  max-width: 100%;
  margin-bottom: 0;
  padding: 0;
}

.l-admin-container,
.l-my-account-container {
  display: flex;
  margin-bottom: 3rem;
}

.l-classroom__sidebar {
  width: 384px;
}

.l-classroom__sidebar--students {
  flex: 1;
  width: auto;
}

.l-classroom__main {
  flex: 1;
}

.l-classroom__main--students {
  flex: 0 0 auto;
  width: 640px;
}

.l-fill-area {
  width: 100%;
  height: 100%;
  display: block;
}

.l-flex-vertical {
  align-items: center;
  display: flex;
}

.l-form-width {
  max-width: 600px;
}

.l-full-container {
  display: flex;
  width: 100%;
}
.l-full-container::after {
  clear: both;
  content: "";
  display: table;
}

.l-half-width {
  flex: 1;
  max-width: 50%;
}
.l-half-width + .l-half-width {
  margin-left: 1.5rem;
}

.l-hidden {
  display: none;
}

.l-ie-iframe-fix {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  z-index: -1;
}

.l-main-container {
  flex: auto;
  min-height: calc(100vh - 60px - 121px - 9rem);
  width: 0;
}

.l-sidebar {
  flex: none;
  margin-right: 1.5rem;
  width: 180px;
}

.l-wrapper {
  padding-left: 24px;
  padding-right: 24px;
}

.l-no-padding .l-main-wrapper {
  padding: 0px;
}

.l-wrapper--cards {
  display: flex;
  margin: 0 auto;
  max-width: 1680px;
}

.l-wrapper--labs {
  margin: 0 auto;
  max-width: 864px;
}

.l-wrapper--text {
  margin-left: auto;
  margin-right: auto;
  max-width: 650px;
}

.l-wrapper--group {
  max-width: 600px;
}

.l-mbz {
  margin-bottom: 0;
}

.l-mbs {
  margin-bottom: 0.375rem;
}

.l-mbm {
  margin-bottom: 0.75rem;
}

.l-mbl {
  margin-bottom: 1.5rem;
}

.l-mbxl {
  margin-bottom: 3rem;
}

.l-mbxxl {
  margin-bottom: 6rem;
}

.l-mls {
  margin-left: 0.375rem;
}

.l-mlm {
  margin-left: 0.75rem;
}

.l-mll {
  margin-left: 1.5rem;
}

.l-mlxl {
  margin-left: 3rem;
}

.l-mlxxl {
  margin-left: 6rem;
}

.l-mlauto {
  margin-left: auto;
}

.l-mrs {
  margin-right: 0.375rem;
}

.l-mrm {
  margin-right: 0.75rem;
}

.l-mrl {
  margin-right: 1.5rem;
}

.l-mrxl {
  margin-right: 3rem;
}

.l-mrxxl {
  margin-right: 6rem;
}

.l-mrzero {
  margin-right: 0;
}

.l-mts {
  margin-top: 0.375rem;
}

.l-mtm {
  margin-top: 0.75rem;
}

.l-mtl {
  margin-top: 1.5rem;
}

.l-mtxl {
  margin-top: 3rem;
}

.l-mtxxl {
  margin-top: 6rem;
}

.hidden {
  display: none;
}

@media (max-width: 600px) {
  .hide-mobile,
  .mobile-hide {
    display: none !important;
  }
}

.show-mobile,
.mobile-show {
  display: none !important;
}
@media (max-width: 600px) {
  .show-mobile,
  .mobile-show {
    display: block !important;
  }
}

@media (max-width: 965px) {
  .hide-tablet,
  .tablet-hide {
    display: none !important;
  }
}

.show-tablet,
.tablet-show {
  display: none !important;
}
@media (max-width: 965px) {
  .show-tablet,
  .tablet-show {
    display: block !important;
  }
}

@media (max-width: 965px) {
  .hide-ipad,
  .ipad-hide {
    display: none !important;
  }
}

.show-ipad,
.ipad-show {
  display: none !important;
}
@media (max-width: 965px) {
  .show-ipad,
  .ipad-show {
    display: block !important;
  }
}

.no-padding {
  padding: 0px !important;
}

.center-text {
  text-align: center;
}

.right-text {
  text-align: right;
}

.learner-profile-body {
  margin: 0 auto;
  max-width: 1400px;
}
.learner-profile-body .profile-badges {
  grid-template-columns: repeat(auto-fit, 1fr);
}

.filter-search {
  border: 1px solid #DADCE0;
  border-radius: 28px;
  display: flex;
  margin-bottom: 1rem;
  width: 100%;
}
.filter-search .search-bar-icon {
  align-items: center;
  display: flex;
  justify-content: center;
  padding: 0 0.5rem;
}
.filter-search .js-autocomplete {
  border: initial;
  padding-left: initial;
  background-color: transparent;
}
.filter-search .js-autocomplete:-webkit-autofill, .filter-search .js-autocomplete:-webkit-autofill:hover, .filter-search .js-autocomplete:-webkit-autofill:focus, .filter-search .js-autocomplete:-internal-autofill-selected {
  -webkit-box-shadow: 0 0 0px 1000px white inset !important;
  border-radius: 0 28px 28px 0;
}

@media (max-width: 600px) {
  #g_id_onload {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
  }
}
@media not (max-width: 600px) {
  #g_id_onload {
    position: fixed;
    right: 15px;
    top: 70px;
  }
}
.grecaptcha-badge {
  visibility: hidden;
}

.accordion-group {
  background: var(--base-surface-color);
  border-radius: 2px;
  margin-bottom: 24px;
  padding: 24px;
}

.accordion-heading {
  align-items: center;
  display: flex;
}

.accordion-toggle {
  align-items: center;
  display: flex;
  font-size: 20px;
  font-weight: 400;
  margin-right: auto;
  text-decoration: none !important;
}
.accordion-toggle i {
  margin-left: 8px;
}

.accordion-body {
  margin-top: 24px;
}

.dashboard-container {
  width: 100%;
  height: 100%;
  background: white;
  position: relative;
}

.dashboard-container--auto-height {
  height: auto;
}

.dashboard-container--danger {
  border-color: var(--warn-color);
}
.dashboard-container--danger .dashboard-container__header {
  color: var(--warn-color);
  border-bottom-color: var(--warn-color);
}

.dashboard-container__header,
.dashboard-container__body {
  padding: 1.5rem;
}
@media (max-width: 425px) {
  .dashboard-container__header,
  .dashboard-container__body {
    padding: 1.5rem 0;
  }
}

.dashboard-container__header {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  justify-content: space-between;
}
.dashboard-container__header__actions {
  margin-left: auto;
}
.dashboard-container__header__title {
  font-size: 28px;
  font-weight: 400;
}

.dashboard-container__body {
  overflow-x: auto;
}

.my_account-users .dashboard-container__body {
  overflow-x: visible;
}

#age-gate-modal {
  --dialog-color: #E9EEF6;
  padding-bottom: 0px;
}
#age-gate-modal .title {
  margin-bottom: 16px;
}
#age-gate-modal ql-icon {
  color: #00639B;
}
#age-gate-modal select {
  background-color: #E9EEF6;
}
#age-gate-modal .control-group.integer label,
#age-gate-modal .control-group.select label {
  background: #E9EEF6;
}
#age-gate-modal .form-row .control-group:not(:last-of-type) {
  margin-right: 12px;
}
#age-gate-modal .form-row.buttons {
  justify-content: flex-end;
}
#age-gate-modal .month {
  flex: 2;
}
#age-gate-modal .day {
  flex: 1;
}
#age-gate-modal .year {
  flex: 1.5;
}

.form-row.age-gate-fields {
  align-items: flex-start;
}
.form-row.age-gate-fields .control-group.integer label,
.form-row.age-gate-fields .control-group.select label {
  top: -13px;
}
.form-row.age-gate-fields select {
  border-color: var(--md-sys-color-outline);
}
.form-row.age-gate-fields select:focus {
  border-color: var(--primary-text-on-surface-color);
  border-width: 3px;
}

#age-verified-modal {
  --dialog-width: 380px;
}
#age-verified-modal .age-verified-header ql-icon {
  color: #188038;
}
#age-verified-modal ql-button {
  --button-width: 100%;
  padding: 0 16px 16px;
}

.alert {
  background: var(--primary-surface-color);
  border: none;
  border-radius: 8px;
  color: var(--text-on-primary-color);
  display: flex;
  font-size: 14px;
  padding: 1.5rem;
  text-shadow: none;
  width: 100%;
  z-index: 997;
  outline: 1px solid transparent;
}
.alert a {
  text-decoration: underline;
  transition: all 0.1s ease-in-out;
  color: var(--text-on-primary-color);
  cursor: pointer;
  text-decoration: none;
}
.alert a:hover {
  text-decoration: underline;
}

.alert__message {
  font-size: inherit;
  margin-bottom: 0;
}

.alert-error {
  background: var(--warn-color);
}

.alert__close {
  color: var(--text-on-primary-color);
  cursor: pointer;
  display: block;
  flex: none;
  margin-left: auto;
}
.alert__close i.fa {
  font-size: 18px !important;
}
.alert__close:hover {
  color: var(--text-on-primary-color);
}

.alert--fake {
  display: none;
  width: calc(100% - 4px);
  position: absolute;
}

.alert--large {
  padding: 3rem;
}

.alert--yellow {
  background: rgba(var(--accent-surface-color-rgb), 0.75);
  color: #202124;
}
.alert--yellow a {
  transition: all 0.1s ease-in-out;
  color: var(--primary-text-on-surface-color);
  cursor: pointer;
  text-decoration: none;
}
.alert--yellow a:hover {
  text-decoration: underline;
}

.alert--promo {
  background: #C92786;
}
.alert--promo p {
  font-size: 16px;
}

.alert, .flash {
  left: 0px;
  margin-left: 114px;
  position: fixed;
  top: 80px;
  width: calc(100vw - 162px);
}

.is-open .flash {
  margin-left: 304px;
  width: calc(100vw - 352px);
}

.assessmentManualSteps h4 {
  margin-bottom: 20px;
}
.assessmentManualSteps .step_fields {
  border: 1px solid var(--hairline-color);
  padding: 10px;
}
.assessmentManualSteps .add_nested_fields {
  margin-bottom: 20px;
}

.ui-widget.ui-widget-content {
  border: 1px solid #DADCE0;
  border-radius: 8px;
  box-shadow: 0px 1px 2px 0px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);
  padding: 8px 0;
  z-index: 999;
}

.ui-menu .ui-menu-item {
  color: #202124;
  font-weight: 400;
  font-size: 15px;
  list-style-image: none;
}
.ui-menu .ui-menu-item .ui-menu-item-wrapper {
  padding: 8px 16px;
}
.ui-menu .ui-menu-item .ui-menu-item-wrapper.ui-state-active {
  background: #F8F9FA;
  border: none;
  color: #202124;
  margin: 0px;
  position: relative;
}
.ui-menu .ui-menu-item .ui-menu-item-wrapper.ui-state-active:after {
  background: var(--primary-surface-color);
  content: "";
  display: block;
  left: -1px;
  height: 100%;
  position: absolute;
  top: 0px;
  width: 3px;
}
.ui-menu .ui-menu-item .autocomplete--user {
  align-items: center;
  display: flex;
  height: 32px;
}
.ui-menu .ui-menu-item .autocomplete--user img {
  border-radius: 50%;
  height: 32px;
  margin-right: 8px;
  width: 32px;
}
.ui-menu .ui-menu-item .autocomplete--user div {
  font-size: 15px;
  line-height: 1;
}
.ui-menu .ui-menu-item .autocomplete--user div span {
  color: #aaa;
  display: block;
  font-size: 13px;
}

.ui-widget-content .ui-state-focus {
  background: #DADCE0;
  border: none;
}

.ui-menu .ui-state-focus {
  margin: 0;
}

ql-avatar {
  align-items: center;
  display: inline-flex;
  justify-content: center;
}

.badge {
  width: 110px;
  height: 118px;
  color: white;
}

.badge--small {
  width: 55px;
  height: 59px;
}

.badge--incomplete {
  filter: grayscale(100%) opacity(25%);
}

ql-user-points {
  flex-shrink: 0;
}

ql-chip.barker-points-chip {
  --chip-color: #E6F4EA;
  --chip-text-color: #0D652D;
  --chip-border-color: none;
  width: fit-content;
}
ql-chip.barker-points-chip.featured {
  cursor: pointer;
}

#barker-announcement-modal {
  --dialog-width: 540px;
}
#barker-announcement-modal .page-content {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 580px;
  justify-content: space-between;
  text-align: center;
}
#barker-announcement-modal .page-content img {
  min-height: 400px;
  object-fit: contain;
  width: 480px;
}
#barker-announcement-modal .page-content h1 {
  margin: 24px 0 12px 0;
}
#barker-announcement-modal .page-content h1 .small-header {
  font-size: 22px;
  line-height: 1em;
}
#barker-announcement-modal .page-content p {
  font-size: 18px;
}
#barker-announcement-modal .page-content .buttons {
  display: flex;
  gap: 12px;
  justify-content: center;
}

.bottom-menu {
  background: white;
  box-shadow: 0 -3px 6px rgba(0, 0, 0, 0.2);
  display: none;
  height: 56px;
  justify-content: space-around;
  position: relative;
  width: 100vw;
  z-index: 25;
}
@media (max-width: 600px) {
  .bottom-menu {
    display: flex;
    position: fixed;
    bottom: 0px;
  }
}
.bottom-menu .side-menu__item {
  align-items: center;
  border-left: none;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  margin: 0px;
  width: 120px;
}
.bottom-menu .side-menu__item:before {
  display: none;
}
.bottom-menu .side-menu__item__icon {
  height: 24px;
  width: 24px;
  margin: 0px;
}
.bottom-menu .side-menu__item__tooltip {
  display: none;
}
.bottom-menu .side-menu__item__label {
  font-size: 12px;
  opacity: 1;
  line-height: 1;
  margin: 0px;
  padding: 0;
  transform: none;
}

.button:not(ql-button) {
  --button-color: var(--md-sys-color-primary);
  align-items: center;
  background-color: var(--button-color, #1A73E8);
  border: none;
  border-radius: 20px;
  box-shadow: none;
  box-sizing: border-box;
  color: var(--text-on-primary-color);
  display: inline-flex;
  font: var(--button-font);
  height: 40px;
  letter-spacing: var(--button-letter-spacing);
  justify-content: center;
  min-width: 64px;
  outline: none;
  padding: 8px 24px;
  top: 1px;
  cursor: pointer;
  position: relative;
  text-decoration: none !important;
  text-transform: none;
  transition: border 0.16s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.16s cubic-bezier(0.4, 0, 0.2, 1);
  user-select: none;
  will-change: transform, opacity;
}
.button:not(ql-button).button--positive, .button:not(ql-button)[positive] {
  --button-color: var(--success-color);
}
.button:not(ql-button).button--negative, .button:not(ql-button)[negative] {
  --button-color: var(--warn-color);
}
.button:not(ql-button).button--accent, .button:not(ql-button)[accent] {
  --button-color: var(--accent-surface-color);
  color: var(--text-on-accent-color);
}
.button:not(ql-button).button--full-width, .button:not(ql-button)[full-width] {
  width: 100%;
}
.button:not(ql-button).button--large, .button:not(ql-button)[large] {
  height: 56px;
  padding: 0 48px;
}
.button:not(ql-button).button--small, .button:not(ql-button)[small] {
  height: 24px;
  min-width: 0;
  padding: 0 12px;
}
.button:not(ql-button):before, .button:not(ql-button):after {
  background-color: #202124;
  border-radius: 20px;
  opacity: 0;
  position: absolute;
  pointer-events: none;
  top: 0;
  width: 100%;
  height: 100%;
  left: 0;
  content: "";
  transition: opacity 0.16s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.16s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1;
}
.button:not(ql-button):hover:not(:disabled) {
  box-shadow: 0 1px 2px 0 rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);
}
.button:not(ql-button):hover:not(:disabled):before {
  opacity: 0.16;
}
.button:not(ql-button):active:not(:disabled) {
  box-shadow: 0 1px 2px 0 rgba(60, 64, 67, 0.3), 0 2px 6px 2px rgba(60, 64, 67, 0.15);
}
.button:not(ql-button):active:not(:disabled):after {
  opacity: 0.2;
}
.button:not(ql-button):focus:not(:disabled):before {
  opacity: 0.24;
}
.button:not(ql-button):disabled, .button:not(ql-button)[disabled] {
  background-color: rgba(60, 64, 67, 0.12);
  color: rgba(60, 64, 67, 0.38);
  cursor: default;
}
.button:not(ql-button).button--hairline, .button:not(ql-button)[hairline] {
  background-color: transparent;
  border: 1px solid var(--hairline-color);
  color: var(--primary-text-on-surface-color);
  padding: 0 24px;
}
.button:not(ql-button).button--hairline:before, .button:not(ql-button).button--hairline:after, .button:not(ql-button)[hairline]:before, .button:not(ql-button)[hairline]:after {
  background-color: var(--button-color);
}
.button:not(ql-button).button--hairline:hover:not(:disabled), .button:not(ql-button)[hairline]:hover:not(:disabled) {
  box-shadow: none;
}
.button:not(ql-button).button--hairline:hover:not(:disabled):before, .button:not(ql-button)[hairline]:hover:not(:disabled):before {
  opacity: 0.04;
}
.button:not(ql-button).button--hairline:active:not(:disabled), .button:not(ql-button)[hairline]:active:not(:disabled) {
  box-shadow: none;
}
.button:not(ql-button).button--hairline:active:not(:disabled):after, .button:not(ql-button)[hairline]:active:not(:disabled):after {
  opacity: 0.12;
}
.button:not(ql-button).button--hairline:focus:not(:disabled), .button:not(ql-button)[hairline]:focus:not(:disabled) {
  border-color: var(--button-color);
}
.button:not(ql-button).button--hairline:focus:not(:disabled):before, .button:not(ql-button)[hairline]:focus:not(:disabled):before {
  opacity: 0.12;
}
.button:not(ql-button).button--hairline:disabled, .button:not(ql-button).button--hairline[disabled], .button:not(ql-button)[hairline]:disabled, .button:not(ql-button)[hairline][disabled] {
  border-color: rgba(60, 64, 67, 0.12);
  color: rgba(60, 64, 67, 0.38);
}
.button:not(ql-button).button--text, .button:not(ql-button).button--cancel, .button:not(ql-button)[text] {
  background-color: transparent;
  border: none;
  color: var(--button-color);
  padding: 0 8px;
}
.button:not(ql-button).button--text:before, .button:not(ql-button).button--text:after, .button:not(ql-button).button--cancel:before, .button:not(ql-button).button--cancel:after, .button:not(ql-button)[text]:before, .button:not(ql-button)[text]:after {
  background-color: var(--button-color);
}
.button:not(ql-button).button--text:hover:not(:disabled), .button:not(ql-button).button--cancel:hover:not(:disabled), .button:not(ql-button)[text]:hover:not(:disabled) {
  box-shadow: none;
}
.button:not(ql-button).button--text:hover:not(:disabled):before, .button:not(ql-button).button--cancel:hover:not(:disabled):before, .button:not(ql-button)[text]:hover:not(:disabled):before {
  opacity: 0.04;
}
.button:not(ql-button).button--text:active:not(:disabled), .button:not(ql-button).button--cancel:active:not(:disabled), .button:not(ql-button)[text]:active:not(:disabled) {
  box-shadow: none;
}
.button:not(ql-button).button--text:active:not(:disabled):after, .button:not(ql-button).button--cancel:active:not(:disabled):after, .button:not(ql-button)[text]:active:not(:disabled):after {
  opacity: 0.12;
}
.button:not(ql-button).button--text:focus:not(:disabled):before, .button:not(ql-button).button--cancel:focus:not(:disabled):before, .button:not(ql-button)[text]:focus:not(:disabled):before {
  opacity: 0.12;
}
.button:not(ql-button).button--text:disabled, .button:not(ql-button).button--text[disabled], .button:not(ql-button).button--cancel:disabled, .button:not(ql-button).button--cancel[disabled], .button:not(ql-button)[text]:disabled, .button:not(ql-button)[text][disabled] {
  color: rgba(60, 64, 67, 0.38);
}
.button:not(ql-button).button--inverted, .button:not(ql-button)[inverted] {
  background-color: var(--base-surface-color);
  border: none;
  color: var(--primary-text-on-surface-color);
}
.button:not(ql-button) ql-icon, .button:not(ql-button) i {
  height: 18px;
  font-size: 18px;
  margin-left: -4px;
  margin-right: 8px;
  width: 18px;
}

ql-button.button--full-width, ql-button.button[full-width] {
  --button-width: 100%;
}

.copy-button {
  --button-color: var(--base-surface-color);
}
.copy-button ql-icon {
  margin: 0;
}

.buy-credits__option, .buy-course__option {
  align-items: center;
  display: flex;
}
.buy-credits__option:not(:last-child), .buy-course__option:not(:last-child) {
  margin-bottom: 0.75rem;
}

.buy-credits__option__details, .buy-course__option__details {
  display: flex;
  flex: 1;
  cursor: pointer;
  font-size: 16px;
  font-weight: 400;
  margin-left: 0.75rem;
  text-transform: none;
}
.buy-credits__option__details.is-selected .buy-credits__option__details__item, .buy-credits__option__details.is-selected .buy-course__option__details__item, .buy-course__option__details.is-selected .buy-credits__option__details__item, .buy-course__option__details.is-selected .buy-course__option__details__item {
  background: var(--success-color);
  color: white;
}
.buy-credits__option__details.is-selected .buy-credits__option__details__item span, .buy-credits__option__details.is-selected .buy-course__option__details__item span, .buy-course__option__details.is-selected .buy-credits__option__details__item span, .buy-course__option__details.is-selected .buy-course__option__details__item span {
  color: rgba(255, 255, 255, 0.5);
}
.buy-credits__option__details.is-selected .buy-credits__option__details__price, .buy-credits__option__details.is-selected .buy-course__option__details__price, .buy-course__option__details.is-selected .buy-credits__option__details__price, .buy-course__option__details.is-selected .buy-course__option__details__price {
  border-color: var(--success-color);
}

.buy-credits__option__details__item, .buy-course__option__details__item {
  align-items: center;
  display: flex;
  flex: 1;
  background: #DADCE0;
  border-radius: 2px 0 0 2px;
  color: #202124;
  height: 60px;
  padding: 0 0.75rem;
}
.buy-credits__option__details__item img, .buy-course__option__details__item img {
  height: 40px;
  margin-right: 0.75rem;
}
.buy-credits__option__details__item span, .buy-course__option__details__item span {
  color: var(--success-color);
  font-size: 14px;
  margin-left: 0.75rem;
}
.buy-credits__option__details__item input, .buy-course__option__details__item input {
  margin-left: 0.75rem;
  width: 50%;
}

.buy-credits__option__details__price, .buy-course__option__details__price {
  width: 100px;
  height: 60px;
  border: 2px solid #DADCE0;
  border-radius: 0 2px 2px 0;
}

.buy-credits__total, .buy-course__total, .buy-course__tax, .buy-course__sub-total {
  display: flex;
}

.buy-credits__payment-options, .buy-course__payment-options {
  display: flex;
}
.buy-credits__payment-options > *:not(:last-child), .buy-course__payment-options > *:not(:last-child) {
  margin-right: 1.5rem;
}

#promo-code-form .form-row {
  display: flex;
}
#promo-code-form .form-row input {
  flex: 1;
  margin-right: 8px;
}

.card {
  background: #fff;
  border-radius: 8px;
  display: block;
  position: relative;
}

a.card {
  color: #202124;
}
a.card:hover {
  text-decoration: none;
}

.card--content {
  display: block;
  height: 240px;
  overflow: hidden;
  min-width: 210px;
}
.card--content .card__image {
  background: var(--primary-surface-color);
  overflow: hidden;
  position: relative;
  height: 45%;
}
.card--content .card__image:before {
  background: var(--primary-surface-color);
  content: "";
  display: block;
  height: 100%;
  left: 0;
  opacity: 0.7;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2;
}
.card--content .card__image__inner {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  height: 100%;
  left: 0px;
  position: absolute;
  top: 0px;
  width: 100%;
  z-index: 1;
}
.card--content .card__body {
  padding: 16px;
}
.card--content .card__footer {
  bottom: 0px;
  color: #5F6368;
  display: flex;
  font-family: var(--md-ref-typeface-plain);
  font-size: 12px;
  font-weight: 400;
  padding: 12px 16px;
  position: absolute;
  width: 100%;
}
.card--content .card__footer__right {
  align-items: flex-end;
  display: flex;
  margin-left: auto;
}
.card--content .card--content__type {
  color: #5F6368;
  margin-bottom: 6px;
}
.card--content .card--content__title {
  color: #202124;
  font-family: var(--md-ref-typeface-brand);
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 4px;
  max-height: 56px;
  overflow: hidden;
}
.card--content .card--content__description {
  display: none;
  max-height: 100px;
  overflow: hidden;
}
.card--content .card--content__chip {
  bottom: 8px;
  filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.3));
  position: absolute;
  right: 0px;
  z-index: 10;
}
.card--content .card--content__chip span {
  background: #C92786;
  border-radius: 6px 0px 0px 12px;
  color: white;
  clip-path: polygon(6px 100%, 100% 100%, 100% 0%, 0% 0%);
  font-size: 13px !important;
  padding: 4px 4px 4px 10px;
}
.card--content .rateit {
  align-items: center;
  display: flex;
}

.card-content-wrapper {
  position: relative;
}
.card-content-wrapper .favorite-button {
  position: absolute;
  right: 8px;
  top: 8px;
  z-index: 10;
}
.card-content-wrapper .favorite-button i {
  color: white;
}
.card-content-wrapper.is-unfavorited .card--content {
  filter: grayscale(1);
  opacity: 0.75;
}

.card--content--large {
  height: 504px;
}
.card--content--large .card__body {
  padding: 24px;
}
.card--content--large .card__footer {
  padding: 24px;
}
.card--content--large .card--content__title {
  font-size: 24px;
  font-weight: 400;
  min-height: 48px;
}
.card--content--large .card--content__description {
  display: block;
}
@media (max-width: 600px) {
  .card--content--large {
    width: 100%;
  }
}

.card--content.content-quest .card__image {
  background: radial-gradient(circle at 80% 80%, var(--primary-surface-color), var(--primary-surface-color));
}
.card--content.content-quest .card__image .card--content__progress-bar {
  background: rgba(255, 255, 255, 0.3);
  bottom: 0px;
  left: 0;
  height: 6px;
  position: absolute;
  width: 100%;
  z-index: 3;
}
.card--content.content-quest .card__image .card--content__progress {
  background: #F9AB00;
  height: 100%;
}
.card--content.content-quest .card__image .card__image__inner {
  background-size: 76%;
  height: 200%;
  left: 50px;
  top: -40%;
  transform: rotate(10deg);
}

.card--content.content-classroom .card__footer__right {
  display: none;
}
.card--content.content-classroom .card__image {
  background: #8430CE;
}
.card--content.content-classroom .card__image:before {
  background: rgba(132, 48, 206, 0.85);
}

.card--content.content-lab .card__image {
  background: #F9AB00;
}
.card--content.content-lab .card__image:before {
  background: rgba(249, 171, 0, 0.85);
}

.content-card-grid {
  display: grid;
  grid-gap: 24px 24px;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
@media (width >= 1362px) {
  .content-card-grid {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  }
}
@media (max-width: 600px) {
  .content-card-grid {
    grid-gap: 12px 12px;
    grid-template-columns: 1fr 1fr;
  }
}
.content-card-grid.highlight-first .card-content-wrapper:nth-child(1) {
  grid-column: 1/3;
  grid-row: 1/3;
}
.content-card-grid.highlight-first .card-content-wrapper:nth-child(1) .card--content {
  height: 504px;
}
.content-card-grid.highlight-first .card-content-wrapper:nth-child(1) .card--content .card__body {
  padding: 24px;
}
.content-card-grid.highlight-first .card-content-wrapper:nth-child(1) .card--content .card__footer {
  padding: 24px;
}
.content-card-grid.highlight-first .card-content-wrapper:nth-child(1) .card--content .card--content__title {
  font-size: 24px;
  font-weight: 400;
  min-height: 48px;
}
.content-card-grid.highlight-first .card-content-wrapper:nth-child(1) .card--content .card--content__description {
  display: block;
}
@media (max-width: 600px) {
  .content-card-grid.highlight-first .card-content-wrapper:nth-child(1) .card--content {
    width: 100%;
  }
}

.card--horizontal {
  display: flex;
  overflow: hidden;
}
.card--horizontal .card__image {
  background: gray;
  flex: 0 0 auto;
  width: 120px;
}

.card__title {
  padding: 24px;
}

.card__body {
  padding: 24px;
}
.card__body p:last-child {
  margin: 0px;
}
.card__body pre {
  margin: 0 0 1em 0;
  overflow-x: scroll;
  white-space: pre-wrap;
}
@media (max-width: 600px) {
  .card__body {
    padding: 24px 16px;
  }
}

.card__title + .card__body {
  padding-top: 0px;
}

.no-padding {
  padding: 0;
}

.card__title h2 {
  font-family: var(--md-ref-typeface-brand);
  font-weight: 400;
  font-size: 20px;
  line-height: 26px;
}

.card__action {
  margin: 22px 22px 0 0;
  position: absolute;
  right: 0;
  top: 0;
}

.card--tight .card__title,
.card--tight .card__body {
  padding: 8px;
}

.card__inner {
  padding: 1.5rem;
}

.card__big-button__wrapper {
  display: flex;
  flex-wrap: wrap;
}

.card__big-button {
  background: white;
  box-shadow: 0px 1px 6px rgba(32, 33, 36, 0.28);
  border-radius: 8px;
  flex: 0 0 auto;
  margin-bottom: 24px;
  padding-bottom: 20%;
  position: relative;
  width: calc((100% - 48px) / 3);
}
.card__big-button:not(:nth-child(3n)) {
  margin-right: 24px;
}
.card__big-button:hover {
  background: #fafafa;
  transform: scale(1.02);
}

.card__big-button__inner {
  display: flex;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.card__big-button__inner img {
  margin: auto;
  width: 50%;
}

.card-wrapper {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 600px) {
  .card-wrapper {
    display: block;
  }
}

.card--catalog {
  background: linear-gradient(to right bottom, var(--primary-surface-color), var(--primary-surface-color));
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
  color: var(--text-on-primary-color);
  display: block;
  padding: 16px;
  text-decoration: none !important;
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.card--catalog h2 {
  font-family: var(--md-ref-typeface-brand);
  font-size: 22px;
  font-weight: 100;
}
.card--catalog h3 {
  font-size: 14px;
  font-weight: 100;
  margin-top: 8px;
  opacity: 0.8;
}
.card--catalog span {
  background: var(--base-surface-color);
  border-radius: 100px;
  color: var(--primary-text-on-surface-color);
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  margin-top: 8px;
  padding: 2px 9px;
  text-transform: uppercase;
}
.card--catalog p {
  font-size: 14px;
  margin: 0;
  opacity: 0.54;
}
.card--catalog .mdl-card__content {
  bottom: 16px;
  left: 16px;
  position: absolute;
  right: 16px;
}
.card--catalog:hover {
  background: linear-gradient(to right bottom, var(--primary-surface-color), var(--primary-surface-color));
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.14), 0 1px 10px rgba(0, 0, 0, 0.12), 0 2px 4px rgba(0, 0, 0, 0.2);
}
@media (max-width: 600px) {
  .card--catalog {
    padding: 8px;
  }
  .card--catalog h2 {
    font-size: 18px;
  }
  .card--catalog p {
    font-size: 12px;
  }
  .card--catalog .mdl-card__content {
    bottom: 8px;
    left: 8px;
    right: 8px;
  }
}

.card--classroom {
  background: linear-gradient(to right bottom, #8430CE, #8430CE);
}
.card--classroom span {
  color: #8430CE;
}
.card--classroom:hover {
  background: linear-gradient(to right bottom, #8430CE, #8430CE);
}

.card--quest {
  background: linear-gradient(to right bottom, var(--primary-surface-color), var(--primary-surface-color));
}
.card--quest span {
  color: var(--primary-text-on-surface-color);
}
.card--quest:hover {
  background: linear-gradient(to right bottom, var(--primary-surface-color), var(--primary-surface-color));
}
.card--quest .card--quest__progress-bar {
  background: rgba(255, 255, 255, 0.3);
  bottom: 4px;
  left: 0;
  height: 4px;
  position: absolute;
  width: 100%;
}
.card--quest .card--quest__progress {
  background: #F9AB00;
  height: 100%;
}

.card--in-session {
  padding: 16px;
}
.card--in-session h2 {
  font-size: 28px;
}
.card--in-session span {
  font-size: 13px;
}
.card--in-session p {
  font-size: 16px;
}

.lab-show-card,
.card--lab-show {
  margin-bottom: 24px;
  margin-right: 24px;
  min-height: 0px;
  width: 100%;
}
.lab-show-card p,
.card--lab-show p {
  color: rgba(0, 0, 0, 0.87);
  font-size: 14px;
  margin: 0;
}
.lab-show-card p span,
.card--lab-show p span {
  color: rgba(0, 0, 0, 0.54);
  margin-right: 24px;
}
.lab-show-card .permissions-display,
.card--lab-show .permissions-display {
  margin: 8px 0;
}
.lab-show-card:last-of-type,
.card--lab-show:last-of-type {
  margin-right: 0px;
}

.card--edit-lab-locale {
  margin: 0 auto;
  width: 640px;
}
.card--edit-lab-locale .mdl-card__supporting-text {
  width: 100%;
}
.card--edit-lab-locale .mdl-card__actions {
  text-align: right;
}

.card--full-width {
  width: 100%;
}

.card--table {
  width: 100%;
}
.card--table .mdl-card__supporting-text {
  padding: 16px 0;
  width: 100%;
}

.card--instructions {
  padding: 64px;
  width: 100%;
}
.card--instructions h1:first-of-type {
  margin-top: 0px !important;
}

.mdl-card {
  border: 1px solid #eee;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  border-radius: 8px;
  min-height: 0px;
  position: relative;
  width: 100%;
}

.mdl-card--shadow {
  box-shadow: 0px 1px 6px rgba(32, 33, 36, 0.28);
}

.mdl-card__supporting-text .pagination {
  margin: 24px 16px 8px 0px;
}

.mdl-card__title {
  justify-content: space-between;
  padding: 24px;
}
@media (max-width: 600px) {
  .mdl-card__title {
    padding: 16px;
  }
}

.mdl-card__supporting-text--full {
  padding: 24px;
  width: 100%;
}

.mdl-card__edit {
  border-radius: 8px;
  box-shadow: 0px 1px 6px rgba(32, 33, 36, 0.28);
}

.mdl-card__edit-row,
.mdl-card__edit-title {
  background: #fff;
  border-top: 1px solid #eee;
  cursor: pointer;
  font-size: 14px;
  height: 64px;
  padding: 12px 24px;
  transition: all 0.15s ease-in-out;
}
.mdl-card__edit-row h3,
.mdl-card__edit-title h3 {
  margin-bottom: 3px;
  transition: all 0.2s ease-in-out;
}
.mdl-card__edit-row .mdl-card__edit-row__closed,
.mdl-card__edit-title .mdl-card__edit-row__closed {
  color: #5F6368;
  font-size: 13px;
}
.mdl-card__edit-row .mdl-card__edit-row__closed span:not(:last-child),
.mdl-card__edit-title .mdl-card__edit-row__closed span:not(:last-child) {
  margin-right: 12px;
}
.mdl-card__edit-row .mdl-card__edit-row__open,
.mdl-card__edit-title .mdl-card__edit-row__open {
  left: -5000px;
  opacity: 0;
  position: relative;
}
.mdl-card__edit-row .mdl-card__edit-row__open .form-row:last-child,
.mdl-card__edit-title .mdl-card__edit-row__open .form-row:last-child {
  margin-bottom: 0px;
}
.mdl-card__edit-row .mdl-card__edit-row__open .button,
.mdl-card__edit-title .mdl-card__edit-row__open .button {
  margin-left: auto;
}
.mdl-card__edit-row:first-child,
.mdl-card__edit-title:first-child {
  border-radius: 8px 8px 0 0;
  border-top: none;
}
.mdl-card__edit-row:last-child,
.mdl-card__edit-title:last-child {
  border-radius: 0 0 8px 8px;
}

.mdl-card__edit-row:hover {
  background: #f6f6f6;
}

.mdl-card__edit-row.is-selected {
  background: #f6f6f6;
  border-top-color: #ddd;
  cursor: default;
}
.mdl-card__edit-row.is-selected h3 {
  margin-bottom: 16px;
}
.mdl-card__edit-row.is-selected .mdl-card__edit-row__closed {
  display: none;
}
.mdl-card__edit-row.is-selected .mdl-card__edit-row__open {
  transition: opacity 0.2s ease-in-out;
  opacity: 1;
  left: 0;
}
.mdl-card__edit-row.is-selected + .mdl-card__edit-row {
  border-top-color: #ddd;
}
.mdl-card__edit-row.is-selected.is-advanced {
  height: 238px !important;
}

.mdl-card__edit-row.is-invalid {
  background: rgba(217, 48, 37, 0.2);
}

.mdl-card__edit.is-locked .mdl-card__edit-row,
.mdl-card__edit.is-locked .mdl-card__edit-title {
  cursor: default;
}
.mdl-card__edit.is-locked .mdl-card__edit-row:hover,
.mdl-card__edit.is-locked .mdl-card__edit-title:hover {
  background: #fff;
}

.mdl-card__edit-row.is-disabled {
  cursor: default;
  height: auto;
  min-height: 64px;
}
.mdl-card__edit-row.is-disabled h3 {
  font-weight: bold;
  color: #D93025;
}

.mdl-shadow--1dp {
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.14), 0 2px 2px rgba(0, 0, 0, 0.12), 0 1px 3px rgba(0, 0, 0, 0.2);
}

.card--search {
  height: auto;
  min-height: 0;
}
.card--search form {
  align-items: center;
  display: flex;
  padding-right: 24px;
}
.card--search md-outlined-text-field[type=search] {
  background: none;
  border: none;
  font-size: 15px;
  height: auto;
  padding: 16px 24px;
}
.card--search .mdl-card__tabs {
  background: rgba(0, 0, 0, 0.04);
  border-bottom: none;
  border-top: 1px solid rgba(0, 0, 0, 0.04);
}
.card--search .mdl-card__tabs a {
  height: 40px;
}

.card--table {
  border: 1px solid #eee;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.card--no_shadow {
  box-shadow: none;
}

.learning_plan_width {
  max-width: 500px;
}

.card--group {
  border: 1px solid #eee;
  border-radius: 8px;
  max-width: 678px;
}
.card--group hr {
  margin: 0px;
}
.card--group .membership {
  justify-content: space-between;
  align-items: center;
  display: flex;
}
.card--group .membership p.ql-body-medium {
  margin-bottom: 0px;
}

.hover-gray:hover {
  background: #F8F9FA;
}

.learner-catalog-body .catalog-wrapper {
  align-items: start;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  max-width: 960px;
}
.learner-catalog-body .catalog-wrapper > *:not(:last-child) {
  margin-bottom: 64px;
}
.learner-catalog-body .catalog-wrapper.wider {
  max-width: 1300px;
}
.learner-catalog-body .catalog-intro > *:not(:last-child) {
  margin-bottom: 16px;
}
.learner-catalog-body .catalog-filters-and-search-activities {
  display: grid;
  gap: 40px;
  grid-template-columns: 320px 1fr;
  width: 100%;
}
@media (max-width: 965px) {
  .learner-catalog-body .catalog-filters-and-search-activities {
    grid-template-columns: 1fr;
    justify-content: center;
  }
}
.learner-catalog-body .catalog-filters-and-search-activities .catalog-filters .filter-card {
  border-radius: 8px;
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.learner-catalog-body .catalog-filters-and-search-activities .catalog-filters .filter-title {
  color: var(--light-text-on-surface-color);
  font-weight: bold;
}
.learner-catalog-body .catalog-filters-and-search-activities .catalog-filters .header {
  justify-content: space-between;
  padding-left: 24px;
  padding-top: 10px;
}
.learner-catalog-body .catalog-filters-and-search-activities .catalog-filters .list-item:first-child {
  border-top: none;
}
.learner-catalog-body .catalog-filters-and-search-activities .catalog-activities {
  margin-top: 20px;
}
@media (max-width: 965px) {
  .learner-catalog-body .catalog-filters-and-search-activities .catalog-activities {
    margin-top: 0;
  }
}
.learner-catalog-body .catalog-filter-chips-wrapper {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 16px;
  justify-content: center;
  width: 100%;
}
.learner-catalog-body .catalog-filter-chips-wrapper .catalog-intro {
  display: flex;
  flex-direction: column;
  max-width: 786px;
  text-align: center;
}
.learner-catalog-body .catalog-filter-chips-wrapper .catalog-intro h1 {
  font-weight: 500;
  margin-bottom: 24px;
}
.learner-catalog-body .catalog-filter-chips-wrapper .catalog-search {
  margin-bottom: 16px;
  max-width: 720px;
}
.learner-catalog-body .catalog-filter-chips-wrapper .catalog-search input[type=search] {
  background: var(--md-sys-color-surface-container-high);
  border-color: transparent;
  border-radius: 28px;
}
.learner-catalog-body .catalog-filter-chips-wrapper .catalog-filters-and-results {
  width: 100%;
}
.learner-catalog-body .catalog-filter-chips-wrapper .catalog-filters-and-results .catalog-filters {
  justify-self: center;
}
.learner-catalog-body .catalog-filter-chips-wrapper .catalog-filters-and-results .catalog-activities {
  margin-top: 24px;
}
.learner-catalog-body .catalog-filter-chips-wrapper .catalog-filters-and-results .catalog-activities ql-search-result-container {
  --max-width: 1300px;
}
.learner-catalog-body .search-bar-icon {
  position: absolute;
  top: 0;
  padding: 8px 6px;
  right: 0;
}
.learner-catalog-body .search-bar-icon.hidden {
  display: none;
}
.learner-catalog-body .catalog__list {
  padding: 0;
}
.learner-catalog-body .catalog__list__item {
  display: flex;
  position: relative;
}
.learner-catalog-body .catalog__list__item .favorite-button,
.learner-catalog-body .catalog__list__item .featured-button {
  flex: 0;
  margin-right: 8px;
  margin-top: 21px;
}
.learner-catalog-body .catalog__list__item .catalog-item {
  flex: 1;
}

.learner-catalog-body.relaunch main {
  background-color: var(--md-sys-color-surface-container-low);
}

.catalog-search {
  width: 100%;
}
.catalog-search .js-search-form {
  position: relative;
}
.catalog-search #autocomplete {
  --md-outlined-text-field-container-shape: 28px;
  border-radius: 28px;
  padding: 8px 50px 8px 25px;
  scroll-margin: 70px;
}
.catalog-search #autocomplete::-webkit-search-cancel-button {
  display: none;
}
.catalog-search #autocomplete-loading-icon,
.catalog-search #autocomplete-no-results {
  align-items: center;
  border: 1px solid #DADCE0;
  border-radius: 4px;
  display: none;
  font-weight: 400;
  gap: 10px;
  min-height: 47px;
  padding: 8px 16px;
}
.catalog-search #autocomplete-menu {
  background-color: white;
  border-bottom: none;
  border-radius: 4px;
  border-top: none;
  border: 1px solid #DADCE0;
  left: 0;
  margin: 0;
  max-height: 30vh;
  overflow-y: scroll;
  padding: 0;
  position: absolute;
  right: 0;
  top: 100%;
  z-index: 2;
}
.catalog-search #autocomplete-menu.hide {
  display: none;
}
.catalog-search #autocomplete-menu li {
  background-color: none;
  border-bottom: 1px solid var(--md-sys-color-outline-variant);
  cursor: pointer;
  font-weight: 400;
  list-style-type: none;
  margin: 0;
}
.catalog-search #autocomplete-menu li div {
  align-items: center;
  display: flex;
  gap: 10px;
  padding: 8px 16px;
  position: relative;
}
.catalog-search #autocomplete-menu li div a {
  color: #202124;
}
.catalog-search #autocomplete-menu li div:hover, .catalog-search #autocomplete-menu li div:focus {
  background-color: var(--md-sys-color-secondary-container);
}
.catalog-search #autocomplete-menu li div:hover a, .catalog-search #autocomplete-menu li div:focus a {
  color: var(--md-sys-color-on-secondary-container);
}
.catalog-search .autocomplete-active {
  background-color: var(--md-sys-color-secondary-container);
}
.catalog-search .autocomplete-active a {
  color: var(--md-sys-color-on-secondary-container) !important;
}

md-outlined-text-field[type=text].catalog__search {
  transition: all 0.1s ease-in-out;
  align-items: center;
  background: url("/assets/icon_search-01c63254e059664b8172e370c52b5db2f9b38f6c.svg") no-repeat 8px center;
  display: flex;
  background-size: 20px 20px;
  border: none;
  border-bottom: 2px solid #DADCE0;
  border-radius: 0px;
  box-sizing: content-box;
  color: #202124;
  cursor: text;
  font-family: var(--md-ref-typeface-plain);
  font-size: 16px;
  font-weight: 400;
  height: 40px;
  line-height: 1;
  padding: 0;
  padding-left: 36px;
  width: calc(100% - 36px);
}
md-outlined-text-field[type=text].catalog__search::placeholder {
  color: #5F6368;
}
md-outlined-text-field[type=text].catalog__search:hover {
  background-image: url("/assets/icon_search--hover-bdcd08cda313c29cc423dc7219a7a61e43bc24cf.svg");
}
md-outlined-text-field[type=text].catalog__search:focus {
  background-image: url("/assets/icon_search--active-b7a6073c9dc158d008108ca0dea85bb94d11eac6.svg");
}

.card.catalog__filters ul {
  padding: 0;
  margin: 0;
}
.card.catalog__filters .list-item__details {
  list-style-type: none;
  max-height: 400px;
  overflow-y: auto;
  padding: 0 24px 12px 24px;
  width: 100%;
}
.card.catalog__filters .mdl-radio,
.card.catalog__filters .mdl-checkbox {
  display: block;
  font-size: 14px;
  height: 36px;
  line-height: 36px;
  margin-left: 4px;
  z-index: 1;
}
.card.catalog__filters .mdl-radio:hover,
.card.catalog__filters .mdl-checkbox:hover {
  z-index: 2;
}
.card.catalog__filters .mdl-checkbox__label {
  align-items: center;
  display: inline-flex;
  font-size: 14px;
  height: 36px;
}
.card.catalog__filters .mdl-checkbox__label i {
  color: #5F6368;
  font-size: 18px;
  margin-left: 8px;
}
.card.catalog__filters .mdl-tooltip {
  background: rgba(0, 0, 0, 0.8);
  font-weight: 400;
}
.card.catalog__filters .mdl-checkbox__focus-helper,
.card.catalog__filters .mdl-checkbox__box-outline,
.card.catalog__filters .mdl-radio__outer-circle {
  margin-top: -8px;
  top: 50%;
}
.card.catalog__filters .mdl-radio__inner-circle {
  margin-top: -4px;
  top: 50%;
}
.card.catalog__filters .mdl-checkbox__ripple-container {
  top: 0px;
}
.card.catalog__filters .mdl-radio__ripple-container {
  height: 36px;
  left: -10px;
  top: 0px;
  width: 36px;
}

.catalog-item {
  margin-bottom: 40px;
}
.catalog-item .content-chip {
  font-family: var(--md-ref-typeface-brand);
  margin-bottom: 8px;
  margin-right: 8px;
}
.catalog-item .voteable-content-chip {
  display: none;
}
.catalog-item .voteable-content-chip[is-on] {
  display: inline-block;
}
.catalog-item .catalog-item__title {
  display: flex;
  margin-bottom: 8px;
}
.catalog-item .catalog-item__title strong {
  font-weight: 500;
}
.catalog-item .catalog-item__title span {
  align-items: center;
  display: inline-flex;
}
.catalog-item .catalog-item__title i {
  margin-right: 4px;
}
.catalog-item .catalog-item__title a i {
  font-size: 14px;
}
.catalog-item .catalog-item__skill {
  font-size: 2px;
  margin-bottom: 2px;
}
.catalog-item .catalog-item__description {
  margin-bottom: 8px;
}
.catalog-item .catalog-item__footer {
  align-items: center;
  margin-top: 8px;
  display: flex;
}
.catalog-item .catalog-item__footer .catalog-item-footer-item {
  margin-right: 24px;
}
.catalog-item .catalog-item__footer .menu-lab-locales {
  position: relative;
}
.catalog-item .catalog-item__footer .menu-lab-locales ql-collapsible {
  align-items: center;
  cursor: pointer;
  display: flex;
  width: min-content;
}
.catalog-item .catalog-item__footer .menu-lab-locales ql-collapsible .hover-menu__menu {
  list-style: none;
  margin: 0;
  opacity: 1;
  padding-left: 0;
  transform: unset;
  z-index: 1;
}
.catalog-item .catalog-item__footer .menu-lab-locales ql-collapsible .hover-menu__menu__item {
  align-items: center;
  color: inherit;
  cursor: default;
  display: flex;
}
.catalog-item .catalog-item__footer .menu-lab-locales ql-collapsible.expanded .hover-menu__menu {
  z-index: 2;
}
.catalog-item .catalog-item__footer .menu-lab-locales ql-collapsible > *:not(:last-child) {
  margin-right: 3px;
}
.catalog-item .expand {
  color: #1A73E8;
  cursor: pointer;
}

#challenge-lab-modal {
  --dialog-width: 600px;
}

.content-chip {
  --chip-text-color: white;
}
.content-chip.content-lab {
  --chip-color: var(--lab-color);
  --chip-text-color: black;
}
.content-chip.content-quest {
  --chip-color: var(--quest-color);
}
.content-chip.content-game {
  --chip-color: var(--game-color);
  --chip-text-color: black;
}
.content-chip.content-classroom {
  --chip-color: var(--classroom-color);
  --chip-text-color: black;
}
.content-chip.content-external-course {
  --chip-color: var(--external-course-color);
}
.content-chip.content-course {
  --chip-color: var(--course-color);
  --chip-text-color: black;
}
.content-chip.content-certification {
  --chip-color: var(--certification-color);
}
.content-chip.content-learning-plan {
  --chip-color: var(--quest-color);
}
.content-chip.content-unknown {
  --chip-text-color: var(--base-text-on-surface-color);
}

.chosen-container {
  display: block;
  font-size: 13px;
  width: 100% !important;
}
.chosen-container .chosen-drop {
  transition: opacity 0.1s ease-in-out, left 0s ease-in-out 0.1s;
  border: none;
  background: #fff;
  box-shadow: var(--elevation-3);
  opacity: 0;
}
.chosen-container .chosen-results {
  color: var(--base-text-on-surface-color);
  margin: 0;
  padding: 8px 0;
  max-height: 300px;
}
.chosen-container .chosen-results li {
  font: var(--md-sys-typescale-body-large);
  padding: 16px;
  line-height: 1;
}
.chosen-container .chosen-results li.highlighted {
  background: #F8F9FA;
  color: var(--base-text-on-surface-color);
}

.chosen-container-single .chosen-single,
.chosen-container-single .chosen-choices,
.chosen-container-multi .chosen-single,
.chosen-container-multi .chosen-choices {
  transition: all 0.1s ease-in-out;
  align-items: center;
  background: transparent;
  border: 1px solid #DADCE0;
  border-radius: 4px !important;
  box-shadow: none;
  color: var(--base-text-on-surface-color);
  cursor: text;
  display: flex;
  font: var(--md-sys-typescale-body-large);
  line-height: 1;
  width: 100%;
}
.chosen-container-single .chosen-single:hover,
.chosen-container-single .chosen-choices:hover,
.chosen-container-multi .chosen-single:hover,
.chosen-container-multi .chosen-choices:hover {
  border-color: #9AA0A6;
}
.chosen-container-single .chosen-single,
.chosen-container-multi .chosen-single {
  height: 56px;
  padding: 8px 16px;
}
.chosen-container-single .chosen-single span,
.chosen-container-multi .chosen-single span {
  margin-right: 0;
}
.chosen-container-single .chosen-single div,
.chosen-container-multi .chosen-single div {
  width: 13px;
  height: 13px;
  margin-left: auto;
  position: static;
  display: block;
}
.chosen-container-single .chosen-single div b,
.chosen-container-multi .chosen-single div b {
  width: auto;
  height: auto;
  background: none !important;
  display: block;
}
.chosen-container-single .chosen-single div b:before,
.chosen-container-multi .chosen-single div b:before {
  color: #999;
  content: "keyboard_arrow_down";
  color: var(--light-text-on-surface-color);
}
.chosen-container-single .chosen-choices,
.chosen-container-multi .chosen-choices {
  height: auto;
  flex-wrap: wrap;
  padding: 5px 4px 4px 4px;
}
.chosen-container-single .chosen-choices li.search-choice,
.chosen-container-multi .chosen-choices li.search-choice {
  background: #DADCE0 !important;
  font-size: 13px;
  margin: 2px 4px 2px 4px;
  border: none;
  max-width: 100%;
  box-shadow: none;
  color: var(--base-text-on-surface-color);
  line-height: 1;
}
.chosen-container-single .chosen-choices li.search-field input[type=text],
.chosen-container-multi .chosen-choices li.search-field input[type=text] {
  color: #5F6368;
  font-family: var(--md-ref-typeface-plain);
  font-size: 13px;
  margin-left: 4px;
}
.chosen-container-single .chosen-drop,
.chosen-container-multi .chosen-drop {
  margin-top: 0;
}

.chosen-container.chosen-with-drop .chosen-drop {
  transition: opacity 0.1s ease-in-out;
  opacity: 1;
}

.chosen-container-active .chosen-single,
.chosen-container-active .chosen-choices {
  border-color: var(--primary-text-on-surface-color) !important;
  background: none !important;
  box-shadow: inset 0 0 0 1px var(--primary-text-on-surface-color) !important;
}
.chosen-container-active .chosen-single div b:before,
.chosen-container-active .chosen-choices div b:before {
  color: var(--primary-text-on-surface-color);
}
.chosen-container-active .chosen-single:hover,
.chosen-container-active .chosen-choices:hover {
  border-color: var(--primary-text-on-surface-color);
}

.chosen-container-multi .chosen-choices .search-choice .search-choice-close {
  background-image: url("/assets/chosen-sprite@2x-c4cb34f06a336abadd0939d8c02c9356ce38b1a3.png") !important;
  background-size: 52px 37px !important;
  background-repeat: no-repeat !important;
  transition: none !important;
}

.classroom_edit_sections {
  display: flex;
  margin-bottom: 12px;
}
.classroom_edit_sections .classroom_edit_inputs {
  margin: 0px 10px;
}
.classroom_edit_sections .classroom_edit_inputs input {
  margin: 0;
}

.classroom_edit_actions {
  margin: 10px;
}

.trainer-list {
  max-height: 300px;
  overflow: auto;
  position: relative;
}
.trainer-list #search_trainers {
  position: sticky;
  top: 0;
  background: white;
  z-index: 1;
}
.trainer-list .checkboxes {
  display: flex;
  flex-direction: column;
}
.trainer-list .checkboxes span label {
  margin-bottom: 20px;
  font-size: 14px;
}
.trainer-list .checkboxes span label input {
  margin: 10px;
}

.classroom_templates .label {
  color: #fff;
  border-radius: 3px;
  font-weight: bold;
  font-size: 11.844px;
  padding: 2px;
  background-color: #999;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  white-space: nowrap;
  vertical-align: baseline;
}
.classroom_templates .label.label-warning {
  background-color: #f89406;
}
.classroom_templates .label.label-success {
  background-color: #468847;
}

.instruction_fields {
  border: 1px solid var(--hairline-color);
  padding: 10px;
}
.instruction_fields h2 {
  font-weight: normal;
  margin-bottom: 4px;
}

.collaborator-modal__collaborator-list {
  border: 1px solid #ddd;
  max-height: 400px;
  overflow-y: auto;
  padding: 0;
}
.collaborator-modal__collaborator-list .mdl-list__item-secondary-content {
  align-items: center;
  flex-direction: row;
}
.collaborator-modal__collaborator-list .mdl-list__item-secondary-action {
  margin-left: 8px;
}

.collaborator-modal__error {
  color: var(--warn-color);
  font-size: 14px;
  margin-left: 32px;
}

.form-row.select.table-row {
  margin-bottom: 0px;
}

.catalog_checkbox {
  font-size: 14px;
}
.catalog_checkbox #setup_catalog {
  margin-right: 12px;
}

.credly-integration-modal {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.credly-integration-modal .credly-img {
  width: 50%;
  height: 50%;
}
.credly-integration-modal .credly-header {
  text-align: center;
}
.credly-integration-modal .credly-description {
  margin-top: 20px;
  text-align: center;
}

.current-version {
  bottom: 0;
  color: var(--medium-text-on-surface-color);
  font-family: monospace;
  font-size: 10px;
  line-height: 10px;
  margin: 0;
  padding: 4px;
  position: absolute;
  right: 0;
}

.daterangepicker {
  border: 2px solid var(--primary-text-on-surface-color);
  box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.1);
  display: none;
  padding: 0px;
}
.daterangepicker:before, .daterangepicker:after {
  display: none !important;
}
.daterangepicker .ranges {
  margin: 0px !important;
}
.daterangepicker .ranges li {
  background: none;
  border-radius: 0;
  border: none !important;
  color: #202124;
  font-size: 11px;
  margin: 0 !important;
  padding: 8px;
  text-transform: uppercase;
}
.daterangepicker .ranges li:hover {
  background: #DADCE0;
  color: #202124;
}
.daterangepicker .ranges li.active {
  background: var(--primary-surface-color);
  color: var(--text-on-primary-color);
}
.daterangepicker .range_inputs {
  border-top: 2px solid #DADCE0;
}
.daterangepicker .range_inputs .daterangepicker_start_input,
.daterangepicker .range_inputs .daterangepicker_end_input {
  float: none !important;
  padding: 0px 8px;
}
.daterangepicker .range_inputs label {
  color: #202124;
  font-size: 10px;
  line-height: 1;
  margin-bottom: 0px !important;
  text-shadow: none;
}
.daterangepicker .range_inputs .input-mini {
  padding: 4px;
  height: auto;
}
.daterangepicker .range_inputs .btn-small {
  height: auto;
  margin: 8px 0px 8px 6px;
  padding: 8px;
}
.daterangepicker .range_inputs .btn-small:first-of-type {
  margin-left: 11px;
}
.daterangepicker .range_inputs .btn-small.cancelBtn {
  box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.1);
  background: #DADCE0;
  color: #202124;
}
.daterangepicker .range_inputs .btn-small.cancelBtn:hover, .daterangepicker .range_inputs .btn-small.cancelBtn:focus {
  background: #DADCE0;
  color: #202124;
}
.daterangepicker .range_inputs .btn-small.cancelBtn:active {
  box-shadow: inset 3px 3px 1px rgba(0, 0, 0, 0.07);
}

.dialog {
  transition: transform 0.175s cubic-bezier(0.4, 0, 1, 1);
  transform: translateY(100%);
  z-index: 900;
}
.dialog--full-screen {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  right: nil;
  bottom: nil;
  left: 0;
}
.dialog--pure {
  background: white;
}
.dialog--pure .dialog__header {
  background: white;
  box-shadow: none;
}
.dialog.is-open {
  transition: transform 0.2s cubic-bezier(0, 0, 0.2, 1);
  transform: translateY(0%);
}

.dialog__header {
  align-items: center;
  display: flex;
  height: 60px;
  padding: 0px 24px;
}
.dialog__header a {
  margin-right: 32px;
}
.dialog__header h1 {
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
}

.dialog__body {
  margin: 64px auto;
  width: 640px;
}

.ui-droppable:after {
  background: rgba(var(--primary-surface-color-rgb), 0.8);
  color: var(--text-on-primary-color);
  content: "Drop Here";
  display: flex;
  font-size: 48px;
  font-weight: 200;
  height: 0%;
  justify-content: center;
  left: 0px;
  padding-top: 25%;
  opacity: 0;
  position: absolute;
  top: 0px;
  transition: opacity 0.15s ease-in-out, backround 0.15s ease-in-out;
  width: 0%;
}
.ui-droppable.is-droppable:after {
  height: 100%;
  opacity: 1;
  width: 100%;
}
.ui-droppable.is-active:after {
  background: rgba(var(--primary-surface-color-rgb), 10%);
}

.ql-drawer-container {
  --drawer-width: 296px;
  position: relative;
}
.ql-drawer-container .ql-drawer {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: var(--drawer-width);
}
.ql-drawer-container .ql-drawer-content {
  margin-left: var(--drawer-width);
}

.fx-wiggle {
  --wiggle-amount: 10deg;
  --wiggle-delay: 1s;
  animation-delay: var(--wiggle-delay);
  animation-duration: 1s;
  animation-name: wiggle;
}

@keyframes wiggle {
  8% {
    transform: rotate(calc(-1 * var(--wiggle-amount))) scale(1.1);
  }
  25% {
    transform: rotate(var(--wiggle-amount)) scale(1.1);
  }
  42% {
    transform: rotate(calc(-1 * var(--wiggle-amount))) scale(1.1);
  }
  60% {
    transform: rotate(var(--wiggle-amount)) scale(1.1);
  }
  77% {
    transform: rotate(calc(-1 * var(--wiggle-amount))) scale(1.1);
  }
  92% {
    transform: rotate(var(--wiggle-amount)) scale(1.1);
  }
}
.elevation-0 {
  border: 1px solid #DADCE0;
}

.elevation-1 {
  box-shadow: 0px 1px 2px 0px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);
}

.elevation-2 {
  box-shadow: 0px 1px 2px 0px rgba(60, 64, 67, 0.3), 0px 2px 6px 2px rgba(60, 64, 67, 0.15);
}

.elevation-3 {
  box-shadow: 0px 1px 3px 0px rgba(60, 64, 67, 0.3), 0px 4px 8px 3px rgba(60, 64, 67, 0.15);
}

.elevation-4 {
  box-shadow: 0px 2px 3px 0px rgba(60, 64, 67, 0.3), 0px 6px 10px 4px rgba(60, 64, 67, 0.15);
}

.elevation-5 {
  box-shadow: 0px 4px 4px 0px rgba(60, 64, 67, 0.3), 0px 8px 12px 6px rgba(60, 64, 67, 0.15);
}

.filters {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 24px 48px;
}
@media (max-width: 600px) {
  .filters {
    justify-content: center;
  }
}

.filter-group {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
@media (max-width: 600px) {
  .filter-group {
    justify-content: center;
  }
}
.filter-group input[type=date] {
  font: var(--button-font);
  letter-spacing: var(--button-letter-spacing);
  color: var(--light-text-on-surface-color);
  height: auto;
  width: auto;
}

#filters_date_range {
  align-items: center;
  gap: 8px;
  display: flex;
}
#filters_date_range.date_range_hidden {
  display: none;
}

.filter-checkbox {
  margin: 0;
  position: relative;
}
.filter-checkbox label {
  font: var(--button-font);
  letter-spacing: var(--button-letter-spacing);
  align-items: center;
  border: 1px solid var(--hairline-color);
  border-radius: 8px;
  color: var(--light-text-on-surface-color);
  cursor: pointer;
  display: flex;
  line-height: 20px;
  margin: 0;
  padding: 6px 16px;
}
.filter-checkbox input[type=checkbox] {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 8px;
  cursor: pointer;
  left: 0;
  height: 100%;
  position: absolute;
  top: 0;
  width: 100%;
}
.filter-checkbox input[type=checkbox]:hover, .filter-checkbox input[type=checkbox]:focus {
  background: var(--base-text-on-surface-color);
  opacity: 0.05;
  outline: none;
}
.filter-checkbox input[type=checkbox]:checked {
  background: var(--primary-surface-color);
  opacity: 0.1;
}
.filter-checkbox input[type=checkbox]:focus + label {
  border-color: var(--base-text-on-surface-color);
  color: var(--base-text-on-surface-color);
}
.filter-checkbox input[type=checkbox]:checked + label {
  border-color: transparent;
  color: var(--primary-text-on-surface-color-dark);
  padding-left: 8px;
}
.filter-checkbox input[type=checkbox]:checked + label:before {
  content: "check";
  display: inline-block;
  font-family: "Google Material Icons";
  font-size: 18px;
  margin-right: 8px;
}
.filter-checkbox input[type=checkbox]:checked:focus + label {
  border-color: var(--primary-text-on-surface-color);
}

.application-footer {
  align-items: center;
  background: #F8F9FA;
  bottom: 0;
  display: flex;
  flex-wrap: wrap;
  height: 64px;
  justify-content: flex-end;
  padding: 0 24px;
  position: absolute;
  width: 100%;
}
.application-footer a:not(.version) {
  color: var(--light-text-on-surface-color);
  font: var(--md-sys-typescale-body-medium);
  font-size: 13px;
  text-decoration: underline;
}
.application-footer > *:not(:last-child, .current-version) {
  margin-right: 40px; /* Reduced horizontal spacing */
}
.application-footer.relaunch-extra {
  background-color: white;
  height: auto;
  justify-content: center;
  padding: 40px 80px;
  position: relative;
}
.application-footer.relaunch-extra a:not([aria-hidden=true]) {
  color: var(--md-sys-color--on-surface);
  display: flex;
  font-family: var(--Static-Body-Small-Font, "Google Sans Text");
  font-size: var(--Static-Body-Small-Size, 12px);
  font-style: normal;
  font-weight: 500;
  justify-content: center;
  line-height: var(--Static-Body-Small-Line-Height, 16px);
  letter-spacing: var(--Static-Body-Small-Tracking, 0.1px);
  text-align: center;
  text-decoration: none;
}
.application-footer.relaunch-extra .footer-logo {
  margin-bottom: 32px;
  text-align: center;
}
.application-footer.relaunch-extra .footer-row {
  align-items: center;
  align-content: center;
  align-self: stretch;
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 24px;
}
.application-footer.relaunch-extra .g-cloud-youtube {
  align-items: center;
  display: flex;
  gap: 2px;
}
@media (max-width: 600px) {
  .application-footer {
    justify-content: center; /* Center content on small screens */
    padding: 16px; /* Adjust padding */
  }
  .application-footer.relaunch-extra {
    padding: 40px 24px;
  }
}

.footer {
  align-items: center;
  display: flex;
  position: absolute;
  top: nil;
  right: 0px;
  bottom: 0px;
  left: 0px;
  padding-bottom: 1.5rem;
  padding-top: 1.5rem;
  z-index: 5;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 1264px) {
  .footer {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

.footer__link {
  display: inline-block;
  font-size: 12px;
}
.footer__link:not(:last-child) {
  margin-right: 0.75rem;
}

.footer__logo {
  width: auto;
  height: 40px;
  display: block;
}

.footer__right-content {
  margin-left: auto;
  text-align: right;
}

.control-group {
  line-height: 1;
  position: relative;
}

.control-group.error label,
.control-group.error .control-label {
  color: var(--warn-color);
}
.control-group.error input[type=color], .control-group.error input[type=date], .control-group.error input[type=datetime], .control-group.error input[type=datetime-local], .control-group.error input[type=email], .control-group.error input[type=month], .control-group.error input[type=number], .control-group.error input[type=password], .control-group.error input[type=search], .control-group.error input[type=tel], .control-group.error input[type=text], .control-group.error input[type=time], .control-group.error input[type=url], .control-group.error input[type=week], .control-group.error input:not([type]), .control-group.error textarea,
.control-group.error .input {
  border-color: var(--warn-color);
}
.control-group.error .help-inline {
  color: var(--warn-color);
  font-size: 14px;
}
.control-group.error .button,
.control-group.error .btn {
  color: white;
}

form .alert {
  margin: 0;
  margin-bottom: 1.5rem;
  position: relative;
  top: 0;
  width: 100%;
}

.form-row {
  align-items: center;
  display: flex;
  margin-bottom: 24px;
}
.form-row .modal_check_box {
  margin-right: 20px;
}
.form-row .modal_check_box.readonly {
  pointer-events: none;
}
.form-row .control-group {
  flex: 1;
  width: 100%;
}
.form-row .control-group:not(:last-of-type) {
  margin-right: 1.5rem;
}
.form-row .control-group + .button, .form-row .control-group + .btn {
  flex: none;
  margin-left: 1.5rem;
}
.form-row .control-group.wide {
  flex: 6;
}
.form-row .md-input:not(:last-of-type) {
  margin-right: 1.5rem;
}
@media (max-width: 600px) {
  .form-row {
    display: block;
  }
  .form-row .control-group:not(:last-of-type) {
    margin-bottom: 32px;
  }
}
.form-row .form-error {
  align-self: start;
  color: var(--warn-color);
  display: none;
  font-size: 75%;
}

.form-row--max_width {
  width: 600px;
}

.form-row--lab-sidebar {
  background: rgba(32, 33, 36, 0.08);
  border: 1px solid rgba(32, 33, 36, 0.1);
  border-radius: 2px;
  padding: 10px;
}

.form-row--search-classes {
  margin-bottom: 0px;
  width: 70%;
}
.form-row--search-classes input[type=text] {
  border: none;
  background: #f0f0f0;
  flex: 1;
}
.form-row--search-classes input[type=text]:hover {
  background: #ececec;
}
.form-row--search-classes input[type=text]:focus {
  background: #e0e0e0;
}
.form-row--search-classes button[type=submit], .form-row--search-classes input[type=submit] {
  height: 40px;
  line-height: 40px;
}
@media (max-width: 1263px) {
  .form-row--search-classes {
    width: 60%;
  }
}
@media (max-width: 965px) {
  .form-row--search-classes {
    width: 50%;
  }
}

.form-row--chosen {
  display: block;
}
.form-row--chosen label {
  color: #5F6368;
  font-size: 11px;
}
.form-row--chosen .md-input {
  padding: 0 0 12px 0;
}

.form-row.custom-validated {
  flex-direction: column;
}

.form-actions {
  text-align: center;
}
.form-actions.mt-24 {
  margin-top: 24px;
}
.form-actions.mb-48 {
  margin-bottom: 48px;
}
.form-actions .button--full-width {
  display: inline-block;
}
.form-actions--right {
  display: flex;
  justify-content: flex-end;
  margin-right: -16px;
}
.form-actions--right a {
  margin-left: 16px;
}

.form-input {
  width: 100%;
}

.input-link {
  float: right;
  font-size: 14px;
  margin-top: 4px;
}

.help-block {
  color: #5F6368;
}

.control-group.required abbr {
  color: var(--md-sys-color-error);
  font-size: 18px;
  position: relative;
  top: 5px;
}

.checkbox--flipped {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  margin-top: 5px;
}
.checkbox--flipped input[type=checkbox] {
  margin-right: 0.75rem;
  position: relative;
  top: -4px;
}

input[type=checkbox] {
  margin: 0;
}

.input.md-checkbox,
.md-checkbox {
  background: none;
  border: none;
  font-size: 14px;
  height: auto;
  margin-right: 8px;
  padding: 0;
  width: auto;
}
.input.md-checkbox label,
.md-checkbox label {
  align-items: center;
  display: flex;
}
.input.md-checkbox input[type=checkbox],
.md-checkbox input[type=checkbox] {
  margin-right: 8px;
}

.control-group.boolean {
  align-items: center;
  display: inline-flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
}
.control-group.boolean label.boolean {
  cursor: pointer;
  font: var(--md-sys-typescale-body-large);
  margin-left: 8px;
}
.control-group.boolean label.boolean.disabled {
  color: var(--disabled-content-color);
  cursor: default;
}
.control-group.boolean input[type=checkbox] {
  -webkit-appearance: none;
  -moz-appearance: none;
  border: 1px solid var(--light-text-on-surface-color);
  border-radius: 3px;
  cursor: pointer;
  height: 16px;
  position: relative;
  top: 50%;
  width: 16px;
}
.control-group.boolean input[type=checkbox]:focus {
  outline-color: var(--primary-text-on-surface-color);
  outline-offset: 3px;
}
.control-group.boolean input[type=checkbox]:checked {
  border-color: var(--primary-text-on-surface-color);
  background: var(--primary-surface-color);
}
.control-group.boolean input[type=checkbox]:checked:after {
  align-items: center;
  color: var(--text-on-primary-color);
  content: "check";
  display: flex;
  font-family: "Google Material Icons";
  font-size: 16px;
  height: 100%;
  justify-content: center;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.control-group.boolean input[type=checkbox][disabled] {
  border-color: var(--disabled-content-color);
  cursor: default;
}

.control-group.radio_buttons .radio label {
  display: block;
  font-weight: 400;
  margin: 8px 0 8px 8px;
}
.control-group.radio_buttons .radio label input {
  margin-right: 8px;
}

label,
.label {
  cursor: text;
  display: inline-block;
  font-family: var(--md-ref-typeface-plain);
  font-size: 13px;
  margin-bottom: 2px;
}

.label--console {
  color: #5F6368;
  display: block;
  font-size: 10px !important;
  font-weight: 700;
  margin-bottom: 0px;
}

.control-group.decimal label,
.control-group.string label,
.control-group.integer label,
.control-group.url label,
.control-group.text label,
.control-group.email label,
.control-group.password label,
.control-group.time_zone label,
.control-group.select label {
  background: var(--base-surface-color);
  font-family: var(--md-ref-typeface-plain);
  left: 8px;
  padding: 4px 8px;
  position: absolute;
  top: -10px;
  z-index: 2;
}
.control-group.decimal:focus-within label,
.control-group.string:focus-within label,
.control-group.integer:focus-within label,
.control-group.url:focus-within label,
.control-group.text:focus-within label,
.control-group.email:focus-within label,
.control-group.password:focus-within label,
.control-group.time_zone:focus-within label,
.control-group.select:focus-within label {
  color: var(--primary-text-on-surface-color);
}

.control-group.string label,
.control-group.text label,
.control-group.email label,
.control-group.password label {
  display: none;
}

input[type=color],
input[type=date],
input[type=datetime],
input[type=datetime-local],
input[type=email],
input[type=month],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=time],
input[type=url],
input[type=week],
textarea,
select,
.input {
  transition: all 0.1s ease-in-out;
  align-items: center;
  background-color: transparent;
  border: 1px solid #DADCE0;
  border-radius: 4px;
  box-shadow: none;
  color: #202124;
  cursor: text;
  display: flex;
  font-family: var(--md-ref-typeface-plain);
  font-size: 16px;
  font-weight: 400;
  height: 56px;
  line-height: 1;
  padding: 8px 16px;
  width: 100%;
}
input[type=color]::placeholder,
input[type=date]::placeholder,
input[type=datetime]::placeholder,
input[type=datetime-local]::placeholder,
input[type=email]::placeholder,
input[type=month]::placeholder,
input[type=number]::placeholder,
input[type=password]::placeholder,
input[type=search]::placeholder,
input[type=tel]::placeholder,
input[type=text]::placeholder,
input[type=time]::placeholder,
input[type=url]::placeholder,
input[type=week]::placeholder,
textarea::placeholder,
select::placeholder,
.input::placeholder {
  color: #5F6368;
}
input[type=color][disabled=disabled], input[type=color][disabled],
input[type=color] .is-disabled,
input[type=date][disabled=disabled],
input[type=date][disabled],
input[type=date] .is-disabled,
input[type=datetime][disabled=disabled],
input[type=datetime][disabled],
input[type=datetime] .is-disabled,
input[type=datetime-local][disabled=disabled],
input[type=datetime-local][disabled],
input[type=datetime-local] .is-disabled,
input[type=email][disabled=disabled],
input[type=email][disabled],
input[type=email] .is-disabled,
input[type=month][disabled=disabled],
input[type=month][disabled],
input[type=month] .is-disabled,
input[type=number][disabled=disabled],
input[type=number][disabled],
input[type=number] .is-disabled,
input[type=password][disabled=disabled],
input[type=password][disabled],
input[type=password] .is-disabled,
input[type=search][disabled=disabled],
input[type=search][disabled],
input[type=search] .is-disabled,
input[type=tel][disabled=disabled],
input[type=tel][disabled],
input[type=tel] .is-disabled,
input[type=text][disabled=disabled],
input[type=text][disabled],
input[type=text] .is-disabled,
input[type=time][disabled=disabled],
input[type=time][disabled],
input[type=time] .is-disabled,
input[type=url][disabled=disabled],
input[type=url][disabled],
input[type=url] .is-disabled,
input[type=week][disabled=disabled],
input[type=week][disabled],
input[type=week] .is-disabled,
textarea[disabled=disabled],
textarea[disabled],
textarea .is-disabled,
select[disabled=disabled],
select[disabled],
select .is-disabled,
.input[disabled=disabled],
.input[disabled],
.input .is-disabled {
  background: #DADCE0;
  color: #3C4043;
  cursor: default;
}
input[type=color]:hover,
input[type=date]:hover,
input[type=datetime]:hover,
input[type=datetime-local]:hover,
input[type=email]:hover,
input[type=month]:hover,
input[type=number]:hover,
input[type=password]:hover,
input[type=search]:hover,
input[type=tel]:hover,
input[type=text]:hover,
input[type=time]:hover,
input[type=url]:hover,
input[type=week]:hover,
textarea:hover,
select:hover,
.input:hover {
  border-color: #DADCE0;
}
input[type=color]:focus, input[type=color].active,
input[type=date]:focus,
input[type=date].active,
input[type=datetime]:focus,
input[type=datetime].active,
input[type=datetime-local]:focus,
input[type=datetime-local].active,
input[type=email]:focus,
input[type=email].active,
input[type=month]:focus,
input[type=month].active,
input[type=number]:focus,
input[type=number].active,
input[type=password]:focus,
input[type=password].active,
input[type=search]:focus,
input[type=search].active,
input[type=tel]:focus,
input[type=tel].active,
input[type=text]:focus,
input[type=text].active,
input[type=time]:focus,
input[type=time].active,
input[type=url]:focus,
input[type=url].active,
input[type=week]:focus,
input[type=week].active,
textarea:focus,
textarea.active,
select:focus,
select.active,
.input:focus,
.input.active {
  border-color: var(--primary-text-on-surface-color);
  box-shadow: none;
  outline: none;
}
input[type=color].input--console,
input[type=date].input--console,
input[type=datetime].input--console,
input[type=datetime-local].input--console,
input[type=email].input--console,
input[type=month].input--console,
input[type=number].input--console,
input[type=password].input--console,
input[type=search].input--console,
input[type=tel].input--console,
input[type=text].input--console,
input[type=time].input--console,
input[type=url].input--console,
input[type=week].input--console,
textarea.input--console,
select.input--console,
.input.input--console {
  background: #F1F3F4;
  border-radius: 4px 0px 0px 4px;
  transition: all 0.1s ease-in-out;
  border-color: transparent;
  cursor: text;
  font-family: "Roboto Mono", monospace;
  font-size: 13px;
  height: 30px;
  opacity: 1;
  padding: 0px 34px 0px 4px;
  position: relative;
}
input[type=color].input--console:focus,
input[type=date].input--console:focus,
input[type=datetime].input--console:focus,
input[type=datetime-local].input--console:focus,
input[type=email].input--console:focus,
input[type=month].input--console:focus,
input[type=number].input--console:focus,
input[type=password].input--console:focus,
input[type=search].input--console:focus,
input[type=tel].input--console:focus,
input[type=text].input--console:focus,
input[type=time].input--console:focus,
input[type=url].input--console:focus,
input[type=week].input--console:focus,
textarea.input--console:focus,
select.input--console:focus,
.input.input--console:focus {
  border-color: var(--primary-text-on-surface-color);
}
input[type=color].input--code,
input[type=date].input--code,
input[type=datetime].input--code,
input[type=datetime-local].input--code,
input[type=email].input--code,
input[type=month].input--code,
input[type=number].input--code,
input[type=password].input--code,
input[type=search].input--code,
input[type=tel].input--code,
input[type=text].input--code,
input[type=time].input--code,
input[type=url].input--code,
input[type=week].input--code,
textarea.input--code,
select.input--code,
.input.input--code {
  background: #DADCE0;
  border: none;
  border-radius: 2px 0 0 2px;
  cursor: text;
  display: inline-block;
  font-family: "Roboto Mono", monospace;
  font-size: 15px;
  height: auto;
  line-height: 1.5;
  padding: 2px 3px;
}

textarea {
  padding: 20px 16px 8px 16px;
  height: auto;
}

md-outlined-text-field, md-filled-text-field, md-outlined-select, md-filled-select {
  width: 100%;
}

md-outlined-text-field {
  --md-outlined-field-disabled-label-text-opacity: 1;
}

.input--calendar {
  background: url("/assets/admin/icon_calendar-2e38b90f0253444a7667b23f20cdcc4b55caf116.png") no-repeat right 8px center;
  background-size: 16px 17px;
  cursor: pointer;
}
.input--calendar:hover {
  background-image: url("/assets/admin/icon_calendar--hover-cc2de1de201012d832536f5a2b17842ed7e5db30.png");
}
.input--calendar:focus, .input--calendar.active {
  background-image: url("/assets/admin/icon_calendar--active-7869943f15479de3b0ee8e654d99a362d2918187.png");
}

.md-input {
  padding: 16px 0;
  position: relative;
  width: 100%;
}
.md-input--horizontal {
  padding-top: 0;
}
.md-input--condensed {
  padding: 11px 0;
}

.md-input__container {
  font-size: 16px;
  position: relative;
  transition: all 0.2s ease-in-out;
}
.md-input--horizontal .md-input__container {
  padding-left: 162px;
}

.md-input__input {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background: none;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #202124 !important;
  display: block;
  font-family: var(--md-ref-typeface-plain) !important;
  font-size: inherit !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: 1.3 !important;
  height: auto !important;
  padding: 8px !important;
  position: relative !important;
  transition: inherit !important;
  width: 100% !important;
  z-index: 2 !important;
}
.md-input__input[type=file] {
  padding: 8px 0 !important;
}
.md-input--condensed .md-input__input {
  font-size: 14px !important;
  padding: 3px !important;
}

.md-input--select .md-input__input {
  cursor: pointer;
  padding-right: 24px;
}

.chosen-container + .md-input__borders {
  display: none;
}

.md-input__borders {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-bottom: 1px solid #ddd;
  color: #aaa;
  font-size: inherit;
  padding: 8px;
  text-transform: none;
  transition: inherit !important;
  z-index: 1;
}
md-outlined-text-field ~ .md-input__borders {
  display: none;
}
.md-input--condensed .md-input__borders {
  padding: 3px;
}

.md-input--horizontal .md-input__borders {
  left: 162px;
}

input[type=file] + .md-input__borders {
  border: none !important;
}

textarea + .md-input__borders {
  border: 1px solid #ddd;
}
.has-error .md-input__borders {
  border-color: #D93025 !important;
}

.md-input__borders:before {
  position: absolute;
  top: nil;
  right: 0px;
  bottom: -1px;
  left: 0px;
  background: var(--primary-surface-color);
  border: 1px solid var(--primary-text-on-surface-color);
  content: "";
  display: block;
  height: 0px;
  transform: scaleX(0);
  transform-origin: 50% 50%;
  transition: inherit;
  z-index: 2;
}
.md-input--horizontal .md-input__borders:before {
  transform-origin: 0% 50%;
}

*:focus + .md-input__borders:before {
  transform: scaleX(1);
}

input[type=file] + .md-input__borders:before {
  background: var(--primary-surface-color);
  border: none;
  transform: scaleX(1) !important;
}

textarea + .md-input__borders:before {
  position: absolute;
  top: -1px;
  right: -1px;
  bottom: -1px;
  left: -1px;
  background: transparent;
  border: 2px solid transparent;
  height: auto;
  transform: scaleX(1);
}

textarea:focus + .md-input__borders:before {
  border: 2px solid var(--primary-text-on-surface-color);
}

.has-error .md-input__borders:before {
  border-color: #D93025;
}

.has-error textarea + .md-input__borders:before {
  border-color: transparent;
}

.has-error textarea:focus + .md-input__borders:before {
  border-color: #D93025;
}

.md-input__label {
  color: #666 !important;
  display: block !important;
  font-family: var(--md-ref-typeface-plain) !important;
  font-size: inherit !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  text-transform: none !important;
  transform: translate(0px, 0px) scale(1);
  transform-origin: 0 0 !important;
  transition: inherit !important;
}
.md-input--condensed .md-input__label {
  font-size: 14px !important;
}

.md-input--horizontal .md-input__label {
  transform: translate(-170px, 0px) scale(1) !important;
}

*:focus + * .md-input__label,
*.is-filled + * .md-input__label,
input[type=file] + * .md-input__label,
.md-input--select .md-input__label {
  transform: translate(-8px, -24px) scale(0.75);
}

.md-input--condensed *:focus + * .md-input__label,
.md-input--condensed *.is-filled + * .md-input__label {
  transform: translate(-3px, -15px) scale(0.75);
}

.md-input--condensed textarea:focus + * .md-input__label,
.md-input--condensed textarea.is-filled + * .md-input__label {
  transform: translate(-3px, -18px) scale(0.75);
}

*:focus + * .md-input__label {
  color: var(--primary-text-on-surface-color) !important;
}

.has-error .md-input__label {
  color: #D93025 !important;
}

.md-input__error {
  position: absolute;
  top: nil;
  right: nil;
  bottom: 0;
  left: 0;
  color: #999;
  font-size: 12px;
  margin: 0;
}
.has-error .md-input__error {
  color: #D93025 !important;
}

.md-input__hint {
  color: #666;
  font-size: 12px;
}
.md-input--horizontal .md-input__hint {
  padding-left: 162px;
}

.search-and-filter-form {
  margin-bottom: 40px;
}
.search-and-filter-form > *:not(:last-child) {
  margin-bottom: 16px;
}

.organization-invite-link-form .help-block {
  text-transform: none;
  padding-left: 16px;
  padding-top: 4px;
}
.organization-invite-link-form .form-row {
  margin-bottom: 16px;
}

.header-container {
  background: var(--primary-surface-color);
  color: var(--text-on-primary-color);
  left: 0px;
  position: fixed;
  top: 0px;
  width: 100vw;
  z-index: 30;
}
.header-container:not(.light-theme) {
  --md-icon-button-icon-color: var(--text-on-primary-color);
  --md-icon-button-focus-icon-color: var(--text-on-primary-color);
  --md-icon-button-hover-icon-color: var(--text-on-primary-color);
}
.header-container ql-toolbar {
  --md-icon-button-icon-color: initial;
  --md-icon-button-focus-icon-color: initial;
  --md-icon-button-hover-icon-color: initial;
}
.header {
  align-items: center;
  display: flex;
  height: 64px;
  padding: 0 24px 0 20px;
  position: relative;
  outline: 1px solid transparent;
}
@media (max-width: 965px) {
  .header {
    padding: 0 16px;
  }
}

.header__title {
  align-items: center;
  color: inherit;
  display: flex;
  height: 100%;
}
.header__title h1 {
  font-size: 20px;
  font-weight: 400;
  line-height: 1.3;
}
.header__title h1 .custom-logo {
  color: var(--text-on-primary-color);
}
@media (max-width: 600px) {
  .header__title h1 {
    font-size: 19px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    width: calc(100vw - 200px);
  }
}
.header__title .icon-button {
  margin-left: -8px;
  margin-right: 8px;
}

.header__actions,
.header__left-actions {
  align-items: center;
  display: flex;
  margin-left: auto;
}
.header__actions > *:not(:last-child),
.header__left-actions > *:not(:last-child) {
  margin-right: 24px;
}
@media (max-width: 600px) {
  .header__actions > *:not(:last-child),
  .header__left-actions > *:not(:last-child) {
    margin-right: 16px;
  }
}
@media (max-width: 600px) {
  .header__actions #language,
  .header__actions ql-help,
  .header__left-actions #language,
  .header__left-actions ql-help {
    display: none;
  }
  .header__actions .button--signin,
  .header__left-actions .button--signin {
    display: none;
  }
}
.header__actions .favorite-button i,
.header__left-actions .favorite-button i {
  color: var(--text-on-primary-color);
}
.header__actions .locale-link,
.header__left-actions .locale-link {
  text-decoration: none;
}
.header__actions .locale-link img,
.header__left-actions .locale-link img {
  margin-right: 8px;
}

.header__button {
  align-items: center;
  color: inherit;
  display: flex;
  justify-content: center;
  text-decoration: none;
}
.header__button--nav {
  margin-right: 24px;
}
@media (max-width: 600px) {
  .header__button--nav {
    margin-right: 16px;
  }
}
.header__button--search {
  display: none;
}
@media (max-width: 965px) {
  .header__button--search {
    display: block;
  }
  .no-nav .header__button--search {
    display: none;
  }
}

.header__menu {
  color: inherit;
}
.header__menu .mdl-menu__container {
  margin-top: -32px;
}

.header__menu--my-account button,
.header__menu--side-my-account button {
  height: 40px;
  width: 40px;
}
.header__menu--my-account button .material-icons,
.header__menu--side-my-account button .material-icons {
  height: 32px;
  transform: translate(-16px, -16px);
  width: 32px;
}
.header__menu--my-account button .material-icons img,
.header__menu--side-my-account button .material-icons img {
  border: none;
  box-shadow: none;
  height: 100%;
  width: 100%;
}

.header__menu--my-account {
  position: relative;
}

.header__menu__item a {
  color: #202124;
  display: block;
  text-decoration: none !important;
}

.header__tabs {
  display: flex;
  padding: 0 24px 0 72px;
}
@media (max-width: 600px) {
  .header__tabs {
    background: rgba(255, 255, 255, 0.1);
    padding: 0;
  }
}

.header-my-account-button {
  margin-right: 0 !important;
  padding: 4px !important;
}

.my-account-button-notification {
  align-items: center;
  background: var(--accent-surface-color);
  border: 2px solid white;
  border-radius: 50%;
  color: var(--text-on-accent-color);
  display: flex;
  height: 22px;
  justify-content: center;
  position: absolute;
  right: -2px;
  top: -2px;
  width: 22px;
}

#my_account_menu {
  max-height: min(640px, 75vh);
}

.my-account-menu {
  padding-bottom: 24px;
  text-align: center;
  width: 320px;
  overflow: auto;
}
.my-account-menu .groups {
  border-bottom: 1px solid var(--hairline-color);
  border-top: 1px solid var(--hairline-color);
  text-align: left;
}
.my-account-menu p {
  margin: 0;
}
.my-account-menu .name {
  white-space: normal;
}
.my-account-menu .my-account-menu__notification {
  align-items: center;
  background-color: #fef7e0;
  border-radius: 4px;
  display: flex;
  margin: 4px;
  padding: 4px 6px;
  text-align: left;
  z-index: 1;
  outline: 1px solid transparent;
}
.my-account-menu .my-account-menu__notification ql-icon {
  color: #D56E0C;
  margin-right: 8px;
}
.my-account-menu .my-account-menu__notification a {
  color: var(--text-on-focus-color);
}

.header-my-account-menu {
  color: #202124;
  display: none;
  position: fixed;
  top: 56px;
  right: 24px;
  min-width: 400px;
}
.header-my-account-menu.is-open {
  display: block;
}

.my-account-menu__top {
  display: flex;
  padding: 24px;
}

.my-account-menu__info {
  margin-left: 24px;
}

.my-account-menu__bottom {
  align-items: center;
  background: #F8F9FA;
  border-radius: 0 0 8px 8px;
  border-top: 1px solid #DADCE0;
  display: flex;
  padding: 12px 24px;
}
.my-account-menu__bottom .button {
  margin-left: auto;
}

.impersonation-header {
  z-index: 999999;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #EA4335;
  color: white;
}
.impersonation-header a {
  color: white;
}

.search-bar-container {
  position: relative;
  display: none;
}
.search-bar-container .header-search-input {
  width: 75vw;
  height: 45px;
  border-radius: 20px;
  border: none;
  outline: none;
  background-color: #F1F3F4;
  padding-left: 48px;
}
@media (max-width: 965px) {
  .search-bar-container .header-search-input {
    width: 85vw;
  }
}
.search-bar-container #searchbar-autocomplete-center {
  background-color: #E9EEF6;
  border-radius: 32px;
}
.search-bar-container #searchbar-autocomplete-center::placeholder {
  color: #444746;
}
.search-bar-container ql-icon-button {
  color: #3C4043;
  position: absolute;
  top: 1.5px;
  z-index: 2;
}
.search-bar-container .search-bar-button {
  left: 5px;
}
.search-bar-container .exit-search-button {
  right: 5px;
}
.search-bar-container.visible-search-header {
  display: block;
}
.search-bar-container.visible-search-header .header-search-input {
  width: 30vw;
  padding-left: 18px;
  padding-right: 48px;
}
.search-bar-container.visible-search-header .search-bar-button {
  left: unset;
  right: 5px;
}
@media (max-width: 965px) {
  .search-bar-container.visible-search-header .header-search-input {
    padding-left: 48px;
    width: 85vw;
  }
  .search-bar-container.visible-search-header .search-bar-button {
    left: 5px;
    right: unset;
  }
}
.search-bar-container #searchbar-autocomplete-loading-icon,
.search-bar-container #searchbar-autocomplete-loading-icon-center,
.search-bar-container #searchbar-autocomplete-no-results,
.search-bar-container #searchbar-autocomplete-no-results-center {
  align-items: center;
  background-color: white;
  border: 1px solid #DADCE0;
  border-radius: 4px;
  display: none;
  font-weight: 400;
  gap: 10px;
  min-height: 47px;
  padding: 8px 16px;
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  z-index: 998;
}
.search-bar-container #searchbar-autocomplete-menu,
.search-bar-container #searchbar-autocomplete-menu-center {
  background-color: white;
  border-bottom: none;
  border-radius: 4px;
  border-top: none;
  border: 1px solid #DADCE0;
  left: 0;
  margin: 0;
  max-height: 30vh;
  overflow-y: scroll;
  padding: 0;
  position: absolute;
  right: 0;
  top: 100%;
  z-index: 998;
}
.search-bar-container #searchbar-autocomplete-menu.hide,
.search-bar-container #searchbar-autocomplete-menu-center.hide {
  display: none;
}
.search-bar-container #searchbar-autocomplete-menu li,
.search-bar-container #searchbar-autocomplete-menu-center li {
  background-color: none;
  border-bottom: 1px solid var(--md-sys-color-outline-variant);
  cursor: pointer;
  font-weight: 400;
  list-style-type: none;
  margin: 0;
}
.search-bar-container #searchbar-autocomplete-menu li div,
.search-bar-container #searchbar-autocomplete-menu-center li div {
  align-items: center;
  display: flex;
  gap: 10px;
  padding: 8px 16px;
  position: relative;
}
.search-bar-container #searchbar-autocomplete-menu li div a,
.search-bar-container #searchbar-autocomplete-menu-center li div a {
  color: #202124;
}
.search-bar-container #searchbar-autocomplete-menu li div:hover, .search-bar-container #searchbar-autocomplete-menu li div:focus,
.search-bar-container #searchbar-autocomplete-menu-center li div:hover,
.search-bar-container #searchbar-autocomplete-menu-center li div:focus {
  background-color: var(--md-sys-color-secondary-container);
}
.search-bar-container #searchbar-autocomplete-menu li div:hover a, .search-bar-container #searchbar-autocomplete-menu li div:focus a,
.search-bar-container #searchbar-autocomplete-menu-center li div:hover a,
.search-bar-container #searchbar-autocomplete-menu-center li div:focus a {
  color: var(--md-sys-color-on-secondary-container);
}
.search-bar-container .autocomplete-active {
  background-color: var(--md-sys-color-secondary-container);
}
.search-bar-container .autocomplete-active a {
  color: var(--md-sys-color-on-secondary-container) !important;
}

.search-overlay {
  left: 0;
  top: 64px;
  background-color: var(--overlay-color);
  height: 97.5%;
  width: 100%;
  opacity: 0.6;
  position: absolute;
  z-index: 995;
}

[relaunch] .search-overlay {
  top: 0;
}

.header-tab {
  align-items: center;
  color: inherit;
  display: flex;
  font-size: 14px;
  height: 100%;
  position: relative;
  justify-content: center;
  width: 160px;
}
.header-tab.is-active {
  color: inherit;
  font-weight: 500;
}
.header-tab.is-active:after {
  background: var(--primary-surface-color);
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
  bottom: 0px;
  content: "";
  display: block;
  left: 25%;
  height: 3px;
  position: absolute;
  width: 50%;
}
.header-tab:hover {
  color: inherit;
  text-decoration: none;
}
@media (max-width: 600px) {
  .header-tab {
    flex: 1;
    width: auto;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--md-ref-typeface-plain);
  line-height: 1.2;
  margin: 0px;
  text-wrap: balance;
}

h1 {
  font-size: 40px;
  font-weight: 700;
}

h2 {
  font-size: 34px;
  font-weight: 700;
}

h3 {
  font-size: 28px;
  font-weight: 400;
}

h4 {
  font-size: 18px;
  font-weight: 400;
}

h5 {
  font-size: 15px;
  font-weight: 700;
}

.hover-menu {
  position: relative;
  z-index: 1;
}
.hover-menu:hover {
  z-index: 2;
}
.hover-menu:hover .hover-menu__menu {
  transform: translateY(0px) scale(1);
  opacity: 1;
}

.hover-menu__trigger {
  align-items: center;
  cursor: pointer;
  display: flex;
}
.hover-menu__trigger > *:not(:last-child) {
  margin-right: 3px;
}

.hover-menu__menu {
  position: absolute;
  top: 30px;
  right: 0px;
  bottom: nill;
  left: nil;
  transform: translateY(-20px) scale(0.1);
  transform-origin: right top;
  transition: all 0.2s ease-in-out;
  background: white;
  border-radius: 2px;
  box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.1);
  opacity: 0;
  width: 210px;
}

.hover-menu__menu__item {
  text-transform: none;
}
.hover-menu__menu__item p {
  margin: 0;
}
.hover-menu__menu__item.menu__item--no-hover {
  background: white;
}

span.hover-menu__menu__item {
  align-items: center;
  cursor: default;
  display: flex;
}
span.hover-menu__menu__item img {
  display: block;
  margin-right: 0.75rem;
}
span.hover-menu__menu__item:hover {
  color: inherit;
}

.hover-menu__menu__item--bold {
  background: var(--accent-surface-color);
  border-color: var(--accent-text-on-surface-color);
  color: var(--text-on-accent-color);
}
.hover-menu__menu__item--bold:hover {
  background: var(--accent-surface-color);
  color: var(--text-on-accent-color);
}

.hover-menu--lab-assessment .hover-menu__menu {
  transform: translateY(-15px) scale(0.1);
  top: 15px;
  width: 300px;
}
.hover-menu--lab-assessment .hover-menu__menu__item p:last-child {
  flex: 0 0 auto;
  background: var(--primary-surface-color);
  border-radius: 20px;
  color: var(--text-on-primary-color);
  margin-left: auto;
  padding: 4px;
  text-align: center;
  width: 65px;
}

.icon-button {
  align-items: center;
  background: none;
  background-color: transparent;
  border: none;
  border-radius: 48px;
  box-sizing: border-box;
  color: inherit;
  cursor: pointer;
  display: inline-flex;
  font-size: 24px;
  height: 48px;
  justify-content: center;
  line-height: 1;
  margin-top: 0;
  outline: none !important;
  padding: 12px;
  position: relative;
  text-decoration: none !important;
  user-select: none;
  vertical-align: middle;
  width: 48px;
}
.icon-button:before, .icon-button:after {
  background-color: #000;
  border-radius: 50%;
  content: "";
  height: 100%;
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  transition: opacity 0.16s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.16s cubic-bezier(0.4, 0, 0.2, 1);
  width: 100%;
}
.icon-button:hover:not(:disabled):before {
  opacity: 0.04;
}
.icon-button:active:not(:disabled):after {
  opacity: 0.12;
}
.icon-button:focus:not(:disabled):before {
  opacity: 0.12;
}
.icon-button:disabled {
  color: rgba(60, 64, 67, 0.38);
  cursor: default;
  pointer-events: none;
}
.icon-button.icon-button--positive, .icon-button[positive] {
  color: var(--success-color);
}
.icon-button.icon-button--negative, .icon-button[negative] {
  color: var(--warn-color);
}
.icon-button.icon-button--primary, .icon-button[primary] {
  color: var(--primary-text-on-surface-color);
}
.icon-button.icon-button--accent, .icon-button[accent] {
  color: var(--accent-text-on-surface-color);
}
.icon-button.icon-button--small, .icon-button[small], .icon-button.icon-button--dense, .icon-button[dense] {
  height: 32px;
  padding: 4px;
  width: 32px;
}

.icon-button--chip {
  background: rgba(0, 0, 0, 0.08);
  font-size: 14px;
  min-width: 48px;
  width: auto;
}
.icon-button--chip:hover {
  background: rgba(0, 0, 0, 0.12);
}
.icon-button--chip.active {
  background: var(--primary-surface-color);
  color: var(--text-on-primary-color);
}

.favorite-button[href*=unfavorite] {
  color: #F538A0;
}

.featured-button[href*=remove_featured_content] {
  color: var(--primary-text-on-surface-color);
}

#incorrect-start-lab-modal {
  --dialog-border-radius: 28px;
  --dialog-color: var(--md-sys-color-surface-container-high);
  --dialog-width: 560px;
}
#incorrect-start-lab-modal::part(header) {
  padding-bottom: 0px;
}
#incorrect-start-lab-modal .actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  padding-top: 24px;
}
#incorrect-start-lab-modal img {
  border-radius: 12px;
  min-height: 265px;
  object-fit: contain;
  width: 512px;
}
#incorrect-start-lab-modal .page-text {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin: 0px;
  overflow: auto;
}
#incorrect-start-lab-modal .page-text h1 {
  padding: 16px 0px;
}

.innovator-overlay {
  left: 0px;
  top: 0px;
  background-color: var(--overlay-color);
  height: 100%;
  width: 100%;
  opacity: 0.6;
  position: fixed;
  z-index: 997;
}

.innovator-form-container {
  right: 0px;
  top: 0px;
  height: 100%;
  width: 30%;
  z-index: 998;
  position: fixed;
  background-color: white;
  flex-direction: column;
  overflow-y: scroll;
}
@media (max-width: 965px) {
  .innovator-form-container {
    width: 60%;
  }
}
.innovator-form-container .form-title {
  display: flex;
  flex-direction: row;
  padding-top: 15px;
  padding-bottom: 15px;
}
@media (max-width: 965px) {
  .innovator-form-container .form-title {
    flex-wrap: wrap;
  }
}
.innovator-form-container .form-title .top-close-button {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  flex: 1;
}
.innovator-form-container .innovator-acknowledgement {
  background-color: #F2F3F4;
  padding: 10px;
}
.innovator-form-container ql-checkbox {
  margin: 0 0 1.5rem 0;
  padding: 0;
}
.innovator-form-container .invalid-location:focus {
  border-color: red;
  outline: none;
  box-shadow: inset 0 0 0 1px red;
}
.innovator-form-container .invalid-submission {
  border-color: red;
  outline: none;
  box-shadow: inset 0 0 0 1px red;
}

.innovator-form-container > * {
  border-bottom: 1px solid lightgrey;
  padding: 0px 20px;
}

#innovator-autocomplete-loading-icon, #innovator-autocomplete-no-results {
  align-items: center;
  background-color: white;
  border: 1px solid #DADCE0;
  border-radius: 4px;
  display: none;
  font-weight: 400;
  gap: 10px;
  min-height: 47px;
  padding: 8px 16px;
  position: relative;
  left: 0;
  right: 0;
  top: 100%;
  z-index: 998;
}

#innovator-autocomplete-menu.hide {
  display: none;
}
#innovator-autocomplete-menu ul {
  background-color: white;
  border-bottom: none;
  border-radius: 4px;
  border-top: none;
  border: 1px solid #DADCE0;
  left: 0;
  margin: 0;
  max-height: 30vh;
  overflow-y: scroll;
  padding: 0;
  position: relative;
  right: 0;
  top: 100%;
  z-index: 998;
}
#innovator-autocomplete-menu ul li {
  background-color: none;
  border-bottom: 1px solid #DADCE0;
  cursor: pointer;
  font-weight: 400;
  list-style-type: none;
  margin: 0;
}
#innovator-autocomplete-menu ul li div {
  align-items: center;
  display: flex;
  gap: 10px;
  padding: 8px 16px;
}
#innovator-autocomplete-menu ul li div a {
  color: #202124;
}
#innovator-autocomplete-menu ul li:hover {
  background-color: #E8EAED;
}

.autocomplete-active {
  background-color: #E8EAED;
}

.innovator-dialog-text {
  margin-bottom: 0;
}

.innovator-dialog-buttons {
  display: flex;
  flex-direction: row-reverse;
  padding-bottom: 8px;
  padding-top: 24px;
}
.innovator-dialog-buttons * {
  margin-left: 8px;
}

.lab-access-modal {
  display: flex;
  padding-top: 28px;
}

.lab-access-modal-close {
  color: #202124;
  position: absolute;
  right: 12px;
  top: 12px;
}

.lab-access-modal__method {
  display: flex;
  flex: 1;
  flex-direction: column;
}
.lab-access-modal__method:not(:last-child) {
  margin-right: 1.5rem;
}
.lab-access-modal__method .button {
  margin-top: auto;
}

.lab-access-modal__code {
  display: flex;
  margin-bottom: 0.75rem;
}
.lab-access-modal__code input {
  flex: 1 0 auto;
  width: 0px !important;
}
.lab-access-modal__code input:not(:last-child) {
  margin-right: 0.75rem;
}

.lab-assessment__tab,
.lab-assessment__panel {
  background: var(--accent-surface-color);
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
  box-shadow: var(--elevation-3);
  position: absolute;
  right: 0;
  top: 86px;
  z-index: 4;
}

.lab-assessment__tab {
  cursor: pointer;
  flex-direction: column;
  padding: 16px 5px;
}
.lab-assessment__tab button {
  background: transparent;
  border: none;
  color: inherit;
  font-family: var(--md-ref-typeface-plain);
  font-size: inherit;
  letter-spacing: 0.64px;
}
@media (max-width: 600px) {
  .lab-assessment__tab {
    display: none;
  }
}

.lab-assessment__panel {
  opacity: 0;
  padding: 16px;
  max-height: 40%;
  max-width: 600px;
  overflow: auto;
  transition: opacity 0.2s;
  visibility: hidden;
}
.lab-assessment__panel.is-open {
  opacity: 1;
  width: 100%;
  visibility: visible;
}

.lab-assessment__panel__header {
  align-items: center;
  display: flex;
  margin-bottom: 16px;
}
.lab-assessment__panel__header ql-icon-button {
  margin-left: auto;
}

.lab-assessment__step {
  align-items: center;
  display: flex;
}
.lab-assessment__step:not(:last-child) {
  margin-bottom: 8px;
}

.lab-assessment__step__title {
  flex: 1;
  margin: 0 16px 0 0;
}

.lab-assessment__step__action {
  align-items: center;
  display: flex;
  margin-left: auto;
}

.lab-assessment__step__score {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 4px;
  margin: 0 0 0 16px;
  padding: 6px 8px;
  text-align: right;
  width: 64px;
}

.lab-content__renderable-instructions,
.ql-lab-control-panel__in-content-drawer {
  margin-top: 0 auto;
  max-width: 640px;
  position: inherit;
}

.lab-content__outline.ql-lab-outline__in-content-drawer {
  margin-top: 20px;
  max-width: 640px;
  position: inherit;
}

.lab-content__pdf {
  border: none;
  height: calc(100vh - 156px);
}
@media (max-width: 832px) {
  .lab-content__pdf {
    margin-top: 0px;
    height: calc(100vh - 64px);
  }
}

.terminal {
  background: black;
  display: block;
  height: 100%;
  position: sticky;
  top: 0px;
  width: 100%;
}

ql-lab-control-panel {
  position: sticky;
  top: 24px;
  outline: 1px solid transparent;
}

.ql-lab-control-panel__max-height {
  max-height: calc(100vh - 112px);
}

.js-lab-content button.js-img-container {
  text-decoration: none;
  background: none;
  color: inherit;
  border: none;
  padding: 0;
}

.lab-content__outline {
  list-style-type: none;
  margin: 0px;
  padding-left: 0px;
  position: sticky;
  top: 24px;
}
.lab-content__outline li {
  line-height: inherit;
}
.lab-content__outline a {
  border-left: 2px solid #E8EAED;
  color: #5F6368;
  display: block;
  font-family: var(--md-ref-typeface-brand);
  font-size: 13px;
  font-weight: 500;
  padding: 8px 0 8px 16px;
  position: relative;
}
.lab-content__outline a:hover, .lab-content__outline a:focus {
  color: var(--primary-text-on-surface-color) !important;
  outline: none;
  text-decoration: none;
}
.lab-content__outline a:focus {
  outline: 1px solid var(--primary-text-on-surface-color);
}
.lab-content__outline a.is-active {
  border-left-color: var(--primary-text-on-surface-color);
  color: #202124;
}

.lab-content__join {
  margin-top: 64px;
  background: #fef7e0;
  border-radius: 8px;
  padding: 24px;
}
.lab-content__join h4 {
  margin: 0 0 24px 0 !important;
  text-transform: none;
}
.lab-content__join a.button {
  font-family: var(--md-ref-typeface-brand) !important;
  color: #fff !important;
  height: 40px;
  line-height: 40px !important;
  text-transform: none;
  width: 100%;
}

.lab-content__end-lab-button {
  margin-bottom: 16px;
  width: fit-content;
}

dialog.lab-content__image-overlay {
  border: none;
  cursor: zoom-out;
  padding: 0;
  overflow: auto;
}
dialog.lab-content__image-overlay .lab-content__image {
  background: var(--base-surface-color);
  border: none;
  border-radius: 2px;
  box-shadow: 0 8px 8px rgba(0, 0, 0, 0.2);
  margin: auto;
  padding: 3rem;
  max-width: 90vw;
  max-height: 90vh;
}
dialog.lab-content__image-overlay button {
  text-decoration: none;
  background: none;
  color: inherit;
  cursor: zoom-out;
  border: none;
  border-radius: 0;
  padding: 0;
  height: 100%;
  width: 100%;
}
dialog.lab-content__image-overlay::backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 1, 0.85);
}

.lab-preamble .lab-preamble__title {
  hyphens: auto;
  margin: 10px 0px 16px 0px;
  word-break: break-word;
}
@media (max-width: 832px) {
  .lab-preamble .lab-preamble__title {
    font-size: 48px;
  }
}
.lab-preamble .lab-preamble__ai_notice ql-infobox {
  margin: 16px 0px;
}
.lab-preamble .lab-preamble__ai_notice span {
  align-items: center;
  display: inline-flex;
}
.lab-preamble .lab-preamble__ai_notice span ql-icon {
  color: var(--primary-text-on-surface-color);
  margin-right: 8px;
}
.lab-preamble .lab-preamble__details {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-bottom: 16px;
}
@media (max-width: 600px) {
  .lab-preamble .lab-preamble__details {
    display: grid;
    grid-gap: 10px 24px;
    grid-template-columns: 1fr 1fr;
  }
}
.lab-preamble .lab-preamble__details span {
  align-items: center;
  display: inline-flex;
}
.lab-preamble .lab-preamble__details span ql-icon {
  margin-right: 4px;
}
.lab-preamble .lab__rating {
  align-items: center;
  display: flex;
}
.lab-preamble .lab__rating .rateit {
  align-items: center;
  display: flex;
}
.lab-preamble .lab__rating a {
  font-size: 13px;
  line-height: 1;
  margin-left: 4px;
  text-decoration: none;
}

#private-mode-modal {
  --dialog-border-radius: 28px;
  --dialog-color: var(--md-sys-color-surface-container-high);
  --dialog-width: 560px;
}
#private-mode-modal .page-content {
  align-items: center;
  display: flex;
  flex-direction: column;
  max-height: 685px;
  min-height: 600px;
  padding: 0px 24px;
  text-align: center;
}
#private-mode-modal .page-content .page-text {
  margin: 32px 0px;
  overflow: auto;
}
#private-mode-modal .page-content img {
  border-radius: 12px;
  min-height: 265px;
  object-fit: contain;
  width: 512px;
}
#private-mode-modal .page-content ol {
  padding-left: 24px;
  text-align: left;
}
#private-mode-modal .page-content ol li {
  margin: 16px 0px;
}

.lab-resource {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  bottom: 0.75rem;
  left: 0.75rem;
  transform: translateY(110%);
  background: white;
  border-radius: 2px;
  box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.1);
  opacity: 0.3;
  overflow-y: auto;
  padding: 45px;
  z-index: 23;
}
.lab-resource.is-open {
  transform: translateY(0);
  transition: all 0.3s ease-in-out;
  opacity: 1;
}

.lab-resource__background {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: var(--primary-surface-color);
  opacity: 0;
  z-index: 20;
}
.lab-resource__background.is-visible {
  transition: all 0.3s ease-in-out;
  opacity: 0.75;
  z-index: 22;
}

.lab-resource__close {
  position: absolute;
  top: 8px;
  right: 18px;
  bottom: nil;
  left: nil;
  color: #5F6368;
  cursor: pointer;
  font-size: 24px;
}

.lab-resource__video-container {
  margin: 0 auto;
  width: 83%;
}

.lab-resource__video {
  height: 0;
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 25px;
}
.lab-resource__video iframe {
  position: absolute;
  top: 0;
  right: nil;
  bottom: nil;
  left: 0;
  width: 100%;
  height: 100%;
}

.lab-sidebar {
  border-radius: 8px;
  max-height: calc(100vh - 88px);
  overflow-y: auto;
  padding: 16px;
}

.lab-sidebar__group:not(:last-child) {
  margin-bottom: 16px;
}

.lab-sidebar__resource:not(:last-child) {
  margin-bottom: 1.5rem;
}

.lab-sidebar__resource--additional-details {
  transition: opacity 0.4s ease-in-out;
  opacity: 0;
}
.lab-sidebar__resource--additional-details.is-hidden {
  display: none;
}
.lab-sidebar__resource--additional-details.is-visible {
  opacity: 1;
}

.lab-sidebar__intro-link {
  font-size: 12px;
}

ql-copyable-input {
  display: block;
  margin-bottom: 12px;
}

.lab-sidebar__resource-button {
  width: 100%;
}

.lab-sidebar__download-button {
  display: block;
}

ql-lab-connection-details {
  display: block;
  margin-bottom: 12px;
}

.open-console-button {
  width: 100%;
}

#run_lab .row-fluid .span5, #run_lab .row-fluid .span3, #run_lab .row-fluid .span {
  width: calc(100% - 40px);
  padding: 12px;
  margin-left: 0px;
}
#run_lab .title {
  line-height: 20px;
}
#run_lab .title h1 {
  font-size: 200%;
}
#run_lab .title img {
  vertical-align: bottom;
  height: 60px;
  padding-left: 20px;
}
#run_lab p {
  font-size: 110%;
}
#run_lab pre {
  word-break: break-all;
  word-wrap: break-word;
  white-space: pre-wrap;
  border: 1px solid;
  border-radius: 4px;
  padding: 9px;
}
#run_lab .greeting {
  background: #f5f5f5;
  border: 1px solid #aaa;
  margin-top: 8px;
  margin-bottom: 12px;
  word-wrap: break-word;
}
#run_lab .greeting .login {
  width: 80%;
  margin: 0px;
  padding: 20px;
  padding-bottom: 0px;
  border: 1px solid #aaa;
}
#run_lab ul.viewer {
  margin-top: 10px;
  list-style: none;
}
#run_lab ul.viewer li.inline {
  display: inline-block;
  vertical-align: top;
  padding-right: 16px;
}
#run_lab .highlight {
  color: #393;
  font-size: 130%;
}
#run_lab .copypaste {
  color: #00c;
  font-size: 120%;
}
#run_lab .username {
  padding-top: 0px;
  padding-left: 16px;
}
#run_lab .admin span {
  margin-right: 20px;
}

a, .link {
  transition: all 0.1s ease-in-out;
  color: var(--primary-text-on-surface-color);
  cursor: pointer;
  text-decoration: none;
}
a:hover, .link:hover {
  text-decoration: underline;
}
a i.fa, .link i.fa {
  font-size: 10px;
}
a span i.fa, .link span i.fa {
  margin-right: 5px;
}

.link--console {
  font-family: var(--md-ref-typeface-plain);
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
}
.link--console.is-disabled {
  color: #5F6368;
  cursor: default;
  text-decoration: none;
}
.link--console.is-disabled + i {
  color: #5F6368;
}

.link--danger {
  transition: all 0.1s ease-in-out;
  color: var(--warn-color);
  cursor: pointer;
  text-decoration: none;
}
.link--danger:hover {
  text-decoration: underline;
}

.sort_link {
  border-bottom: 1px dotted #999;
  font-weight: 600;
  position: relative;
  text-decoration: none !important;
  transition: all 0.1s ease-in-out;
  color: #5F6368;
  cursor: pointer;
  text-decoration: none;
}
.sort_link:hover {
  text-decoration: underline;
}
.sort_link.asc, .sort_link.desc {
  color: #202124;
}

.list-item {
  align-items: center;
  border-top: 1px solid #DADCE0;
  display: flex;
  flex-wrap: wrap;
  height: 48px;
  overflow: hidden;
  padding: 0 24px;
  transition: height 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.list-item--expandable {
  padding: 0px;
  align-items: flex-start;
}

.list-item__header {
  align-items: center;
  display: flex;
  height: 48px;
  padding: 0 24px;
  width: 100%;
}
.list-item__header ql-toggle-button {
  margin-left: auto;
}

.list-item--expandable .list-item__header {
  cursor: pointer;
}

.list-item__details {
  display: none;
  padding: 0 24px 12px 24px;
}
.list-item__details.wide-details {
  width: 100%;
}

.list-item.is-expanded .list-item__details {
  display: block;
}

.custom-logo {
  color: var(--medium-text-on-surface-color);
  display: block;
  font: var(--md-sys-typescale-title-large);
  font-size: 20px;
}
.custom-logo:focus {
  outline: 2px solid var(--md-sys-color-primary);
}
.custom-logo:focus * {
  color: var(--text-on-focus-color);
}
.custom-logo img {
  display: block;
}
.custom-logo:hover {
  text-decoration: none;
}

.gs-logo {
  margin-inline-start: 20px;
}
@media (max-width: 600px) {
  .gs-logo {
    margin-inline-start: 0;
  }
}

.powered-by {
  align-items: center;
  color: var(--light-text-on-surface-color);
  display: flex;
  font: var(--md-sys-typescale-body-medium);
  font-size: 13px;
}
.powered-by img {
  height: 18px;
  margin-left: 4px;
}

.markdown-lab-instructions#markdown-lab-instructions {
  /* https://github.com/google/code-prettify/blob/master/styles/sunburst.css */
  /* Matches Codelabs pretty printing style. */
  /* Pretty printing styles. Used with prettify.js. */
  /* Vim sunburst theme by David Leibovic */
  /* string  - green */
  /* keyword - dark pink */
  /* comment - gray */
  /* type - light blue */
  /* literal - blue */
  /* punctuation - white */
  /* plaintext - white */
  /* html/xml tag    - light blue */
  /* html/xml attribute name  - khaki */
  /* html/xml attribute value - green */
  /* decimal - blue */
  /* Specify class=linenums on a pre to get line numbering */
  /* IE indents via margin-left */
  /* Alternate shading for lines */
}
.markdown-lab-instructions#markdown-lab-instructions a, .markdown-lab-instructions#markdown-lab-instructions h1, .markdown-lab-instructions#markdown-lab-instructions h2, .markdown-lab-instructions#markdown-lab-instructions h3, .markdown-lab-instructions#markdown-lab-instructions h4, .markdown-lab-instructions#markdown-lab-instructions h5, .markdown-lab-instructions#markdown-lab-instructions h6, .markdown-lab-instructions#markdown-lab-instructions p, .markdown-lab-instructions#markdown-lab-instructions ul, .markdown-lab-instructions#markdown-lab-instructions ol, .markdown-lab-instructions#markdown-lab-instructions li, .markdown-lab-instructions#markdown-lab-instructions blockquote, .markdown-lab-instructions#markdown-lab-instructions pre {
  color: #202124;
  font: var(--md-sys-typescale-body-large);
  margin: 0;
  margin-bottom: 0;
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
  padding: 0;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  line-height: 1.6;
}
@media (max-width: 832px) {
  .markdown-lab-instructions#markdown-lab-instructions a, .markdown-lab-instructions#markdown-lab-instructions h1, .markdown-lab-instructions#markdown-lab-instructions h2, .markdown-lab-instructions#markdown-lab-instructions h3, .markdown-lab-instructions#markdown-lab-instructions h4, .markdown-lab-instructions#markdown-lab-instructions h5, .markdown-lab-instructions#markdown-lab-instructions h6, .markdown-lab-instructions#markdown-lab-instructions p, .markdown-lab-instructions#markdown-lab-instructions ul, .markdown-lab-instructions#markdown-lab-instructions ol, .markdown-lab-instructions#markdown-lab-instructions li, .markdown-lab-instructions#markdown-lab-instructions blockquote, .markdown-lab-instructions#markdown-lab-instructions pre {
    font-size: 16px;
  }
}
@media (width <= 1120px) {
  .markdown-lab-instructions#markdown-lab-instructions a, .markdown-lab-instructions#markdown-lab-instructions h1, .markdown-lab-instructions#markdown-lab-instructions h2, .markdown-lab-instructions#markdown-lab-instructions h3, .markdown-lab-instructions#markdown-lab-instructions h4, .markdown-lab-instructions#markdown-lab-instructions h5, .markdown-lab-instructions#markdown-lab-instructions h6, .markdown-lab-instructions#markdown-lab-instructions p, .markdown-lab-instructions#markdown-lab-instructions ul, .markdown-lab-instructions#markdown-lab-instructions ol, .markdown-lab-instructions#markdown-lab-instructions li, .markdown-lab-instructions#markdown-lab-instructions blockquote, .markdown-lab-instructions#markdown-lab-instructions pre {
    font-size: 17px;
  }
}
.markdown-lab-instructions#markdown-lab-instructions.no-select {
  cursor: default;
}
.markdown-lab-instructions#markdown-lab-instructions.no-select a, .markdown-lab-instructions#markdown-lab-instructions.no-select h1, .markdown-lab-instructions#markdown-lab-instructions.no-select h2, .markdown-lab-instructions#markdown-lab-instructions.no-select h3, .markdown-lab-instructions#markdown-lab-instructions.no-select h4, .markdown-lab-instructions#markdown-lab-instructions.no-select h5, .markdown-lab-instructions#markdown-lab-instructions.no-select h6, .markdown-lab-instructions#markdown-lab-instructions.no-select p, .markdown-lab-instructions#markdown-lab-instructions.no-select ul, .markdown-lab-instructions#markdown-lab-instructions.no-select ol, .markdown-lab-instructions#markdown-lab-instructions.no-select li, .markdown-lab-instructions#markdown-lab-instructions.no-select blockquote {
  cursor: default;
  user-select: none;
  -webkit-touch-callout: none;
}
.markdown-lab-instructions#markdown-lab-instructions a {
  transition: all 0.1s ease-in-out;
  color: var(--primary-text-on-surface-color);
  cursor: pointer;
  border-bottom: 1px solid var(--primary-text-on-surface-color);
}
.markdown-lab-instructions#markdown-lab-instructions a:hover {
  border-bottom: 2px solid var(--primary-text-on-surface-color);
  color: var(--primary-text-on-surface-color);
  text-decoration: none;
}
.markdown-lab-instructions#markdown-lab-instructions h1, .markdown-lab-instructions#markdown-lab-instructions h2, .markdown-lab-instructions#markdown-lab-instructions h3, .markdown-lab-instructions#markdown-lab-instructions h4 {
  line-height: 1.2;
}
.markdown-lab-instructions#markdown-lab-instructions h1 strong, .markdown-lab-instructions#markdown-lab-instructions h2 strong, .markdown-lab-instructions#markdown-lab-instructions h3 strong, .markdown-lab-instructions#markdown-lab-instructions h4 strong {
  font-weight: inherit;
}
.markdown-lab-instructions#markdown-lab-instructions h1 {
  font-family: var(--md-ref-typeface-brand);
  font-size: 30px;
  font-weight: 700;
  margin-bottom: 32px;
}
.markdown-lab-instructions#markdown-lab-instructions h2 {
  font-family: var(--md-ref-typeface-brand);
  font-size: 30px;
  font-weight: 700;
  margin-top: 64px;
  margin-bottom: 32px;
}
@media (max-width: 832px) {
  .markdown-lab-instructions#markdown-lab-instructions h2 {
    font-size: 28px;
  }
}
.markdown-lab-instructions#markdown-lab-instructions h3 {
  font-family: "Roboto", sans-serif;
  font-size: 24px;
  font-weight: 400;
  margin-top: 56px;
  margin-bottom: 32px;
}
@media (max-width: 832px) {
  .markdown-lab-instructions#markdown-lab-instructions h3 {
    font-size: 22px;
  }
}
.markdown-lab-instructions#markdown-lab-instructions h4 {
  font-size: 16px;
  font-weight: 700;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.markdown-lab-instructions#markdown-lab-instructions p, .markdown-lab-instructions#markdown-lab-instructions ul, .markdown-lab-instructions#markdown-lab-instructions ol {
  margin-bottom: 24px;
}
.markdown-lab-instructions#markdown-lab-instructions ol {
  margin-bottom: 1.5rem;
  margin-left: 3rem;
}
.markdown-lab-instructions#markdown-lab-instructions ul {
  list-style-position: inside;
}
.markdown-lab-instructions#markdown-lab-instructions h1 + ol, .markdown-lab-instructions#markdown-lab-instructions h2 + ol, .markdown-lab-instructions#markdown-lab-instructions h3 + ol {
  margin-top: 0;
}
.markdown-lab-instructions#markdown-lab-instructions ul {
  padding-left: 1.5rem;
}
.markdown-lab-instructions#markdown-lab-instructions ul li {
  list-style: disc;
}
.markdown-lab-instructions#markdown-lab-instructions ol ol, .markdown-lab-instructions#markdown-lab-instructions ol ul, .markdown-lab-instructions#markdown-lab-instructions ul ol, .markdown-lab-instructions#markdown-lab-instructions ul ul {
  margin-top: 1.5rem;
  padding-left: 48px;
}
.markdown-lab-instructions#markdown-lab-instructions ol li:not(:last-child) {
  margin-bottom: 1.5rem;
}
.markdown-lab-instructions#markdown-lab-instructions blockquote {
  border-left: none;
  font-style: normal;
}
.markdown-lab-instructions#markdown-lab-instructions blockquote:before, .markdown-lab-instructions#markdown-lab-instructions blockquote:after {
  display: none;
}
.markdown-lab-instructions#markdown-lab-instructions img {
  cursor: zoom-in;
  max-width: 100%;
}
@media (max-width: 1368px) {
  .markdown-lab-instructions#markdown-lab-instructions img {
    max-width: 100% !important;
  }
}
.markdown-lab-instructions#markdown-lab-instructions strong {
  font-weight: 700;
}
.markdown-lab-instructions#markdown-lab-instructions table {
  border-collapse: collapse;
  margin: 16px 0;
  width: 100%;
}
.markdown-lab-instructions#markdown-lab-instructions table tr:hover {
  background: #DADCE0;
}
.markdown-lab-instructions#markdown-lab-instructions table th, .markdown-lab-instructions#markdown-lab-instructions table td {
  padding: 8px;
  font-size: 14px;
}
.markdown-lab-instructions#markdown-lab-instructions table th {
  background: #DADCE0;
  border: 1px solid #DADCE0;
  color: #202124;
  font-weight: 700;
  text-align: left;
}
.markdown-lab-instructions#markdown-lab-instructions table td {
  border: 1px solid #DADCE0;
}
.markdown-lab-instructions#markdown-lab-instructions table p, .markdown-lab-instructions#markdown-lab-instructions table ul, .markdown-lab-instructions#markdown-lab-instructions table li, .markdown-lab-instructions#markdown-lab-instructions table a {
  font-size: 14px;
}
.markdown-lab-instructions#markdown-lab-instructions table p:last-child, .markdown-lab-instructions#markdown-lab-instructions table ul:last-child, .markdown-lab-instructions#markdown-lab-instructions table li:last-child, .markdown-lab-instructions#markdown-lab-instructions table a:last-child {
  margin-bottom: 0;
}
.markdown-lab-instructions#markdown-lab-instructions pre, .markdown-lab-instructions#markdown-lab-instructions code, .markdown-lab-instructions#markdown-lab-instructions code * {
  font-family: "Roboto Mono", monospace;
  font-size: 15px;
  line-height: 1;
}
.markdown-lab-instructions#markdown-lab-instructions code {
  background: rgba(0, 0, 0, 0.05);
  border-radius: 2px;
  padding: 2px 3px;
}
.markdown-lab-instructions#markdown-lab-instructions .copyable-inline-input {
  background: #DADCE0;
  border: none;
  border-radius: 2px;
  display: inline-block;
  font-family: "Roboto Mono", monospace;
  font-size: 15px;
  height: auto;
  line-height: 1;
  max-width: 100%;
  padding: 2px 0px 2px 7px;
  width: auto;
}
.markdown-lab-instructions#markdown-lab-instructions pre {
  background-color: #28323f;
  border-radius: 2px;
  display: block;
  color: #ccc;
  cursor: text;
  font-size: 13px;
  line-height: 1.6;
  margin-bottom: 1.5rem;
  margin-left: auto;
  margin-right: auto;
  overflow-x: auto;
  padding: 1em;
  position: relative;
  white-space: pre-wrap;
  width: 95%;
  z-index: 2;
}
.markdown-lab-instructions#markdown-lab-instructions pre code {
  background: none;
  border-radius: 0;
  display: block;
  font-size: 13px;
  line-height: 1.6;
}
.markdown-lab-instructions#markdown-lab-instructions pre code * {
  font-size: 13px;
  line-height: 1.6;
}
.markdown-lab-instructions#markdown-lab-instructions pre button {
  color: white;
  position: absolute;
  top: 0.375rem;
  right: 0.375rem;
  bottom: nil;
  left: nil;
  opacity: 0;
}
.markdown-lab-instructions#markdown-lab-instructions pre:hover button {
  opacity: 1;
}
.markdown-lab-instructions#markdown-lab-instructions .rouge-table {
  width: 100%;
}
.markdown-lab-instructions#markdown-lab-instructions .rouge-table td {
  border-color: transparent;
  padding: 0;
}
.markdown-lab-instructions#markdown-lab-instructions .rouge-table tr {
  background: #444 !important;
}
.markdown-lab-instructions#markdown-lab-instructions .rouge-table pre {
  background: none;
  border-radius: 0;
  font-size: 13px;
  line-height: 1.6;
  margin: 0;
}
.markdown-lab-instructions#markdown-lab-instructions .rouge-gutter {
  background: rgba(var(--primary-surface-color-rgb), 0.1);
  border-bottom-left-radius: 2px;
  border-top-left-radius: 2px;
  width: 55px;
}
.markdown-lab-instructions#markdown-lab-instructions .rouge-gutter pre {
  color: rgba(255, 255, 255, 0.33);
  padding: 20px 15px;
}
.markdown-lab-instructions#markdown-lab-instructions .rouge-code {
  border-bottom-right-radius: 2px;
  border-top-right-radius: 2px;
  position: relative;
  overflow-x: auto;
}
.markdown-lab-instructions#markdown-lab-instructions .rouge-code pre {
  position: absolute;
  top: 20px;
  right: nil;
  bottom: nil;
  left: 0px;
  padding: 0px 15px;
  width: auto;
}
.markdown-lab-instructions#markdown-lab-instructions aside, .markdown-lab-instructions#markdown-lab-instructions .codelabs-infobox {
  background-color: #f2f2f2;
  border-radius: 2px;
  margin-bottom: 1.5rem;
  padding: 20px;
}
.markdown-lab-instructions#markdown-lab-instructions aside p:last-child, .markdown-lab-instructions#markdown-lab-instructions .codelabs-infobox p:last-child {
  margin-bottom: 0;
}
.markdown-lab-instructions#markdown-lab-instructions aside a, .markdown-lab-instructions#markdown-lab-instructions .codelabs-infobox a {
  color: #1967D2;
}
.markdown-lab-instructions#markdown-lab-instructions aside > h3:first-child, .markdown-lab-instructions#markdown-lab-instructions .codelabs-infobox > h3:first-child {
  margin-top: 0;
}
.markdown-lab-instructions#markdown-lab-instructions aside > h4:first-child, .markdown-lab-instructions#markdown-lab-instructions .codelabs-infobox > h4:first-child {
  margin-top: 0;
}
.markdown-lab-instructions#markdown-lab-instructions aside, .markdown-lab-instructions#markdown-lab-instructions .codelabs-infobox-special {
  background-color: var(--primary-surface-color-lightest);
}
.markdown-lab-instructions#markdown-lab-instructions aside.warning, .markdown-lab-instructions#markdown-lab-instructions .codelabs-infobox-warning {
  background-color: rgba(217, 48, 37, 0.08);
}
.markdown-lab-instructions#markdown-lab-instructions ql-infobox, .markdown-lab-instructions#markdown-lab-instructions ql-warningbox, .markdown-lab-instructions#markdown-lab-instructions ql-expandable-infobox {
  margin: 1.5rem 0;
}
.markdown-lab-instructions#markdown-lab-instructions ql-expandable-infobox h1, .markdown-lab-instructions#markdown-lab-instructions ql-expandable-infobox h2, .markdown-lab-instructions#markdown-lab-instructions ql-expandable-infobox h3 {
  margin-top: 32px;
}
.markdown-lab-instructions#markdown-lab-instructions ql-expandable-infobox p {
  margin-top: 24px;
}
.markdown-lab-instructions#markdown-lab-instructions .codelabs-downloadbutton {
  transition: all 0.1s ease-in-out;
  align-items: center;
  display: flex;
  justify-content: center;
  -webkit-appearance: none;
  background: var(--primary-surface-color);
  border: 2px solid rgba(0, 0, 0, 0.15);
  box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.1);
  border-radius: 2px;
  color: var(--text-on-primary-color);
  cursor: pointer;
  display: inline-flex;
  font-family: var(--md-ref-typeface-plain);
  font-size: 14px;
  font-weight: 700;
  height: 40px;
  line-height: 1;
  padding: 0px 20px;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  text-shadow: none;
}
.markdown-lab-instructions#markdown-lab-instructions .codelabs-downloadbutton:hover, .markdown-lab-instructions#markdown-lab-instructions .codelabs-downloadbutton:focus {
  color: var(--text-on-primary-color);
  background: var(--primary-surface-color);
  text-decoration: none;
}
.markdown-lab-instructions#markdown-lab-instructions .codelabs-downloadbutton:active {
  color: var(--text-on-primary-color);
  box-shadow: inset 3px 3px 1px rgba(0, 0, 0, 0.07);
  text-decoration: none;
}
.markdown-lab-instructions#markdown-lab-instructions pre .str, .markdown-lab-instructions#markdown-lab-instructions code .str {
  color: #65B042;
}
.markdown-lab-instructions#markdown-lab-instructions pre .kwd, .markdown-lab-instructions#markdown-lab-instructions code .kwd {
  color: #E28964;
}
.markdown-lab-instructions#markdown-lab-instructions pre .com, .markdown-lab-instructions#markdown-lab-instructions code .com {
  color: #AEAEAE;
  font-style: italic;
}
.markdown-lab-instructions#markdown-lab-instructions pre .typ, .markdown-lab-instructions#markdown-lab-instructions code .typ {
  color: #89bdff;
}
.markdown-lab-instructions#markdown-lab-instructions pre .lit, .markdown-lab-instructions#markdown-lab-instructions code .lit {
  color: #3387CC;
}
.markdown-lab-instructions#markdown-lab-instructions pre .pun, .markdown-lab-instructions#markdown-lab-instructions code .pun {
  color: #fff;
}
.markdown-lab-instructions#markdown-lab-instructions pre .pln, .markdown-lab-instructions#markdown-lab-instructions code .pln {
  color: #fff;
}
.markdown-lab-instructions#markdown-lab-instructions pre .tag, .markdown-lab-instructions#markdown-lab-instructions code .tag {
  color: #89bdff;
}
.markdown-lab-instructions#markdown-lab-instructions pre .atn, .markdown-lab-instructions#markdown-lab-instructions code .atn {
  color: #bdb76b;
}
.markdown-lab-instructions#markdown-lab-instructions pre .atv, .markdown-lab-instructions#markdown-lab-instructions code .atv {
  color: #65B042;
}
.markdown-lab-instructions#markdown-lab-instructions pre .dec, .markdown-lab-instructions#markdown-lab-instructions code .dec {
  color: #3387CC;
}
.markdown-lab-instructions#markdown-lab-instructions pre.prettyprint, .markdown-lab-instructions#markdown-lab-instructions code.prettyprint {
  background-color: #28323f;
}
.markdown-lab-instructions#markdown-lab-instructions pre.prettyprint {
  width: 95%;
  margin: 1em auto;
  overflow-x: auto;
  padding: 1em;
  white-space: pre-wrap;
}
.markdown-lab-instructions#markdown-lab-instructions ol.linenums {
  margin-top: 0;
  margin-bottom: 0;
  color: #AEAEAE;
}
.markdown-lab-instructions#markdown-lab-instructions li.L0, .markdown-lab-instructions#markdown-lab-instructions li.L1, .markdown-lab-instructions#markdown-lab-instructions li.L2, .markdown-lab-instructions#markdown-lab-instructions li.L3, .markdown-lab-instructions#markdown-lab-instructions li.L5, .markdown-lab-instructions#markdown-lab-instructions li.L6, .markdown-lab-instructions#markdown-lab-instructions li.L7, .markdown-lab-instructions#markdown-lab-instructions li.L8 {
  list-style-type: none;
}
@media print {
  .markdown-lab-instructions#markdown-lab-instructions pre .str, .markdown-lab-instructions#markdown-lab-instructions code .str {
    color: #060;
  }
  .markdown-lab-instructions#markdown-lab-instructions pre .kwd, .markdown-lab-instructions#markdown-lab-instructions code .kwd {
    color: #006;
    font-weight: bold;
  }
  .markdown-lab-instructions#markdown-lab-instructions pre .com, .markdown-lab-instructions#markdown-lab-instructions code .com {
    color: #600;
    font-style: italic;
  }
  .markdown-lab-instructions#markdown-lab-instructions pre .typ, .markdown-lab-instructions#markdown-lab-instructions code .typ {
    color: #404;
    font-weight: bold;
  }
  .markdown-lab-instructions#markdown-lab-instructions pre .lit, .markdown-lab-instructions#markdown-lab-instructions code .lit {
    color: #044;
  }
  .markdown-lab-instructions#markdown-lab-instructions pre .pun, .markdown-lab-instructions#markdown-lab-instructions code .pun {
    color: #440;
  }
  .markdown-lab-instructions#markdown-lab-instructions pre .pln, .markdown-lab-instructions#markdown-lab-instructions code .pln {
    color: #000;
  }
  .markdown-lab-instructions#markdown-lab-instructions pre .tag, .markdown-lab-instructions#markdown-lab-instructions code .tag {
    color: #006;
    font-weight: bold;
  }
  .markdown-lab-instructions#markdown-lab-instructions pre .atn, .markdown-lab-instructions#markdown-lab-instructions code .atn {
    color: #404;
  }
  .markdown-lab-instructions#markdown-lab-instructions pre .atv, .markdown-lab-instructions#markdown-lab-instructions code .atv {
    color: #060;
  }
}

ql-menu {
  color: var(--base-text-on-surface-color);
  outline: 1px solid transparent;
}

ql-menu-item a {
  align-items: center;
  color: var(--base-text-on-surface-color);
  display: flex;
  font: var(--md-sys-typescale-body-large);
  text-align: left;
  text-decoration: none;
}
ql-menu-item a:hover {
  text-decoration: none;
}

.mdl-menu__item {
  margin: 0 !important;
}

.modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-overflow-scrolling: touch;
  display: none;
  z-index: 991;
}
.modal.fade .modal-content {
  transform: translate(0, 35%);
  opacity: 0.3;
}
.modal.in .modal-content {
  transform: translate(0, 0);
  opacity: 1;
}

.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transition: opacity 0.3s ease-out;
  background: rgba(0, 0, 0, 0.5);
  z-index: 990;
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.in {
  opacity: 0.8;
}

.modal-body {
  padding: 24px 32px;
}

.modal-body-warning {
  font-weight: bold;
}

.modal-container {
  position: fixed;
  top: 0;
  right: nil;
  bottom: nil;
  left: 0;
  width: 100%;
  height: 100%;
}

.modal-content {
  transition: all 0.3s ease-out;
  background-color: white;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  width: 600px;
}
.modal-content.edit-gcp-environment {
  overflow-y: auto;
  width: 800px;
}

.modal-header {
  font-family: var(--md-ref-typeface-brand) !important;
  font-size: 24px;
  font-weight: 400;
  line-height: 32px;
  padding: 32px 32px 0 32px;
  text-transform: none;
  width: 90%;
}

.modal-actions {
  display: flex;
  justify-content: flex-end;
  padding: 0 32px 24px 32px;
}
.modal-actions .button:not(:last-child) {
  margin-right: 16px;
}

.modal-close {
  position: absolute;
  top: 24px;
  right: 24px;
  bottom: nil;
  left: nil;
  color: #ccc;
  font-size: 18px;
}

.my-credits {
  background: #DADCE0;
  border-radius: 2px;
  padding: 1.5rem;
}

.my-credits__overview {
  align-items: center;
  display: flex;
}

.my-credits__overview__message {
  margin-left: 1.5rem;
}
.my-credits__overview__message h3 {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  text-transform: none;
}
.my-credits__overview__message p {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  margin: 0;
  text-transform: uppercase;
}
.my-credits__overview__message a {
  font-size: 11px;
  line-height: 1.5;
  text-decoration: underline;
}
.my-credits__overview__message ql-chip {
  text-transform: uppercase;
  vertical-align: middle;
}

.my-credits__details {
  margin-top: 1.5rem;
}
.my-credits__details .flex-table__row {
  border-bottom: none;
  height: 30px;
}
.my-credits__details .flex-table__row .td {
  font-size: 13px;
}
.my-credits__details .flex-table__row:hover {
  background: none;
}
.my-credits__details .flex-table__row--header {
  background: none;
  border-bottom: 1px solid #DADCE0;
}
.my-credits__details .flex-table__row--header .td {
  color: #202124;
}

.my-credits__share {
  display: block;
  font-size: 14px;
  margin-bottom: 3rem;
  text-align: right;
}

.td.my-credits__action {
  flex: 0 0 auto;
  width: 80px;
  text-align: right;
}

.td.my-credits__credits {
  flex: 0 0 auto;
  width: 50%;
}

.td.my-credits__expiring {
  flex: 0 0 auto;
  width: 100px;
}

.td.my-credits__purchase-date {
  flex: 0 0 auto;
  width: 160px;
}

.td.my-credits__price {
  flex: 0 0 auto;
  width: 100px;
}

.td.my-credits__next-expiring {
  flex: 0 0 auto;
  width: 190px;
}

.td.my-credits__purchased span {
  border-radius: 2px;
  background: var(--primary-surface-color);
  color: var(--text-on-primary-color);
  font-size: 14px;
  padding: 2px 5px;
  text-transform: uppercase;
}

.my-subscriptions__overview {
  display: flex;
  gap: 24px;
}

.my-subscriptions__card {
  background: #F1F3F4;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  padding: 24px;
  flex: 1;
  gap: 16px;
  max-width: 520px;
}

.my-subscriptions__card__title {
  height: 49.5px;
}
.my-subscriptions__card__title h3 {
  font-size: 20px;
  line-height: 1.5;
  text-transform: none;
}
.my-subscriptions__card__title p {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  text-transform: uppercase;
  margin-bottom: 0;
}

.my-subscriptions__card__message p {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  margin: 0 0 8px 0;
  text-transform: uppercase;
}
.my-subscriptions__card__message a {
  font-size: 11px;
  line-height: 1.5;
  text-decoration: underline;
}
.my-subscriptions__card__message ql-chip {
  text-transform: uppercase;
  vertical-align: middle;
}

.my-subscriptions__card__actions {
  display: flex;
  gap: 12px;
  height: 48px;
  align-items: center;
}

.nav-bar {
  background: white;
  height: calc(100vh - 64px - 1px);
  left: 0;
  position: fixed;
  top: calc(64px + 1px);
  width: 72px;
  z-index: 199;
}
.nav-bar__item {
  align-items: center;
  color: #5F6368;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 72px;
  outline: none;
  padding: 0 4px;
  position: relative;
  text-decoration: none !important;
  width: 72px;
}
.nav-bar__item:before {
  background: transparent;
  border-radius: 50%;
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  top: 5%;
  width: 100%;
  z-index: -1;
}
.nav-bar__item:hover:before, .nav-bar__item:focus:before {
  background: #F1F3F4;
}
.nav-bar__item.active {
  color: var(--primary-text-on-surface-color);
}
.nav-bar__item__icon {
  margin-bottom: 4px;
}
.nav-bar__item__label {
  font-family: var(--md-ref-typeface-brand);
  font-size: 12px;
  line-height: 1.2;
  text-align: center;
  hyphens: auto;
}
.no-nav .nav-bar {
  display: none;
}
@media (max-width: 600px) {
  .nav-bar {
    box-shadow: 8px 0 10px -5px rgba(0, 0, 0, 0.2), 16px 0 24px 2px rgba(0, 0, 0, 0.14), 6px 0 30px 5px rgba(0, 0, 0, 0.12);
    display: flex;
    height: 64px;
    justify-content: space-around;
    width: 100vw;
  }
}

.sidenav-drawer .nav-bar {
  position: static;
}

.nav-panel {
  transition: transform 0.175s cubic-bezier(0.4, 0, 0.6, 1);
  background: white;
  display: flex;
  flex-direction: column;
  height: 100vh;
  left: 0;
  overflow-y: auto;
  position: fixed;
  top: 0;
  transform: translateX(-100%);
  visibility: hidden;
  width: 280px;
  z-index: 202;
}
.nav-panel.is-open {
  transition: transform 0.2s cubic-bezier(0, 0, 0.2, 1);
  transform: translateX(0);
  visibility: visible;
  box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.2), 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12);
}
.nav-panel__logo {
  height: 64px;
  margin-bottom: 24px;
  padding: 24px;
}
.nav-panel__account-setting-logo {
  height: 64px;
  padding: 24px;
}

.nav-panel__item {
  align-items: center;
  color: #3C4043;
  display: flex;
  font-size: 14px;
  flex: 0 0 48px;
  height: 48px;
  margin: 2px 0;
  outline: none;
  padding-left: 24px;
  position: relative;
  text-decoration: none !important;
  width: 264px;
}
.nav-panel__item:before {
  background: transparent;
  border-radius: 0 48px 48px 0;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}
.nav-panel__item:hover:before, .nav-panel__item:focus:before {
  background: #F1F3F4;
}
.nav-panel__item.active:focus:before {
  background: rgba(var(--primary-surface-color-rgb), 0.2);
}
.nav-panel__item.active {
  color: var(--primary-text-on-surface-color);
}
.nav-panel__item.active:before {
  background: rgba(var(--primary-surface-color-rgb), 0.1);
}
@media (max-width: 600px) {
  .nav-panel__item {
    height: 32px;
  }
}

.nav-panel__item__icon {
  margin-right: 24px;
}
@media (max-width: 600px) {
  .nav-panel__item__icon {
    margin-right: 16px;
  }
}

.nav-panel__item__label {
  font-family: var(--md-ref-typeface-brand);
  font-weight: 500;
}

.nav-panel__item ql-help {
  display: block;
}

.nav-panel__help-item {
  align-items: center;
  display: flex;
  height: 48px;
  width: 264px;
  margin-left: -24px;
  padding-left: 24px;
}

.nav-panel__small-links {
  font-size: 13px;
  padding: 8px 24px;
  margin-top: auto;
}
.nav-panel__small-links a {
  color: #80868B;
  font-weight: 400;
}
.nav-panel__small-links a:first-child {
  margin-right: 16px;
}

.nav-panel__spacer {
  border-top: 1px solid #DADCE0;
  margin: 16px 0;
}
@media (max-width: 600px) {
  .nav-panel__spacer {
    margin: 16px 0;
  }
}

.nav-panel__overlay {
  transition: opacity 0.175s cubic-bezier(0.4, 0, 0.6, 1);
  background: rgba(32, 33, 36, 0.25);
  height: 100vh;
  left: 0;
  opacity: 0;
  position: fixed;
  top: 0;
  transform: translateX(-100%);
  width: 100vw;
  z-index: 201;
}

.nav-panel.is-open + .nav-panel__overlay {
  transition: opacity 0.2s cubic-bezier(0, 0, 0.2, 1);
  opacity: 1;
  transform: translateX(0);
}

body.no-nav .nav-panel,
body.no-nav .header__nav-panel-button,
body.no-nav .bottom-menu {
  display: none;
}

#org-skills-modal {
  --dialog-color: var(--md-sys-color-surface-container-high);
  --dialog-width: 480px;
}
#org-skills-modal .page-content {
  align-items: center;
  color: var(--md-sys-color-on-surface-variant);
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 0 24px 24px 24px;
}
#org-skills-modal .page-content img, #org-skills-modal .page-content video {
  background: var(--base-surface-color);
  border-radius: 16px;
  max-width: 100%;
}
#org-skills-modal .page-content a {
  color: var(--md-sys-color-on-surface-variant);
}

#org-terms-modal {
  --dialog-width: 380px;
  padding-bottom: 0px;
}
#org-terms-modal .actions .buttons {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.pagination {
  align-items: center;
  display: flex;
  font-size: 13px;
  justify-content: flex-end;
}

.pagination__per-page {
  align-items: center;
  display: flex;
  margin-right: 24px;
  position: relative;
}
.pagination__per-page form {
  display: inline-block;
}
.pagination__per-page label {
  margin-bottom: 0;
}
.pagination__per-page select {
  appearance: none;
  background: none;
  border: none;
  cursor: pointer;
  font-family: "Roboto";
  font-size: 13px;
  margin-left: 8px;
  padding-right: 16px;
  position: relative;
  width: 60px;
  z-index: 1;
}
.pagination__per-page:after {
  font-family: "Material Icons";
  content: "arrow_drop_down";
  margin-top: -12px;
  position: absolute;
  top: 50%;
  right: 8px;
}

.pagination__page {
  margin-right: 24px;
}

.pagination__navigation {
  align-items: center;
  display: flex;
}
.pagination__navigation .previous_page,
.pagination__navigation .next_page {
  color: #5F6368;
  display: block;
  line-height: 1;
}
.pagination__navigation .previous_page.disabled,
.pagination__navigation .next_page.disabled {
  color: #ccc;
}
.pagination__navigation .previous_page {
  margin-right: 24px;
}

.progress-bar {
  background: #DADCE0;
  border-radius: 100px;
  height: 20px;
  overflow: hidden;
  width: 100%;
}

.progress-bar__fill {
  background: var(--success-color);
  height: 100%;
}

.ql-card {
  background: white;
  border-radius: 8px;
  position: relative;
}

div.ql-divider {
  border-top: 1px solid #DADCE0;
  height: 1px;
}

div.ql-bold-divider {
  background: var(--primary-surface-color);
  border-radius: 2px;
  height: 6px;
  width: 66%;
}

.mb-1 {
  margin-bottom: 8px;
}

.ml-1 {
  margin-left: 8px;
}

.mr-1 {
  margin-right: 8px;
}

.mt-1 {
  margin-top: 8px;
}

.mb-2 {
  margin-bottom: 16px;
}

.ml-2 {
  margin-left: 16px;
}

.mr-2 {
  margin-right: 16px;
}

.mt-2 {
  margin-top: 16px;
}

.mb-3 {
  margin-bottom: 24px;
}

.ml-3 {
  margin-left: 24px;
}

.mr-3 {
  margin-right: 24px;
}

.mt-3 {
  margin-top: 24px;
}

.mb-4 {
  margin-bottom: 32px;
}

.ml-4 {
  margin-left: 32px;
}

.mr-4 {
  margin-right: 32px;
}

.mt-4 {
  margin-top: 32px;
}

.mb-5 {
  margin-bottom: 40px;
}

.ml-5 {
  margin-left: 40px;
}

.mr-5 {
  margin-right: 40px;
}

.mt-5 {
  margin-top: 40px;
}

.mb-6 {
  margin-bottom: 48px;
}

.ml-6 {
  margin-left: 48px;
}

.mr-6 {
  margin-right: 48px;
}

.mt-6 {
  margin-top: 48px;
}

.mb-7 {
  margin-bottom: 56px;
}

.ml-7 {
  margin-left: 56px;
}

.mr-7 {
  margin-right: 56px;
}

.mt-7 {
  margin-top: 56px;
}

.mb-8 {
  margin-bottom: 64px;
}

.ml-8 {
  margin-left: 64px;
}

.mr-8 {
  margin-right: 64px;
}

.mt-8 {
  margin-top: 64px;
}

.mb-9 {
  margin-bottom: 72px;
}

.ml-9 {
  margin-left: 72px;
}

.mr-9 {
  margin-right: 72px;
}

.mt-9 {
  margin-top: 72px;
}

.mb-10 {
  margin-bottom: 80px;
}

.ml-10 {
  margin-left: 80px;
}

.mr-10 {
  margin-right: 80px;
}

.mt-10 {
  margin-top: 80px;
}

div.ql-wrapper {
  margin: 0 auto;
  width: 640px;
}

.purchase_receipt {
  zoom: 1.1;
  position: absolute;
  margin-top: 100px;
  padding-left: 10px;
}
.purchase_receipt .address {
  padding-top: 5px;
  font-size: 75%;
  line-height: 95%;
}
.purchase_receipt table {
  border: 1px solid black;
  border-collapse: collapse;
}
.purchase_receipt table caption {
  text-align: left;
}
.purchase_receipt table th {
  border: 1px solid black;
  padding: 5px;
}
.purchase_receipt table td {
  text-align: left;
  border: 1px solid black;
  padding: 5px;
}

.rateit {
  display: -moz-inline-box;
  display: inline-block;
  position: relative;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -o-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

.rateit .rateit-range {
  position: relative;
  display: -moz-inline-box;
  display: inline-block;
  background: url("/assets/star-3b18c5b7e014be94f29426b5f6a530f944edcbb6.png");
  background-size: 16px 64px;
  height: 16px;
}

.rateit .rateit-hover, .rateit .rateit-selected {
  position: absolute;
  left: 0px;
}

.rateit .rateit-hover-rtl, .rateit .rateit-selected-rtl {
  left: auto;
  right: 0px;
}

.rateit .rateit-hover {
  background: url("/assets/star-3b18c5b7e014be94f29426b5f6a530f944edcbb6.png") left -32px;
  background-size: 16px 64px;
}

.rateit .rateit-hover-rtl {
  background-position: right -32px;
}

.rateit .rateit-selected {
  background: url("/assets/star-3b18c5b7e014be94f29426b5f6a530f944edcbb6.png") left -16px;
  background-size: 16px 64px;
}

.rateit .rateit-selected-rtl {
  background-position: right -16px;
}

.rateit .rateit-preset {
  background: url("/assets/star-3b18c5b7e014be94f29426b5f6a530f944edcbb6.png") left -48px;
  background-size: 16px 64px;
}

.rateit .rateit-preset-rtl {
  background: url("/assets/star-3b18c5b7e014be94f29426b5f6a530f944edcbb6.png") left -48px;
  background-size: 16px 64px;
}

.rateit .rateit-reset {
  background: url("/assets/delete-75a5b122e113f1c6be1e0c9f3335e57e9f5a8622.gif") 0 0;
  width: 16px;
  height: 16px;
  display: -moz-inline-box;
  display: inline-block;
  float: left;
}

.rateit .rateit-reset:hover {
  background-position: 0 -16px;
}

.review {
  display: flex;
}
.review:not(:last-child) {
  border-bottom: 2px solid #DADCE0;
  margin-bottom: 0.75rem;
  padding-bottom: 0.75rem;
}

.review__content {
  margin-left: 0.75rem;
}
.review__content * {
  display: block;
  line-height: 1.5;
}

.ruled-list li {
  list-style: none;
  margin: 0;
  padding: 0.75rem;
}
.ruled-list li:not(:last-child) {
  border-bottom: 2px solid #DADCE0;
}
.ruled-list li:hover {
  background: #DADCE0;
}

ql-drawer.relaunch {
  border-radius: unset;
  position: fixed;
  top: 64px;
}
ql-drawer.relaunch[open] .ql-sidenav {
  align-items: flex-start;
  padding-left: 20px;
  padding-right: 8px;
}
ql-drawer.relaunch[open] .ql-sidenav ql-fab {
  margin-inline-start: 0;
}

ql-sidenav,
.ql-sidenav {
  display: block;
  padding-bottom: 8px;
  padding-top: 44px;
  width: 100%;
}
ql-sidenav ql-sidenav-item,
.ql-sidenav ql-sidenav-item {
  width: 264px;
}
ql-sidenav.relaunch,
.ql-sidenav.relaunch {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
ql-sidenav.relaunch ql-fab,
.ql-sidenav.relaunch ql-fab {
  --button-color: var(--md-sys-color-primary-container);
  --button-text-color: var(--md-sys-color-on-surface-variant);
  align-self: flex-start;
  margin-bottom: 40px;
  margin-inline-start: calc(3rem - 28px);
}
ql-sidenav.relaunch ql-sidenav-item,
.ql-sidenav.relaunch ql-sidenav-item {
  width: 100%;
}

.sidenav {
  width: 100%;
}

.sidenav__group {
  min-height: 0px;
}

.sidenav__group:not(:last-child) {
  margin-bottom: 1.5rem;
}

.sidenav__link {
  align-items: center;
  border: none;
  display: flex;
  font-weight: 400;
  text-transform: none;
}
.sidenav__link:hover {
  text-decoration: none;
}
.sidenav__link.is-active {
  background: var(--primary-surface-color);
  color: var(--text-on-primary-color);
}
.sidenav__link i {
  margin-left: auto;
}

.dashboard-lab-row {
  height: 50px;
}
.dashboard-lab-row .td {
  font-size: 14px;
}
.dashboard-lab-row:first-of-type {
  border-top: 2px solid #DADCE0;
}

.dashboard-lab-row--active {
  background: rgba(217, 48, 37, 0.1);
}
.dashboard-lab-row--active .progress-bar {
  background: white;
  height: 12px;
}
.dashboard-lab-row--active .progress-bar__fill {
  background: #D93025;
  float: right;
}

.dashboard-lab-row--not-taken .td {
  color: #5F6368;
}
.dashboard-lab-row--not-taken:hover .td {
  color: #202124;
}

.td.dashboard-lab-row__status {
  flex: 0 0 auto;
  width: 13px;
}

.td.dashboard-lab-row__assessment {
  flex: 0 0 auto;
  width: 85px;
}

.td.dashboard-lab-row__title {
  flex: 0 0 auto;
  width: 40%;
}

.td.dashboard-lab-row__rating {
  flex: 0 0 auto;
  width: 80px;
}

.td.dashboard-lab-row__locale {
  flex: 0 0 auto;
  width: 20px;
}

.dashboard-quests-table__quest {
  border-bottom: 2px solid #DADCE0;
}
.dashboard-quests-table__quest:first-of-type {
  border-top: 2px solid #DADCE0;
}

.dashboard-quests-table__arrow {
  transform: rotate(0deg);
  transition: all 0.2s ease-in-out;
}
.dashboard-quests-table__arrow.is-shown {
  transform: rotate(90deg);
}

.dashboard-quest-row {
  border-bottom: none;
  cursor: pointer;
}

.td.dashboard-quest-row__badge {
  flex: 0 0 auto;
  width: 55px;
}

.td.dashboard-quest-row__title {
  flex: 0 0 auto;
  width: 39.5%;
}

.td.dashboard-quest-row__complete {
  flex: 0 0 auto;
  width: 130px;
}

.td.dashboard-quest-row__arrow {
  flex: 0 0 auto;
  width: 15px;
}

.dashboard-quest-steps {
  padding-left: 105px;
}

.dashboard-quest-step {
  position: relative;
  border-bottom: 1px solid #DADCE0;
}
.dashboard-quest-step .dashboard-lab-row {
  border: none;
  height: 40px;
}
.dashboard-quest-step .dashboard-lab-row__status {
  display: none;
}
.dashboard-quest-step:after {
  position: absolute;
  top: 50%;
  right: nil;
  bottom: nil;
  left: -20px;
  width: 15px;
  height: 15px;
  background: white;
  border: 1px solid #5F6368;
  border-radius: 50%;
  content: "";
  margin-top: -8px;
  display: block;
}
.dashboard-quest-step:before {
  position: absolute;
  top: 0;
  right: nil;
  bottom: nil;
  left: -12px;
  width: 0px;
  height: calc(100% + 1px);
  border-right: 1px solid #5F6368;
  content: "";
  display: block;
}
.dashboard-quest-step:first-child {
  border-top: 1px solid #DADCE0;
}
.dashboard-quest-step:first-child:before {
  height: calc(50% + 1px);
  top: 50%;
}
.dashboard-quest-step:last-child:before {
  height: 50%;
}

.dashboard-quest-step--optional:after {
  border-style: dotted;
}
.dashboard-quest-step--optional:before {
  border-right-style: dotted;
}

.dashboard-recommendation {
  background: rgba(var(--accent-surface-color-rgb), 0.75);
  border-radius: 2px;
  padding: 1.5rem;
}

.dashboard-recommendation--large-padding {
  padding: 3rem;
}

.dashboard-header {
  align-items: baseline;
  display: flex;
}

.dashboard-alert h4 {
  margin-bottom: 0.75rem;
}
.dashboard-alert .button {
  color: var(--text-on-primary-color);
  height: auto;
  margin-top: 0.75rem;
  padding: 6px;
  background: var(--primary-surface-color);
  color: "white";
}
.dashboard-alert .button:hover, .dashboard-alert .button:focus {
  background: var(--primary-surface-color);
  color: "white";
}

.dashboard__group {
  margin-bottom: 24px;
}
.dashboard__group h2 {
  font-size: 20px;
  font-weight: 400;
  margin-bottom: 16px;
}

.dashboard__completed {
  background: white;
  border-radius: 2px;
  padding: 20px 24px;
}

.table-of-contents {
  list-style: none;
}
.table-of-contents li {
  display: flex;
}

.table-of-contents__title {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 90%;
}

.table-of-contents__page {
  margin-left: auto;
}

.table-of-contents--markdown ul {
  list-style: none;
  margin: 0;
}
.table-of-contents--markdown ul li {
  font-family: var(--md-ref-typeface-plain);
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
  margin: 0;
}
.table-of-contents--markdown ul li a {
  color: #202124;
  display: block;
  margin-bottom: 0.75rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
}
.table-of-contents--markdown ul li ul {
  padding-left: 1.5rem;
}
.table-of-contents--markdown ul li ul li {
  font-weight: 400;
}
.table-of-contents--markdown ul li ul li a {
  color: rgba(32, 33, 36, 0.65);
}

table {
  --table-hover-color: #fafafa;
  border-collapse: collapse;
  border-spacing: 0;
  border: none;
  font-size: 14px;
  width: 100%;
}

tr {
  border-bottom: 1px solid var(--hairline-color);
}

tbody tr:hover {
  background-color: var(--table-hover-color);
}

th {
  background: none;
  color: var(--light-text-on-surface-color);
  font-size: 12px;
  text-align: left;
}

th, td {
  padding: 16px 16px;
}

.flex-table {
  width: 100%;
}

.flex-table__row {
  align-items: center;
  border-bottom: 1px solid #eee;
  display: flex;
  height: 64px;
  padding: 19px 24px 18px 24px;
}
.flex-table__row:focus {
  background: #eee;
}
@media (max-width: 600px) {
  .flex-table__row {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.flex-table__row .td {
  box-sizing: content-box;
  color: rgba(0, 0, 0, 0.87);
  font-size: 14px;
  flex: 1;
  font-size: 14px;
  line-height: 1;
  padding: 0 56px 0 0;
}
.flex-table__row .td:first-child {
  padding: 0 24px 0 0;
}
.flex-table__row .td:last-child {
  padding: 0;
}
.flex-table__row.is-selected {
  background: var(--primary-surface-color-light);
}
.flex-table__row.is-selected i.material-icons {
  color: var(--primary-text-on-surface-color);
}
.flex-table__row:hover {
  background: #fafafa;
}

.flex-table__row--header .td {
  color: #5F6368;
  font-size: 12px;
  font-weight: 600;
  text-transform: none;
}
.flex-table__row--header:hover {
  background: none;
}

.is-new {
  animation: newRow 2s;
}

@keyframes newRow {
  from {
    background: rgba(249, 171, 0, 0.2);
  }
  to {
    background: rgba(249, 171, 0, 0);
  }
}
.flex-table__actions {
  text-align: right;
}
.flex-table__actions i {
  font-size: 18px;
}
.flex-table__actions > *:not(:last-child) {
  margin-right: 16px;
}
.flex-table__actions .mdl-spinner {
  width: 18px;
  height: 18px;
}

.mdl-table--index .flex-table__row {
  align-items: center;
  font-weight: 400;
  text-decoration: none !important;
}
.mdl-table--index .flex-table__row form.fake-row {
  width: 100%;
}
.mdl-table--index .flex-table__row form.fake-row input {
  width: 100%;
  border: none;
  background: none;
  text-align: left;
  cursor: pointer;
  color: var(--primary-text-on-surface-color);
  font-weight: 500;
}
.mdl-table--index .flex-table__row span.fake-link {
  color: var(--primary-text-on-surface-color);
  font-weight: 500;
}
.mdl-table--index .flex-table__row span.version {
  color: #5F6368;
  font-weight: 400;
  margin-left: 8px;
  text-decoration: none;
}
.mdl-table--index .flex-table__row:hover span.fake-link, .mdl-table--index .flex-table__row:focus span.fake-link {
  text-decoration: underline;
}
@media (max-width: 965px) {
  .mdl-table--index .flex-table__row span.fake-link {
    color: #202124;
    font-weight: 400;
  }
  .mdl-table--index .flex-table__row .td:not(:first-child) {
    display: none;
  }
}
@media (max-width: 965px) {
  .mdl-table--index .flex-table__row--header {
    display: none;
  }
}

.tabs {
  border-bottom: 1px solid #DADCE0;
  display: flex;
  list-style: none;
}
@media (width <= 667px) {
  .tabs {
    justify-content: center;
  }
}

.tab {
  align-items: center;
  background: none;
  border: none;
  color: #202124;
  display: flex;
  font-size: 14px;
  font-weight: 400;
  min-height: 56px;
  height: auto;
  justify-content: center;
  padding: 0 24px;
  position: relative;
  top: 0;
  text-decoration: none !important;
  text-transform: none;
  min-width: 120px;
}

li.active .tab,
.tab.active,
.tab.is-active {
  color: var(--primary-text-on-surface-color);
  font-weight: 700;
}
li.active .tab:before,
.tab.active:before,
.tab.is-active:before {
  background: var(--primary-surface-color);
  bottom: 0;
  content: "";
  display: block;
  height: 3px;
  left: 0;
  position: absolute;
  width: 100%;
}

.tabs--lab-sidebar {
  border-bottom-color: #DADCE0;
  flex: 0 0 auto;
}

.tab--lab-sidebar {
  flex: 1;
  padding: 0 2px;
}
.tab--lab-sidebar.is-active {
  padding: 0px;
  background: #DADCE0;
  border-color: #DADCE0;
  border-bottom-color: transparent;
}

.tab-contents {
  padding: 1.5rem 0;
}
.tab-contents .tab-content {
  display: none;
}
.tab-contents .tab-content.is-active, .tab-contents .tab-content.active {
  display: block;
}

.tab-contents--lab-sidebar {
  background: #DADCE0;
  padding: 0.75rem;
  flex: 1 0 auto;
}

.mdl-card__tabs {
  border-bottom: 1px solid #eee;
  display: flex;
}
.mdl-card__tabs a {
  align-items: center;
  background: none;
  border: none;
  color: #202124;
  display: flex;
  font-size: 14px;
  font-weight: 400;
  height: 56px;
  justify-content: center;
  padding: 0 24px;
  position: relative;
  top: 0;
  text-decoration: none !important;
  text-transform: none;
  min-width: 120px;
}
.mdl-card__tabs a.active, .mdl-card__tabs a.is-active {
  color: var(--primary-text-on-surface-color);
  font-weight: 700;
}
.mdl-card__tabs a.active:before, .mdl-card__tabs a.is-active:before {
  background: var(--primary-surface-color);
  bottom: 0;
  content: "";
  display: block;
  height: 3px;
  left: 0;
  position: absolute;
  width: 100%;
}
@media (max-width: 600px) {
  .mdl-card__tabs {
    display: none;
  }
}

.mdl-card__tabs--fill a {
  flex: 1;
}

.round-tag {
  background: #F1F3F4;
  border-radius: 100px;
  color: #5F6368;
  display: inline-block;
  font-family: var(--md-ref-typeface-brand);
  font-size: 14px;
  font-weight: 500;
  margin-right: 8px;
  padding: 4px 16px;
}

.toast {
  transition: transform 0.175s cubic-bezier(0.4, 0, 1, 1);
  align-self: center;
  background: rgba(0, 0, 0, 0.8);
  border-radius: 8px 8px 0 0;
  bottom: 0px;
  min-width: 25vw;
  padding: 16px 48px;
  position: fixed;
  transform: translateY(100%);
  z-index: 10;
}
.toast.is-visible {
  transition: transform 0.2s cubic-bezier(0, 0, 0.2, 1);
  transform: translateY(0px);
}

.toast__message {
  align-items: center;
  color: #fff;
  display: flex;
  font-size: 16px;
  justify-content: center;
}
.toast__message a {
  margin-left: 8px;
}

.toast__loader {
  bottom: 0px;
  left: 0px;
  opacity: 0;
  position: absolute;
  width: 100%;
}
.toast__loader .progressbar {
  background-color: #F9AB00 !important;
}
.toast__loader .bufferbar {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), linear-gradient(to right, #F9AB00, #F9AB00);
}
.toast__loader .auxbar {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), linear-gradient(to right, #F9AB00, #F9AB00) !important;
}
.toast__loader.is-visible {
  opacity: 1;
}

.toolbar {
  margin-bottom: 80px;
  width: 100%;
  z-index: 30;
}
.toolbar .toolbar-inner {
  align-items: center;
  background: rgba(255, 255, 255, 0.95);
  display: flex;
  padding-top: 24px;
}

.toolbar-actions {
  align-items: center;
  display: flex;
}
.toolbar-actions > *:not(ql-menu):not(:first-child) {
  margin-left: 24px;
}
@media (max-width: 965px) {
  .toolbar-actions > *:not(ql-menu):not(:first-child) {
    margin-left: 14px;
  }
}
@media (max-width: 600px) {
  .toolbar-actions > *:not(ql-menu):not(:first-child) {
    margin-left: 4px;
  }
}
.toolbar-actions > * {
  flex-shrink: 0;
}
.toolbar-actions__points, .toolbar-actions__streak-count {
  cursor: default;
}
.toolbar-actions__streak-count {
  color: initial;
  display: flex;
  gap: 4px;
  text-decoration: none !important;
}
.toolbar-actions__streak-count img {
  align-self: center;
  height: 24px;
}
.toolbar-actions__streak-count .count-label {
  color: var(--md-sys-color-on-surface-variant);
  font-weight: 500;
}

.toolbar-title {
  align-items: center;
  display: flex;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.toolbar-title a {
  color: var(--base-text-on-surface-color);
  font-weight: normal;
  margin: 4px;
  padding: 2px;
  /* Fallback for older browsers */
}
.toolbar-title a div {
  display: -webkit-box; /* Old webkit */
  display: flex; /* Standard */
  -webkit-line-clamp: 1; /* Old webkit */
  overflow: hidden;
  text-overflow: ellipsis; /* Standard */
  -webkit-box-orient: vertical; /* Old webkit */
  flex-direction: column; /* Standard */
  white-space: nowrap; /* Standard */
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  .toolbar-title a div {
    display: block; /* Fallback for -webkit-box */
    white-space: normal; /* Fallback for white-space */
    overflow: hidden; /* Fallback for overflow */
  }
}
.toolbar-title ql-icon {
  color: var(--light-text-on-surface-color);
}
.toolbar-title .header-tag {
  margin-left: 6px;
  background: #ECF3FE;
  border-radius: 8px;
  display: flex;
  height: 32px;
  justify-content: center;
  padding: 6px 12px;
  align-items: center;
  color: var(--md-sys-color-on-secondary-fixed-variant);
  font-family: var(--Static-Label-Large-Font, "Google Sans Text"), serif;
  font-size: var(--Static-Label-Large-Size, 14px);
  font-style: normal;
  font-weight: 500;
  line-height: var(--Static-Label-Large-Line-Height, 20px);
  letter-spacing: var(--Static-Label-Large-Tracking, 0);
}

.toolbar-navigation {
  margin-right: 0;
}
.toolbar-navigation ql-toggle-button[for=app-nav] {
  --md-icon-button-hover-icon-color: var(--md-sys-color-on-surface-variant, #444746);
  --md-icon-button-focus-icon-color: var(--md-sys-color-on-surface-variant, #444746);
  --md-icon-button-icon-color: var(--md-sys-color-on-surface-variant, #444746);
}
.toolbar-navigation * {
  margin-right: 16px;
}

@media (max-width: 425px) {
  .toolbar-navigation ql-toggle-button {
    margin-right: 0;
  }
  .toolbar-actions {
    margin-left: 0;
  }
  .toolbar-actions .join-btn {
    --md-filled-button-leading-space: 12px;
    --md-filled-button-trailing-space: 12px;
    --md-filled-button-container-height: 40px;
  }
  .toolbar-actions > *:not(ql-menu):not(:first-child) {
    margin-left: 0;
  }
}
.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  font-family: var(--md-ref-typeface-plain);
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.3;
  pointer-events: none;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 11px;
  opacity: 0;
  filter: alpha(opacity=0);
}

.tooltip.in {
  opacity: 0.9;
  filter: alpha(opacity=90);
}

.tooltip.top {
  margin-top: -3px;
  padding: 5px 0;
}

.tooltip.right {
  margin-left: 3px;
  padding: 0 5px;
}

.tooltip.bottom {
  margin-top: 3px;
  padding: 5px 0;
}

.tooltip.left {
  margin-left: -3px;
  padding: 0 5px;
}

.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #ffffff;
  text-align: center;
  background-color: #000000;
  border-radius: 4px;
  font-size: 13px;
  font-style: normal;
  opacity: 0.7;
}

.tooltip-arrow {
  display: none;
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}

.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000000;
}

.tooltip.top-left .tooltip-arrow {
  bottom: 0;
  right: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000000;
}

.tooltip.top-right .tooltip-arrow {
  bottom: 0;
  left: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000000;
}

.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #000000;
}

.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #000000;
}

.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000000;
}

.tooltip.bottom-left .tooltip-arrow {
  top: 0;
  right: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000000;
}

.tooltip.bottom-right .tooltip-arrow {
  top: 0;
  left: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000000;
}

i.info {
  color: #5F6368;
  font-size: 18px;
}

.mdl-tooltip {
  background: rgba(0, 0, 0, 0.8);
  font-size: 13px;
  font-weight: 300;
  line-height: 15px;
  max-width: 190px;
}

.fade {
  opacity: 0;
  transition: opacity 0.15s linear;
}
.fade.in {
  opacity: 1;
}

.collapse {
  display: none;
}
.collapse.in {
  display: block;
}

.collapsing {
  height: 0;
  position: relative;
  overflow: hidden;
  -webkit-transition-property: height, visibility;
  -o-transition-property: height, visibility;
  transition-property: height, visibility;
  -webkit-transition-duration: 0.35s;
  -o-transition-duration: 0.35s;
  transition-duration: 0.35s;
  -webkit-transition-timing-function: ease;
  -o-transition-timing-function: ease;
  transition-timing-function: ease;
}

#underage-modal {
  --dialog-width: 380px;
  --overlay-color: white;
}
#underage-modal .underage-header ql-icon {
  color: #D56E0C;
}
#underage-modal ql-button {
  --button-width: 100%;
  padding: 0;
}

.youtube-membership-modal {
  text-align: center;
}

.admin_labs_container .modal {
  top: 0;
  left: 50%;
  right: auto;
  bottom: auto;
}

body.admin .modal {
  top: 0%;
  left: 50%;
  right: auto;
  bottom: auto;
}

.l-full-container .not-visible {
  display: none;
}

.fleet-header {
  font-weight: 600;
  text-transform: none;
}

.fleet-table .flex-table__row {
  border-bottom: 1px solid #eee;
  height: 44px;
}
.fleet-table .flex-table__row:first-child {
  border-top: 1px solid #eee;
}
.fleet-table .flex-table__row .td:nth-child(1) {
  flex: 0 0 18%;
}
.fleet-table .flex-table__row .td--check {
  flex: 0 0 10%;
}
.fleet-table .flex-table__row .td:last-child {
  flex: 0 0 80px;
}

.fleet-form {
  display: flex;
}
.fleet-form .field {
  flex: 1;
}
.fleet-form .actions {
  padding-top: 24px;
}

.affiliate-program-table .flex-table__row {
  border-bottom: 1px solid #eee;
  height: 60px;
}
.affiliate-program-table .flex-table__row:first-child {
  border-top: 1px solid #eee;
  height: 32px;
}
.affiliate-program-table .flex-table__row .td:nth-child(3) {
  flex: 0 0 18%;
}
.affiliate-program-table .flex-table__row .td:nth-child(4) {
  flex: 0 0 18%;
}
.affiliate-program-table .flex-table__row .td:nth-child(5) {
  flex: 0 0 96px;
}
.affiliate-program-table .flex-table__row .td:nth-child(6) {
  flex: 0 0 96px;
  text-align: right;
}
.affiliate-program-table .flex-table__row--data .td:nth-child(2), .affiliate-program-table .flex-table__row--data .td:nth-child(5) {
  max-height: 50px;
  overflow: auto;
}

.affiliate-program-owner-row {
  align-items: center;
  display: flex;
}

.age-gate {
  align-items: center;
  display: flex;
  gap: 10px;
}

.item-label {
  align-items: center;
  display: flex;
  gap: 10px;
  margin-bottom: 10px;
}

.item-label-field-wrapper {
  align-items: center;
  display: flex;
  gap: 20px;
}

.subscription-status__failed {
  font-weight: bold;
}

.admin-warning {
  color: red;
}

.badge-creation-form {
  display: flex;
  flex-direction: column;
  gap: 40px;
  min-width: 400px;
  max-width: 50%;
}
.badge-creation-form .credly-badge-picker {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.badge-creation-form .badge-preview {
  border: 1px solid rgb(54, 129, 228);
  background-color: rgba(54, 129, 228, 0.05);
  display: flex;
  height: 200px;
}
.badge-creation-form .badge-preview .badge-image {
  box-sizing: border-box;
  padding: 15px;
  width: 200px;
}
.badge-creation-form .badge-preview .badge-metadata {
  display: flex;
  flex-direction: column;
  padding: 15px;
}
.badge-creation-form .badge-preview .badge-metadata p {
  font-size: 14px;
  text-overflow: ellipsis;
  overflow: hidden;
}
.badge-creation-form .content-picker {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.badge-creation-form .content-picker .mdl-card.mdl-card--shadow.card--search {
  flex-direction: row;
}

.alexandria_subscriptions .pagination__navigation {
  gap: 10px;
}
.alexandria_subscriptions .pagination__navigation a {
  display: flex;
}
.alexandria_subscriptions .pagination__navigation a:hover {
  text-decoration: none;
}
.alexandria_subscriptions .tabs {
  overflow-x: auto;
  width: 100%;
}

.callout-icon--success {
  color: #1E8E3E;
}
.callout-icon--info {
  color: #1967D2;
}
.callout-icon--warning {
  color: #D56E0C;
}
.callout-icon--error {
  color: #D93025;
}

.callout-toggle--published {
  color: #1967D2;
}

.callout-message-text {
  max-width: 464px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-callouts .control-group.radio_buttons .radio label {
  display: flex;
}
.admin-callouts .control-group.radio_buttons .radio label ql-callout {
  flex-grow: 1;
}
.admin-callouts .severity, .admin-callouts .message, .admin-callouts .action, .admin-callouts .message-title {
  border: 1px solid var(--hairline-color);
  border-radius: 16px;
  margin-bottom: 24px;
  padding: 24px;
}
.admin-callouts .severity .title, .admin-callouts .message .title, .admin-callouts .action .title, .admin-callouts .message-title .title {
  font-family: Google Sans;
  font-weight: 400;
  line-height: 40px;
  margin-bottom: 16px;
  size: 24px;
}
.admin-callouts .form-row:last-child {
  margin-bottom: 0px;
}

.content-tag-group {
  margin-bottom: 20px;
}
.content-tag-group .disabled strong, .content-tag-group .disabled span, .content-tag-group .disabled .name, .content-tag-group .disabled .description {
  opacity: 0.25;
}
.content-tag-group ql-list-item:first-child {
  margin-left: -16px;
}

.admin-content-tag-form-body .admin-content-tag-top-matter {
  margin-bottom: 64px;
  max-width: 100%;
}
.admin-content-tag-form-body .admin-content-tag-locales {
  column-gap: 24px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  row-gap: 24px;
}
.admin-content-tag-form-body .admin-content-tag-locale h3 {
  align-items: center;
  display: flex;
  margin-bottom: 10px;
}
.admin-content-tag-form-body .admin-content-tag-locale h3 ql-icon {
  margin-right: 8px;
}
.admin-content-tag-form-body .admin-content-tag-locale .form-row {
  margin-bottom: 12px;
}
.admin-content-tag-form-body .admin-content-tag-locale .form-row textarea {
  line-height: 1.5;
}

.admin-featured-body .l-main-wrapper {
  display: block !important;
  height: auto !important;
  padding: 48px !important;
}
.admin-featured-body .l-admin-container {
  margin-bottom: 0px;
}
.admin-featured-body .dashboard-container {
  height: calc(100vh - 64px - 96px);
}
.admin-featured-body .dashboard-container__body {
  height: 100%;
  overflow: hidden;
  padding: 0px;
}
.admin-featured-body .admin-featured-wrapper {
  display: flex;
  height: 100%;
}
.admin-featured-body .admin-featured__panel {
  width: 400px;
}
.admin-featured-body .admin-featured__panel__inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 24px;
}
.admin-featured-body form, .admin-featured-body input {
  margin: 0;
}

.author-learning-plan-show-layout-body ql-toolbar.app-toolbar,
.admin-learning-plan-body ql-toolbar.app-toolbar,
.learning-plan-show-body ql-toolbar.app-toolbar {
  border-bottom: none;
}
.author-learning-plan-show-layout-body main,
.admin-learning-plan-body main,
.learning-plan-show-body main {
  box-sizing: content-box;
  margin: 0 auto;
  max-width: 1168px;
  padding: 48px;
}
@media (width <= 667px) {
  .author-learning-plan-show-layout-body main,
  .admin-learning-plan-body main,
  .learning-plan-show-body main {
    padding: 24px;
  }
}
.author-learning-plan-show-layout-body main > *:not(:last-child),
.admin-learning-plan-body main > *:not(:last-child),
.learning-plan-show-body main > *:not(:last-child) {
  margin-bottom: 80px;
}
@media (width <= 667px) {
  .author-learning-plan-show-layout-body main > *:not(:last-child),
  .admin-learning-plan-body main > *:not(:last-child),
  .learning-plan-show-body main > *:not(:last-child) {
    margin-bottom: 40px;
  }
}
.author-learning-plan-show-layout-body .learning-plan-top-matter,
.admin-learning-plan-body .learning-plan-top-matter,
.learning-plan-show-body .learning-plan-top-matter {
  max-width: 800px;
}
.author-learning-plan-show-layout-body .learning-plan-top-matter > *:not(:last-child),
.admin-learning-plan-body .learning-plan-top-matter > *:not(:last-child),
.learning-plan-show-body .learning-plan-top-matter > *:not(:last-child) {
  margin-bottom: 24px;
}
.author-learning-plan-show-layout-body .learning-plan-attributes > *:not(:last-child),
.admin-learning-plan-body .learning-plan-attributes > *:not(:last-child),
.learning-plan-show-body .learning-plan-attributes > *:not(:last-child) {
  margin-right: 8px;
}
.author-learning-plan-show-layout-body .learning-plan-details > *:not(:last-child),
.admin-learning-plan-body .learning-plan-details > *:not(:last-child),
.learning-plan-show-body .learning-plan-details > *:not(:last-child) {
  margin-right: 16px;
}
@media (width <= 667px) {
  .author-learning-plan-show-layout-body .learning-plan-details > *:not(:last-child),
  .admin-learning-plan-body .learning-plan-details > *:not(:last-child),
  .learning-plan-show-body .learning-plan-details > *:not(:last-child) {
    display: block;
    margin-bottom: 8px;
  }
}
.author-learning-plan-show-layout-body .learning-plan-activities,
.admin-learning-plan-body .learning-plan-activities,
.learning-plan-show-body .learning-plan-activities {
  display: grid;
  gap: 24px;
  grid-auto-rows: 1fr;
  grid-template-columns: repeat(auto-fit, minmax(auto, 360px));
  padding: 0;
}
.author-learning-plan-show-layout-body .learning-plan-activities ql-activity-card,
.admin-learning-plan-body .learning-plan-activities ql-activity-card,
.learning-plan-show-body .learning-plan-activities ql-activity-card {
  width: 100%;
}
@media (max-width: 600px) {
  .author-learning-plan-show-layout-body .learning-plan-activities,
  .admin-learning-plan-body .learning-plan-activities,
  .learning-plan-show-body .learning-plan-activities {
    justify-content: center;
    justify-items: center;
  }
}
.author-learning-plan-show-layout-body .edit_learning_plan ql-activity-card,
.admin-learning-plan-body .edit_learning_plan ql-activity-card,
.learning-plan-show-body .edit_learning_plan ql-activity-card {
  width: 360px;
}

.admin-new-learning-plan-body ql-toolbar {
  box-shadow: 0px 1px 2px 0px rgba(60, 64, 67, 0.3), 0px 2px 6px 2px rgba(60, 64, 67, 0.15);
}

.admin-edit-learning-plan-body ql-toolbar {
  box-shadow: 0px 1px 2px 0px rgba(60, 64, 67, 0.3), 0px 2px 6px 2px rgba(60, 64, 67, 0.15);
}
.admin-edit-learning-plan-body .ui-sortable-handle {
  cursor: grab;
}
.admin-edit-learning-plan-body .ui-sortable-handle ql-activity-card {
  box-shadow: 0px 1px 2px 0px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);
  border-radius: 8px;
}
.admin-edit-learning-plan-body .ui-sortable-helper {
  cursor: grabbing;
}
.admin-edit-learning-plan-body .ui-sortable-helper ql-activity-card {
  box-shadow: 0px 1px 3px 0px rgba(60, 64, 67, 0.3), 0px 4px 8px 3px rgba(60, 64, 67, 0.15);
}
.admin-edit-learning-plan-body .sortable-placeholder {
  background-color: var(--primary-surface-color-light);
  border-radius: 8px;
  height: 296px;
  width: 274px;
}
.admin-edit-learning-plan-body .learning-plan-top-matter {
  margin-bottom: 64px;
  max-width: 100%;
}
.admin-edit-learning-plan-body .learning-plan-locales {
  column-gap: 24px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  row-gap: 24px;
}
.admin-edit-learning-plan-body .learning-plan-locale h3 {
  align-items: center;
  display: flex;
  margin-bottom: 10px;
}
.admin-edit-learning-plan-body .learning-plan-locale h3 ql-icon {
  margin-right: 8px;
}
.admin-edit-learning-plan-body .learning-plan-locale .form-row {
  margin-bottom: 12px;
}
.admin-edit-learning-plan-body .learning-plan-locale .form-row textarea {
  line-height: 1.5;
}

.snippets-table th.snippet-type {
  width: 0;
}

.item-count strong {
  font-size: 16px;
}
.item-count span {
  font-size: 24px;
}

.default-locale-icon {
  color: var(--accent-surface-color);
  font-size: 18px;
  position: relative;
  top: 4px;
}

.snippet-image-preview img {
  max-height: 400px;
}

#assessment-popover {
  font-size: 11px;
  width: 287px;
}
#assessment-popover .assessment-steps {
  margin-left: 20px;
  border: 1px solid #cccccc;
}
#assessment-popover .step-no {
  padding-top: 4px;
  text-align: center;
  background-color: #316793;
  color: white;
  font-size: 130%;
  height: 20px;
  width: 20px;
}
#assessment-popover .step-title {
  padding-top: 4px;
  font-size: 100%;
}
#assessment-popover .step-score {
  padding-top: 4px;
  text-align: center;
  color: white;
  font-size: 130%;
  height: 20px;
  width: 45px;
  background-color: #989899;
}
#assessment-popover .step-final {
  padding-top: 4px;
  text-align: center;
  color: white;
  font-size: 130%;
  height: 20px;
  width: 45px;
  background-color: #97c93c;
}
#assessment-popover .total-score {
  padding-top: 4px;
  padding-left: 50px;
  font-size: 100%;
  font-weight: bold;
}

.affiliate-program .affiliate-program__details {
  margin-bottom: 48px;
}
.affiliate-program .affiliate-program__details span {
  margin-right: 24px;
}
.affiliate-program .affiliate-program__title {
  display: flex;
  margin-bottom: 22px;
}
.affiliate-program .affiliate-program__title h2 {
  font-size: 24px;
  font-weight: 400;
}
.affiliate-program .affiliate-program__title h2 span {
  color: #5F6368;
  display: block;
  font-size: 14px;
}
.affiliate-program .affiliate-program__stats {
  display: flex;
  flex-wrap: wrap;
}
.affiliate-program .affiliate-program__stat {
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  width: 260px;
  margin: 0 24px 24px 0;
  padding: 16px;
}
.affiliate-program .affiliate-program__stat h3 {
  font-size: 18px;
  font-weight: 400;
}
.affiliate-program .affiliate-program__stat span {
  font-size: 32px;
  font-weight: 200;
}
.affiliate-program .search {
  width: 40%;
}
.affiliate-program .search input {
  border: none;
  border-bottom: 1px solid #ccc;
  border-radius: 0px;
  flex: 1 1 auto;
  font-size: 14px;
  padding-left: 0px;
  padding-right: 0px;
  width: auto;
}
.affiliate-program .search input:focus {
  border-bottom-color: var(--primary-text-on-surface-color);
  border-bottom-width: 2px;
}
.affiliate-program .customers-table .flex-table__row .td:nth-child(4) {
  flex: 0 0 120px;
  text-align: right;
}
.affiliate-program .customers-table .flex-table__row .td:nth-child(5) {
  flex: 0 0 120px;
}
.affiliate-program .add-new-user {
  align-items: center;
  display: flex;
}
.affiliate-program .add-new-user i {
  margin-right: 16px;
}
.affiliate-program .new-user-form.is-hidden,
.affiliate-program .existing-user-form.is-hidden {
  display: none;
}

.announcement-form {
  max-width: 800px;
}

.announcement-preview {
  background: #DADCE0;
}

.announcement-send {
  float: right;
}

.announcement-info-icon {
  float: left;
  padding-right: 0.5vw;
}

.assessment-timer {
  align-items: center;
  background: white;
  border-top: 1px solid #dadce0;
  bottom: 0;
  display: flex;
  height: 64px;
  position: sticky;
  right: 0;
  width: 100%;
}
.assessment-timer .timer-toggle {
  margin-left: auto;
  margin-right: 8px;
}
.assessment-timer ql-exam-timer {
  margin-right: 8px;
}
.assessment-timer ql-exam-timer .time {
  top: -4px;
  width: 100%;
}
.assessment-timer ql-exam-timer.warning {
  animation: warning 0.33s 10;
}
@keyframes warning {
  0% {
    background: none;
  }
  50% {
    background: #ffee58;
  }
  100% {
    background: none;
  }
}
.assessment-timer ql-exam-timer.critical {
  animation: critical-warning 0.33s infinite;
}
@keyframes critical-warning {
  0% {
    background: none;
  }
  50% {
    background: #e57373;
  }
  100% {
    background: none;
  }
}
.assessment-timer ql-exam-timer.expired {
  animation: none;
  background: #e57373;
}

.js-item-visible.text--success {
  background: var(--primary-surface-color-lightest);
}
.js-item-visible.text--light {
  background: initial;
}

.badge_page {
  display: flex;
  flex-direction: column;
  gap: 60px;
  margin: 0 auto;
  max-width: 1000px;
  padding: 72px;
}
.badge_page .message_and_badge {
  display: flex;
  gap: 60px;
}
.badge_page .message_and_badge__badge {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 25px;
  justify-content: start;
}
.badge_page .message_and_badge__badge img {
  max-width: 300px;
  width: 100%;
}
.badge_page .message_and_badge__message {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 495px;
}
.badge_page .message_and_badge__message.full-width {
  max-width: none;
}
.badge_page .message_and_badge__message .ql-title-large, .badge_page .message_and_badge__message .learning-plans-body.relaunch.credentials-page .credentials-statistics .metrics .metric h5, .learning-plans-body.relaunch.credentials-page .credentials-statistics .metrics .metric .badge_page .message_and_badge__message h5, .badge_page .message_and_badge__message .learning-plans-body.relaunch.collections .collections-tabs h4, .learning-plans-body.relaunch.collections .collections-tabs .badge_page .message_and_badge__message h4, .badge_page .message_and_badge__message .learning-plans-body.relaunch.collections .collections-statistics .metrics .metric h5, .learning-plans-body.relaunch.collections .collections-statistics .metrics .metric .badge_page .message_and_badge__message h5 {
  margin-bottom: 24px;
}
@media (max-width: 965px) {
  .badge_page .message_and_badge {
    flex-direction: column;
  }
  .badge_page .message_and_badge__message {
    max-width: none;
  }
}
.badge_page .new_to_badges {
  align-items: start;
  background-color: var(--primary-surface-color-lightest);
  border: 1px solid var(--primary-surface-color);
  display: flex;
  gap: 30px;
  min-width: fit-content;
  padding: 25px;
}
.badge_page .new_to_badges ql-icon {
  color: var(--primary-text-on-surface-color-darkest);
}
.badge_page .new_to_badges__message {
  display: flex;
  flex-direction: column;
  gap: 25px;
}
.badge_page .new_to_badges__message ql-button {
  --button-width: fit-content;
  margin-left: -8px;
}

.credly_confirmation_modal .link {
  height: 0px;
  visibility: hidden;
}

.credly_notice {
  align-items: center;
  background-color: var(--primary-surface-color-lightest);
  border-radius: 8px;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding: 8px 16px;
}
.credly_notice .info {
  align-items: start;
  display: flex;
  gap: 16px;
  padding: 6px 0px;
  text-align: start;
}
.credly_notice .info ql-icon {
  color: var(--primary-text-on-surface-color-dark);
}
.credly_notice .info .text {
  max-width: 615px;
  word-wrap: normal;
}

.browse-layout-body {
  background: #F8F9FA;
}
.browse-layout-body ql-toolbar.app-toolbar {
  background: #F8F9FA;
  border-bottom: none;
}
.browse-layout-body main {
  padding: 48px;
}
.browse-layout-body.learner-browse-layout-body .browse-layout-wrapper {
  max-width: 1212px;
}
.browse-layout-body.learner-browse-layout-body .browse-layout-activities {
  display: grid;
  gap: 24px;
  grid-auto-rows: 1fr;
  grid-template-columns: repeat(auto-fit, minmax(auto, 360px));
  padding: 0;
}
.browse-layout-body.learner-browse-layout-body .browse-layout-activities ql-activity-card {
  width: 100%;
}
@media (max-width: 600px) {
  .browse-layout-body.learner-browse-layout-body .browse-layout-activities {
    justify-content: center;
    justify-items: center;
  }
}
.browse-layout-body ql-activity-block:not(:last-child) {
  margin-bottom: 40px;
  max-width: 100%;
}
.browse-layout-body .browse-layout-wrapper {
  margin: 0 auto;
  max-width: 700px;
}
.browse-layout-body .browse-layout-wrapper > *:not(:last-child) {
  margin-bottom: 64px;
}
.browse-layout-body .browse-layout-top-matter > *:not(:last-child) {
  margin-bottom: 24px;
}
.browse-layout-body .browse-layout-header {
  text-align: center;
}
.browse-layout-body .browse-layout-search-and-filter {
  margin: 0 auto;
  max-width: 480px;
}
.browse-layout-body .browse-layout-search-and-filter > *:not(:last-child) {
  margin-bottom: 16px;
}
.browse-layout-body .browse-layout-search-and-filter md-outlined-text-field[type=search] {
  box-shadow: 0px 1px 3px 0px rgba(60, 64, 67, 0.3), 0px 4px 8px 3px rgba(60, 64, 67, 0.15);
  border: none;
  border-radius: 8px;
}
.browse-layout-body .browse-layout-search-and-filter .filters {
  justify-content: center;
}

.credits-quantity {
  max-width: 720px;
  width: 100%;
}
.credits-quantity .form-row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  justify-content: center;
}
.credits-quantity .form-row .control-group.integer {
  margin: 0;
}
.credits-quantity .form-row .control-group.integer #credits-quantity-input {
  min-width: 145px;
}
.credits-quantity .form-row .credits-hint {
  margin-left: 16px;
  margin-top: 4px;
}
.credits-quantity input::-webkit-outer-spin-button,
.credits-quantity input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.credits-quantity md-outlined-text-field[type=number] {
  -moz-appearance: textfield; /* Firefox */
}
.credits-quantity .js-payment-discount {
  color: #137333;
  font-size: 14px;
  text-align: center;
}

.no-max-width {
  max-width: none;
}

.authoring-catalog-body .catalog__main {
  padding-right: 480px;
}
.authoring-catalog-body .catalog__main__inner {
  padding: 24px;
}
.authoring-catalog-body .catalog__main__inner .card--table {
  overflow: visible;
}
.authoring-catalog-body .catalog__panel {
  background: #fafafa;
  border-left: 1px solid #eee;
  height: calc(100vh - 64px);
  padding-top: 56px;
  position: fixed;
  right: 0;
  top: 64px;
  width: 480px;
}
@media (max-width: 1263px) {
  .authoring-catalog-body .catalog__panel {
    width: 410px;
  }
}
.authoring-catalog-body .catalog__panel__inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 8px;
}
.authoring-catalog-body .catalog-description {
  display: flex;
}
.authoring-catalog-body .catalog-description__options {
  align-items: center;
  display: flex;
  margin-left: auto;
}
.authoring-catalog-body .catalog-description__options__enabled,
.authoring-catalog-body .catalog-description__options__fraud {
  align-items: center;
  display: flex;
  margin-left: 48px;
}
.authoring-catalog-body .add-items__search {
  flex: 0 0 auto;
}
.authoring-catalog-body .card--search md-outlined-text-field[type=search] {
  padding: 16px;
}
.authoring-catalog-body .card--search form {
  padding-right: 16px;
}
.authoring-catalog-body .add-items {
  flex: 1;
  overflow-y: auto;
}
.authoring-catalog-body .add-items__items {
  overflow-x: hidden;
  overflow-y: auto;
}
.authoring-catalog-body .tab-contents {
  padding: 0;
}
.authoring-catalog-body .add-item {
  align-items: center;
  border-bottom: 1px solid #eee;
  cursor: grab;
  display: flex;
  height: 48px;
  padding: 0 16px;
  position: relative;
}
.authoring-catalog-body .add-item.is-hidden {
  display: none;
}
.authoring-catalog-body .add-item.ui-draggable-dragging {
  background: #fff !important;
  border-bottom: none;
  border-radius: 2px;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1), 0 0 6px rgba(0, 0, 0, 0.2);
  transform: rotate(-2deg);
  transition: transform 0.1s ease-in-out;
  z-index: 90;
  width: 431px;
}
.authoring-catalog-body .add-item.ui-draggable-dragging .add-item__actions {
  display: none !important;
}
.authoring-catalog-body .add-item__name {
  font-size: 13px;
  margin: 4px 0;
}
.authoring-catalog-body .add-item__actions {
  align-items: center;
  display: none;
  position: absolute;
  right: 16px;
}
.authoring-catalog-body .add-item:hover {
  background: #fafafa;
}
.authoring-catalog-body .add-item:hover .add-item__name {
  width: calc(100% - 120px);
}
.authoring-catalog-body .add-item:hover .add-item__name.lab {
  width: calc(100% - 80px);
}
.authoring-catalog-body .add-item:hover .add-item__actions {
  display: flex;
}
.authoring-catalog-body .mdl-card__edit-title {
  align-items: center;
  display: flex;
}
.authoring-catalog-body .catalog-items .flex-table__row {
  align-items: center;
  height: 56px;
}
.authoring-catalog-body .catalog-items .flex-table__row:hover md-outlined-text-field[type=number] {
  border-color: #ddd;
}
.authoring-catalog-body .catalog-items .flex-table__row.is-disabled {
  background: rgba(217, 48, 37, 0.1);
}
.authoring-catalog-body .catalog-items .td:nth-child(1) {
  flex: 4;
}
@media (max-width: 1263px) {
  .authoring-catalog-body .catalog-items .td:nth-child(1) {
    flex: 0 0 auto;
    width: 33%;
  }
  .authoring-catalog-body .catalog-items .td:nth-child(1) a {
    display: block;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }
}
.authoring-catalog-body .catalog-items .td:last-child {
  flex: 0 0 auto;
  width: 36px;
}
.authoring-catalog-body .catalog-items md-outlined-text-field[type=number] {
  background: none;
  border: 2px solid transparent;
  border-radius: 4px;
  height: auto;
  font-size: 14px;
  padding: 4px;
}
.authoring-catalog-body .catalog-items md-outlined-text-field[type=number]:focus {
  border-color: var(--primary-text-on-surface-color) !important;
}
.authoring-catalog-body .catalog-items .td .text--light {
  color: #ddd;
}
.authoring-catalog-body .catalog-items .td .text--light i {
  font-size: 20px;
}
.authoring-catalog-body .content-subscriptions-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 0 24px 24px;
}
.authoring-catalog-body .content-subscriptions-form .content-subscriptions {
  display: flex;
  flex-direction: column;
}
.authoring-catalog-body .content-subscriptions-form .content-subscriptions .checkbox-wrapper label {
  display: flex;
  gap: 4px;
}

.authoring-catalogs-index .flex-table__row .td:nth-child(1) {
  flex: 2;
}
@media (max-width: 600px) {
  .authoring-catalogs-index .flex-table__row .td:nth-child(1) {
    width: 100%;
  }
}
.authoring-catalogs-index .flex-table__row .td:nth-child(6) {
  flex: 0 0 auto;
  width: 48px;
}

.catalog-email-filter-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 100px;
}
.catalog-email-filter-container .dry-run-loader,
.catalog-email-filter-container .removal-loader,
.catalog-email-filter-container .removal-general-error,
.catalog-email-filter-container .removal-confirmation-error,
.catalog-email-filter-container .removal-spinner {
  display: none;
}
.catalog-email-filter-container .dry-run-loader.is-active,
.catalog-email-filter-container .removal-loader.is-active,
.catalog-email-filter-container .removal-general-error.is-active,
.catalog-email-filter-container .removal-confirmation-error.is-active,
.catalog-email-filter-container .removal-spinner.is-active {
  display: block;
}
.catalog-email-filter-container .removal-dry-run-summary {
  display: none;
}
.catalog-email-filter-container .removal-dry-run-summary.is-active {
  display: block;
}
.catalog-email-filter-container .removal-dry-run-summary .removal-actions {
  display: flex;
  justify-content: flex-end;
}
.catalog-email-filter-container .disabled {
  opacity: 0.5;
  pointer-events: none;
}
.catalog-email-filter-container .missing-filters {
  max-height: 100px;
  overflow-y: scroll;
}

.certification-body .certification-wrapper {
  margin: 0 auto;
  max-width: 640px;
}
.certification-body .certification-wrapper .mdl-typography--subhead {
  color: #5F6368;
  font-family: var(--md-ref-typeface-brand);
  font-weight: 500;
  margin-bottom: 16px;
}

.classroom-body .flash {
  background: rgba(0, 0, 0, 0.75);
  bottom: 24px;
  left: 24px;
  position: fixed;
  right: auto;
  top: auto;
  width: 480px;
}
.classroom-body .l-main-wrapper {
  height: calc(100vh - 64px - 96px);
}
.classroom-body .classroom {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.classroom__header {
  flex: 0 0 56px;
}

.classroom__content {
  flex: 1;
  height: 0px;
}

.classroom__content__inner {
  display: flex;
  height: 100%;
}

.classroom__sidebar {
  background: white;
  border-right: 1px solid #eee;
  height: 100%;
  overflow-y: auto;
}

.classroom__sidebar--instructions {
  position: relative;
}
.classroom__sidebar--instructions span.ellipsis {
  flex: 0 1 auto;
  width: calc(100% - 48px);
}
.classroom__sidebar--instructions .open-in-new {
  right: 16px;
  margin-top: -56px;
  position: absolute;
}

.classroom__admin {
  font-size: 10px;
  position: absolute;
  right: 24px;
  top: 2px;
}
.classroom__admin span:not(:last-child) {
  margin-right: 24px;
}

.classroom__main {
  height: 100%;
  overflow-y: auto;
}

.classroom__main--lab {
  padding: 72px;
}

.classroom__main--student {
  padding: 56px 32px;
}
.classroom__main--student ql-avatar {
  display: flex;
  margin: 32px auto;
  width: 128px;
}

.classroom__index-item {
  align-items: center;
  border-bottom: 1px solid #eee;
  color: #202124;
  display: flex;
  font-size: 14px;
  font-weight: 400;
  height: 64px;
  padding: 24px;
  position: relative;
  text-decoration: none !important;
}
.classroom__index-item span {
  flex: 1;
}
.classroom__index-item.active {
  background: #fafafa;
  font-weight: 500;
}
.classroom__index-item.active:before {
  background: var(--primary-surface-color);
  content: "";
  display: block;
  height: 100%;
  left: 0px;
  position: absolute;
  top: 0px;
  width: 4px;
}

.classroom__index-item--slim {
  height: 64px;
}

.classroom__labs__lab__dot {
  background: #f0f0f0;
  border-radius: 50%;
  flex: 0 0 auto;
  height: 24px;
  margin-right: 24px;
  width: 24px;
}

.classroom__labs__lab__details {
  color: #5F6368;
  display: block;
  font-size: 13px;
}

.classroom__lab__title {
  font-size: 40px;
  font-weight: 300;
  max-width: 640px;
  margin-bottom: 48px;
}
.classroom__lab__actions {
  display: flex;
  margin-bottom: 48px;
}
.classroom__lab__actions .is-active {
  background-color: #D93025 !important;
}
.classroom__lab__actions .is-paused {
  background-color: #34A853 !important;
}
.classroom__lab__hotlabs {
  align-items: baseline;
  display: flex;
}
.classroom__lab__hotlabs a {
  border-bottom: 1px dotted #FA7B17;
  color: #FA7B17;
  font-weight: 400;
  margin-right: 6px;
  text-decoration: none;
}
.classroom__lab__description {
  font-size: 17px;
  line-height: 1.8;
  margin-bottom: 48px;
  margin-top: 48px;
  max-width: 640px;
}
.classroom__lab__table {
  overflow: visible;
}
.classroom__lab__table .mdl-card__title {
  height: 72px;
}
.classroom__lab__table .mdl-card__supporting-text {
  overflow: visible;
}
.classroom__lab__table h2 {
  align-items: baseline;
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.classroom__lab__table h2 span.light {
  color: #5F6368;
  font-size: 14px;
  font-weight: 400;
}
.classroom__lab__student-row.flex-table__row {
  align-items: center;
  height: 56px;
  padding: 0 24px;
}
.classroom__lab__student-row.flex-table__row .td {
  display: flex;
  align-items: center;
}
.classroom__lab__student-actions {
  display: none;
}

.classroom__lab__student-row__select {
  flex: 0 0 auto !important;
  width: 32px;
}

.classroom__students__download {
  display: flex;
  justify-content: flex-end;
  margin-right: 24px;
}

.classroom__students__table {
  border: none;
  box-shadow: none;
}
.classroom__students__table .flex-table__row {
  align-items: center;
  font-weight: 400;
  height: 56px;
  padding: 0 24px;
  position: relative;
  text-decoration: none !important;
}
.classroom__students__table .flex-table__row.active {
  background: #fafafa;
  font-weight: 500;
}
.classroom__students__table .flex-table__row.active:before {
  background: var(--primary-surface-color);
  content: "";
  display: block;
  height: 100%;
  left: 0px;
  position: absolute;
  top: 0px;
  width: 4px;
}
.classroom__students__table .flex-table__row .td {
  align-items: center;
  display: flex;
}
@media (width <= 1440px) {
  .classroom__students__table .flex-table__row .td:nth-child(1), .classroom__students__table .flex-table__row .td:nth-child(2) {
    display: none;
  }
}
.classroom__students__table .flex-table__row .td:nth-child(1) {
  flex: 0 0 auto;
  padding-right: 24px;
  width: 32px;
}
.classroom__students__table .flex-table__row .td:nth-child(5) {
  flex: 0 0 auto;
  width: 32px;
}
.classroom__students__table .flex-table__row--filter .td,
.classroom__students__table .flex-table__row--unenrolled-student .td {
  color: #5F6368;
}
.classroom__students__table form {
  display: flex;
  flex-direction: column;
  margin-top: 16px;
  width: 100%;
}
.classroom__students__table form p {
  margin-bottom: 4px;
}
.classroom__students__table form textarea {
  background: #f6f6f6;
  border: none;
  border-radius: 2px;
  height: 64px;
  margin-bottom: 8px;
  margin-right: 8px;
  width: 100%;
}
.classroom__students__table form textarea:focus {
  background: #f2f2f2;
}
.classroom__students__table form button[type=submit], .classroom__students__table form input[type=submit] {
  margin-left: auto;
}

.classroom__students__delete {
  color: #D93025;
  margin-top: -52px;
  position: absolute;
  right: 16px;
}

.classroom__student__title {
  text-align: center;
}

.classrooms-instructions-student .l-main-wrapper {
  height: 100%;
}

.classrooms-index .tr {
  position: relative;
}
.classrooms-index .flex-table__row .td:nth-child(1) {
  flex: 3;
}
@media (max-width: 600px) {
  .classrooms-index .flex-table__row .td:nth-child(1) {
    width: 100%;
  }
}
@media (max-width: 1263px) {
  .classrooms-index .flex-table__row .td:nth-child(3) {
    display: none;
  }
}
.classrooms-index .flex-table__row .td:nth-child(4) {
  flex: 2;
}
.classrooms-index .flex-table__row .td:nth-child(5) {
  flex: 2;
}
.classrooms-index .flex-table__row .td:nth-child(6) {
  flex: 2;
}
@media (max-width: 1263px) {
  .classrooms-index .flex-table__row .td:nth-child(8) {
    display: none;
  }
}
.classrooms-index .flex-table__row .td:nth-child(9) {
  flex: 0 0 auto;
  width: 32px;
}
.classrooms-index .classroom-edit-button {
  margin-top: -24px;
  position: absolute;
  right: 24px;
  top: 50%;
}
@media (max-width: 600px) {
  .classrooms-index .classroom-edit-button {
    display: none;
  }
}

.classroom-layout.relaunch main {
  background: var(--md-sys-color-surface);
}

.classroom-student .header__tabs {
  display: none;
}
@media (max-width: 600px) {
  .classroom-student .header__tabs {
    display: flex;
  }
}
.classroom-student__notes {
  background: #fff;
  border-right: 1px solid #ddd;
  height: 100%;
  overflow-y: auto;
  width: 320px;
}
.classroom-student__notes a {
  align-items: center;
  border-bottom: 1px solid #eee;
  border-left: 3px solid transparent;
  color: #202124;
  display: flex;
  font-weight: 400;
  padding: 16px 24px;
  text-decoration: none !important;
}
.classroom-student__notes a:hover {
  background: #eee;
}
.classroom-student__notes a.active {
  border-left-color: var(--primary-text-on-surface-color);
  color: var(--primary-text-on-surface-color);
  font-weight: 700;
}
@media (max-width: 600px) {
  .classroom-student__notes {
    display: none;
  }
}
.classroom-student__note {
  background: #fff;
  flex: 1;
  height: 100%;
  overflow-y: auto;
}
.classroom-student__note .lab-content__markdown {
  margin: 80px auto;
}
.classroom-student .classroom__detail {
  color: #202124;
}
.classroom-student .classroom__detail h3 {
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 8px;
}
.classroom-student .classroom__detail p {
  font-size: 14px;
}
.classroom-student .classroom__detail:not(:last-child) {
  margin-bottom: 32px;
}
.classroom-student__lab-table__title.td {
  align-items: center;
  display: flex;
}
.classroom-student__lab-table__title.td i {
  margin-right: 24px;
}
.classroom-student__lab-table__title.td span {
  background: var(--primary-surface-color);
  border-radius: 100px;
  color: var(--text-on-primary-color);
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  padding: 2px 8px;
  margin-left: auto;
}
.classroom-student__lab-table--deactivated .classroom-student__lab-table__title.td {
  color: #5F6368;
}
.classroom-student__lab-table--deactivated .classroom-student__lab-table__title.td i {
  color: rgba(0, 0, 0, 0.4);
}
.classroom-student__lab-table--deactivated .classroom-student__lab-table__title.td span {
  background: rgba(0, 0, 0, 0.4);
}
@media (max-width: 600px) {
  .classroom-student {
    background: #fff !important;
  }
  .classroom-student .mdl-card {
    box-shadow: none;
    margin: 0;
  }
}

.classroom-student-note .l-main-wrapper {
  display: flex;
  height: 100%;
}

.classrooms-overview .mdl-card__title {
  display: none;
}
.classrooms-overview .mdl-card__supporting-text {
  padding: 16px;
}

.learning-plans-body.relaunch.collections main#jump-content {
  background: var(--md-sys-color-on-primary);
  padding: 48px 0;
}
.learning-plans-body.relaunch.collections main#jump-content > .breadcrumbs-container {
  position: relative;
  top: 40px;
  z-index: 20;
  margin-bottom: 16px;
}
.learning-plans-body.relaunch.collections main#jump-content ql-button::part(button) {
  padding: 1rem 1.5rem;
  font-size: 1rem;
  line-height: 1.5rem;
}
.learning-plans-body.relaunch.collections .video-button {
  color: white;
  --icon-size: 96px;
  --md-icon-button-icon-color: var(--md-sys-color-on-primary);
  --md-icon-button-focus-icon-color: var(--md-sys-color-on-primary);
  align-self: center;
  display: grid;
  grid-column-start: 2;
  grid-row-start: 2;
  justify-self: center;
  line-height: 0;
}
.learning-plans-body.relaunch.collections .video-image {
  display: grid;
  grid-template-columns: auto auto auto;
  grid-template-rows: auto auto auto;
}
.learning-plans-body.relaunch.collections .video-image img {
  border-radius: 16px;
  display: grid;
  grid-column-start: 1;
  grid-column-end: 4;
  grid-row-start: 1;
  grid-row-end: 4;
  object-fit: cover;
  width: 100%;
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch.collections .video-image img {
    max-height: 288px;
  }
}
.learning-plans-body.relaunch.collections .collections-shape-left,
.learning-plans-body.relaunch.collections .collections-shape-top-middle,
.learning-plans-body.relaunch.collections .collections-shape-top {
  mix-blend-mode: multiply;
  position: absolute;
  z-index: 10;
}
.learning-plans-body.relaunch.collections .collections-shape-left {
  left: -70px;
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch.collections .collections-shape-left {
    left: -95px;
    top: -130px;
    width: 200px;
  }
}
.learning-plans-body.relaunch.collections .collections-shape-top-middle {
  right: 20px;
  top: 70px;
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch.collections .collections-shape-top-middle {
    right: -40px;
    top: 150px;
    width: 190px;
  }
}
.learning-plans-body.relaunch.collections .collections-shape-top {
  top: -120px;
  right: 0;
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch.collections .collections-shape-top {
    display: none;
  }
}
.learning-plans-body.relaunch.collections .collections-intro,
.learning-plans-body.relaunch.collections .collections-categories,
.learning-plans-body.relaunch.collections .collections-featured,
.learning-plans-body.relaunch.collections .collections-explore,
.learning-plans-body.relaunch.collections .collections-media,
.learning-plans-body.relaunch.collections .collections-tabs,
.learning-plans-body.relaunch.collections .collections-continue {
  position: relative;
  z-index: 100;
}
.learning-plans-body.relaunch.collections .collections-intro,
.learning-plans-body.relaunch.collections .collections-media,
.learning-plans-body.relaunch.collections .collections-statistics,
.learning-plans-body.relaunch.collections .collections-visual,
.learning-plans-body.relaunch.collections .collections-bottom {
  background-color: var(--md-sys-color-on-primary);
  width: 100%;
  z-index: 0;
}
.learning-plans-body.relaunch.collections .section-wrapper {
  margin: 0 auto;
  max-width: 1120px;
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch.collections .section-wrapper {
    padding: 0;
  }
}
.learning-plans-body.relaunch.collections .collections-intro {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin: 0;
  text-align: center;
  padding: 80px 240px;
}
@media (max-width: 965px) {
  .learning-plans-body.relaunch.collections .collections-intro {
    padding: 80px 64px;
  }
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch.collections .collections-intro {
    padding: 100px 24px;
  }
}
.learning-plans-body.relaunch.collections .collections-intro .collections-headline {
  color: var(--md-sys-color-on-surface);
  font-weight: 500;
  margin: 0 auto;
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch.collections .collections-intro .collections-headline {
    font-size: var(--static-display-medium-size, 45px);
  }
}
.learning-plans-body.relaunch.collections .collections-media {
  padding: 48px 160px;
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch.collections .collections-media {
    padding: 48px 24px;
  }
}
.learning-plans-body.relaunch.collections .collections-media .media-msg-body {
  align-items: center;
  display: flex;
  gap: 24px;
}
@media (max-width: 965px) {
  .learning-plans-body.relaunch.collections .collections-media .media-msg-body {
    flex-direction: column-reverse;
    align-items: stretch;
  }
}
.learning-plans-body.relaunch.collections .collections-media h2.ql-display-small {
  margin-bottom: 16px;
}
.learning-plans-body.relaunch.collections .collections-media span.ql-body-large {
  margin-bottom: 24px;
}
.learning-plans-body.relaunch.collections .collections-media span.ql-body-large p:last-of-type {
  margin: 0;
}
.learning-plans-body.relaunch.collections .collections-media .media-msg-text {
  display: flex;
  flex-direction: column;
  flex: 2;
  max-width: 550px;
  text-align: left;
}
.learning-plans-body.relaunch.collections .collections-media .media-msg-text h2 {
  text-wrap: auto;
}
.learning-plans-body.relaunch.collections .collections-media .media-msg-thumbnail {
  flex: 3;
}
.learning-plans-body.relaunch.collections .collections-media .media-msg-thumbnail.video-image img {
  max-height: 420px;
  max-width: 640px;
}
.learning-plans-body.relaunch.collections .collections-featured {
  background: var(--md-sys-color-surface-container-low);
  padding: 48px 80px;
  text-align: center;
}
@media (max-width: 965px) {
  .learning-plans-body.relaunch.collections .collections-featured {
    padding: 48px 24px;
  }
}
.learning-plans-body.relaunch.collections .collections-featured h2.ql-display-small {
  margin-bottom: 8px;
}
.learning-plans-body.relaunch.collections .collections-featured .collections-featured-description {
  margin-bottom: 48px;
}
.learning-plans-body.relaunch.collections .collections-featured .collections-plans-grid {
  display: grid;
  gap: 16px;
  grid-auto-rows: 300px;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  justify-content: center;
  padding: 0;
  text-align: left;
}
.learning-plans-body.relaunch.collections .collections-featured .collections-plans-grid ql-activity-card {
  border-radius: 32px;
  --md-filled-tonal-icon-button-icon-color: var(--md-sys-color-on-secondary-fixed-variant);
}
@media (max-width: 768px) {
  .learning-plans-body.relaunch.collections .collections-featured .collections-plans-grid {
    display: flex;
    gap: 0;
    grid-auto-rows: 288px;
    justify-content: flex-start;
    margin: 0 -56px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
  }
  .learning-plans-body.relaunch.collections .collections-featured .collections-plans-grid ql-activity-card {
    flex-shrink: 0;
    height: 288px;
    margin-right: 0;
    padding-left: 20px;
    scroll-snap-align: start;
    width: 384px;
  }
  .learning-plans-body.relaunch.collections .collections-featured .collections-plans-grid ql-activity-card:first-child {
    padding-left: 48px;
  }
  .learning-plans-body.relaunch.collections .collections-featured .collections-plans-grid ql-activity-card:last-child {
    margin-right: 56px;
  }
  .learning-plans-body.relaunch.collections .collections-featured .collections-plans-grid ql-activity-card::part(body) {
    padding-bottom: 16px;
  }
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch.collections .collections-featured .collections-plans-grid {
    margin: 0 -24px;
  }
  .learning-plans-body.relaunch.collections .collections-featured .collections-plans-grid ql-activity-card:first-child {
    padding-left: 24px;
  }
  .learning-plans-body.relaunch.collections .collections-featured .collections-plans-grid ql-activity-card:last-child {
    margin-right: 24px;
  }
}
.learning-plans-body.relaunch.collections .collections-featured .featured-catalog-button {
  margin-top: 24px;
  --md-filled-tonal-button-label-text-color: var(--md-sys-color-on-secondary-fixed-variant);
  --md-filled-tonal-button-hover-label-text-color: var(--md-sys-color-on-secondary-fixed-variant);
}
.learning-plans-body.relaunch.collections .collections-statistics {
  margin: 0;
  padding: 48px 24px;
  text-align: center;
  --button-text-color: var(--md-sys-color-on-surface-variant);
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch.collections .collections-statistics {
    padding: 48px 24px;
  }
}
.learning-plans-body.relaunch.collections .collections-statistics h2 {
  margin-bottom: 8px;
}
.learning-plans-body.relaunch.collections .collections-statistics .ql-body-large {
  margin-bottom: 48px;
}
.learning-plans-body.relaunch.collections .collections-statistics .metrics {
  display: flex;
  gap: 24px;
  justify-content: center;
  padding: 64px 0;
}
@media (width <= 965px) {
  .learning-plans-body.relaunch.collections .collections-statistics .metrics {
    align-items: center;
    flex-direction: column;
  }
}
.learning-plans-body.relaunch.collections .collections-statistics .metrics a {
  color: var(--md-sys-color-on-surface-variant);
  text-decoration: underline;
}
.learning-plans-body.relaunch.collections .collections-statistics .metrics .metric {
  color: var(--light-text-on-surface-color);
  flex: 1;
  font-size: 18px;
  text-align: center;
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch.collections .collections-statistics .metrics .metric {
    padding: 12px 0;
  }
}
.learning-plans-body.relaunch.collections .collections-statistics .metrics .metric h5 {
  color: var(--md-sys-color-on-surface-variant);
  display: inline;
  font-size: 22px;
  font-weight: 400;
}
.learning-plans-body.relaunch.collections .collections-statistics .metrics .metric h5 strong {
  color: var(--md-sys-color-primary);
  display: block;
  font-size: 57px;
}
.learning-plans-body.relaunch.collections .collections-statistics .metrics .metric p {
  font-style: italic;
  margin-top: 16px;
}
.learning-plans-body.relaunch.collections .collections-visual {
  padding: 48px 160px;
  margin: 0 auto;
  --button-text-color: var(--md-sys-color-on-surface-variant);
}
.learning-plans-body.relaunch.collections .collections-visual.cloud {
  padding: 80px;
}
@media (max-width: 965px) {
  .learning-plans-body.relaunch.collections .collections-visual {
    padding: 48px;
  }
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch.collections .collections-visual, .learning-plans-body.relaunch.collections .collections-visual.cloud {
    padding: 48px 24px;
  }
}
.learning-plans-body.relaunch.collections .collections-visual .cloud {
  flex-direction: row-reverse;
}
@media not (max-width: 600px) {
  .learning-plans-body.relaunch.collections .collections-visual .cloud h2.ql-display-small {
    font: var(--md-sys-typescale-display-medium);
  }
}
@media not all and (max-width: 600px) {
  .learning-plans-body.relaunch.collections .collections-visual .cloud .visual-txt {
    flex: 1 1 540px;
  }
}
@media not all and (max-width: 600px) {
  .learning-plans-body.relaunch.collections .collections-visual .cloud .visual-img {
    flex: 1 1 638px;
  }
}
.learning-plans-body.relaunch.collections .collections-visual .cloud .visual-img.video-image img {
  height: auto;
  max-height: 638px;
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch.collections .collections-visual .cloud .visual-img.video-image img {
    max-height: 432px;
  }
}
.learning-plans-body.relaunch.collections .collections-visual .section-wrapper {
  align-items: center;
  display: flex;
  gap: 24px;
  justify-content: center;
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch.collections .collections-visual .section-wrapper {
    flex-direction: column;
  }
}
.learning-plans-body.relaunch.collections .collections-visual .visual-img {
  flex: 1 0 487px;
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch.collections .collections-visual .visual-img {
    flex-basis: auto;
  }
}
.learning-plans-body.relaunch.collections .collections-visual .visual-img img {
  height: auto;
  object-fit: cover;
  width: 100%;
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch.collections .collections-visual .visual-img img {
    height: auto;
    max-height: max-content;
  }
}
.learning-plans-body.relaunch.collections .collections-visual .visual-txt {
  display: flex;
  flex-direction: column;
  gap: 24px;
  flex: 1 1 50%;
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch.collections .collections-visual .visual-txt, .learning-plans-body.relaunch.collections .collections-visual .visual-img {
    flex-basis: auto;
  }
}
.learning-plans-body.relaunch.collections .collections-tabs {
  background: var(--md-sys-color-surface-container-low);
  --ql-accordion-section-gap: 24px;
  padding: 48px 160px;
}
.learning-plans-body.relaunch.collections .collections-tabs.cloud {
  padding: 80px;
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch.collections .collections-tabs.cloud {
    padding: 80px 24px;
  }
}
@media not (max-width: 600px) {
  .learning-plans-body.relaunch.collections .collections-tabs.cloud h2.ql-display-small {
    font: var(--md-sys-typescale-display-medium);
  }
}
@media (max-width: 965px) {
  .learning-plans-body.relaunch.collections .collections-tabs {
    padding: 48px 24px;
  }
}
.learning-plans-body.relaunch.collections .collections-tabs h2.ql-display-small {
  margin-bottom: 16px;
  text-align: center;
}
.learning-plans-body.relaunch.collections .collections-tabs span.ql-body-large {
  display: block;
  max-width: 888px;
  margin: 0 auto 24px;
  text-align: center;
}
.learning-plans-body.relaunch.collections .collections-tabs h4 {
  margin-bottom: 8px;
}
.learning-plans-body.relaunch.collections .collections-tabs [aria-expanded=false] h4 {
  margin-bottom: 0;
}
.learning-plans-body.relaunch.collections .collections-tabs p {
  margin-bottom: 8px;
}
.learning-plans-body.relaunch.collections .collections-tabs a {
  display: block;
  font-size: 14px;
  font-weight: 500;
  height: 48px;
  padding: 14px 12px;
}
.learning-plans-body.relaunch.collections .collections-tabs .section-wrapper ql-accordion-section:not([expanded]) {
  --hairline-color: var(--md-sys-color-on-surface-variant);
}
.learning-plans-body.relaunch.collections .collections-tabs .section-wrapper ql-accordion-section[expanded] {
  --primary-surface-color: var(--md-sys-color-primary);
}
.learning-plans-body.relaunch.collections .collections-bottom {
  margin: 0 auto;
  padding: 48px 80px;
  text-align: center;
  --button-text-color: var(--md-sys-color-on-surface-variant);
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch.collections .collections-bottom {
    padding: 48px 24px;
  }
}
.learning-plans-body.relaunch.collections .collections-bottom .bottom-img {
  margin-bottom: 24px;
}
.learning-plans-body.relaunch.collections .collections-bottom h3.bottom-title {
  font-weight: 500;
  margin-bottom: 8px;
}
.learning-plans-body.relaunch.collections .collections-bottom .bottom-description {
  margin-bottom: 24px;
}
.learning-plans-body.relaunch.collections .collections-bottom .collections-bottom-cta {
  --button-outline-color: var(--md-sys-color-outline-variant);
  margin-bottom: 16px;
}
.learning-plans-body.relaunch.collections [id^=video-modal] {
  --dialog-body-padding: 0px;
  --dialog-color: none;
  --dialog-width: 900px;
}
.learning-plans-body.relaunch.collections [id^=video-modal]::part(header) {
  padding: 0px;
}
.learning-plans-body.relaunch.collections [id^=video-modal]::part(body) {
  display: flex;
  height: 500px;
  justify-content: center;
  padding: 0px;
}
@media (max-width: 965px) {
  .learning-plans-body.relaunch.collections [id^=video-modal]::part(body) {
    height: 380px;
  }
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch.collections [id^=video-modal]::part(body) {
    height: 200px;
  }
}
.learning-plans-body.relaunch.collections [id^=video-modal]::part(actions) {
  min-height: 0px;
}
@media (max-width: 965px) {
  .learning-plans-body.relaunch.collections [id^=video-modal] {
    --dialog-width: 640px;
  }
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch.collections [id^=video-modal] {
    --dialog-width: 320px;
  }
}
.learning-plans-body.relaunch.collections ql-button.featured-catalog-button#explore-catalog-button {
  margin-top: 48px;
}

.console-free-trial-banner-container {
  background: #f0f4f9;
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding-top: 10px;
  padding-bottom: 10px;
}

.custom-action {
  padding-right: 24px;
}
.custom-action ::slotted(ql-button) {
  padding-left: 16px;
}

.trial-banner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.trial-banner-actions {
  display: flex;
  align-items: center;
}
@media (max-width: 965px) {
  .trial-banner-actions {
    flex-wrap: wrap;
    padding: 2px 0px 2px 24px;
    gap: 4px;
  }
}

.trial-banner-content {
  flex-grow: 1;
  padding: 2px 0px 2px 24px;
}

.trial-banner-text {
  margin-bottom: 0;
  padding-right: 10px;
}

.trial-banner-title {
  margin-bottom: 0;
}

form.edit_content_provider {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
form.edit_content_provider .form-section {
  display: flex;
  flex-direction: column;
}
form.edit_content_provider .checkbox-wrapper label {
  display: flex;
  gap: 4px;
}

.content-subscriptions__form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.content-subscriptions__form__row {
  display: flex;
  flex-direction: column;
}
.content-subscriptions__form__row .checkbox-wrapper label {
  display: flex;
  gap: 4px;
}

.course-body .quest__sidebar {
  height: 600px;
}
.course-body .quest__sidebar.is-stuck .card {
  height: 600px;
}
.course-body .course__outline__module {
  margin: 36px 0 36px 24px;
}
.course-body .course__outline__module p {
  margin-bottom: 8px;
}
.course-body .course__outline__module ul {
  margin-left: 36px;
}
.course-body .course__on-demand-button {
  padding: 0 24px 24px 24px;
  width: 100%;
}
.course-body .course__on-demand-button a {
  width: 100%;
}
.course-body .course__sessions {
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 200px);
}
.course-body .course__sessions .card__title {
  flex: 0 0;
}
.course-body .course__sessions .card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  overflow: hidden;
}
.course-body .course__sessions .course__sessions {
  height: 100%;
  overflow-y: scroll;
}
.course-body .course__sessions .course__no-sessions {
  margin: 0 24px 24px 24px;
}
.course-body .course__session {
  align-items: top;
  border-top: 1px solid #DADCE0;
  display: flex;
  padding: 16px 24px;
}
.course-body .course__session .course__session__details {
  flex: 1;
  padding-right: 24px;
}
.course-body .course__session .course__session__details p {
  margin: 0;
}
.course-body .course__session .course__session__button {
  flex: 0 0;
  margin-left: auto;
  margin-top: 14px;
}
.course-body .more-details a,
.course-body .less-details a {
  display: block;
  font-size: 14px;
  font-weight: normal;
}
.course-body .more-details a ql-icon,
.course-body .less-details a ql-icon {
  font-size: 14px;
  position: relative;
  top: 2px;
}
.course-body .less-details {
  display: none;
}
.course-body .extra-detail {
  align-items: top;
  display: flex;
}
.course-body .extra-detail span {
  display: block;
  font-size: 14px;
  line-height: 24px;
  margin-left: 8px;
}

.instructor-dashboard-summary {
  margin-left: 240px;
  padding: 32px;
}

.instructor-dashboard-student-list {
  margin: 80px 240px;
}

.activate-deactivate-buttons {
  display: flex;
  flex-direction: column;
  padding: 4px;
}
.activate-deactivate-buttons .button {
  margin: 4px;
}

.metadata {
  margin: 24px 0;
}
.metadata .ql-title-medium {
  display: inline-flex;
  margin-right: 34px;
}
.metadata .ql-title-medium ql-icon {
  font-size: 18px;
  margin-right: 4px;
  vertical-align: middle;
}

.course-overview {
  display: flex;
  padding: 64px 114px;
}
.course-overview__info {
  flex: 1;
  margin-right: 80px;
}
.course-overview__info .activities {
  margin-top: 80px;
}
.course-overview__info .activities h2 {
  margin-bottom: 16px;
}
.course-overview__info .instructors {
  margin-top: 80px;
}
.course-overview__info .instructors h2 {
  margin-bottom: 24px;
}
.course-overview__info .instructors .instructor {
  display: flex;
  margin-bottom: 24px;
}
.course-overview__info .instructors .instructor ql-avatar {
  margin-right: 24px;
}
.course-overview__info .instructors .instructor .ql-title-medium {
  margin-bottom: 8px;
}
.course-overview__instructor-resources {
  border-radius: 8px;
  max-width: 400px;
  padding: 24px;
  height: fit-content;
}
.course-overview__instructor-resources h2 {
  margin-bottom: 24px;
}
.course-overview__instructor-resources .resource {
  align-items: flex-start;
  display: flex;
  padding: 12px 20px 0 20px;
}
.course-overview__instructor-resources .resource ql-icon {
  color: var(--medium-text-on-surface-color);
  margin-right: 20px;
}
.course-overview__instructor-resources .resource p {
  color: var(--medium-text-on-surface-color);
}

.checkpoint-overview {
  padding: 24px;
}
.checkpoint-overview .ql-title-medium {
  margin-bottom: 16px;
}

.course-enrollments {
  padding: 48px 48px 0px 48px;
}

.course-enrollment {
  padding: 56px 48px 0px 48px;
}
.course-enrollment .course-enrollment-header {
  display: flex;
  margin: 0 auto 72px auto;
}
.course-enrollment .metadata {
  margin: 16px 0px;
}
.course-enrollment .metadata a {
  display: inline-block;
  height: 24px;
  text-decoration: none;
}
.course-enrollment .metadata a .ql-title-medium {
  color: var(--primary-text-on-surface-color);
}
.course-enrollment ql-avatar {
  margin-right: 26px;
}

.course-dashboard {
  display: flex;
  justify-content: center;
  padding: 43px;
}
.course-dashboard .activity-stats {
  width: 1050px;
}
.course-dashboard .card__body {
  display: flex;
}
.course-dashboard .histogram-chart {
  height: 200px;
  width: 600px;
}
.course-dashboard .icon-stat-card {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 136px;
  justify-content: center;
  width: 243px;
}
.course-dashboard .icon-stat-card:not(:last-child) {
  margin-right: 26px;
}
.course-dashboard .line-chart {
  height: 200px;
  width: 1050px;
}
.course-dashboard .module-header {
  display: flex;
  justify-content: space-between;
  margin-top: 96px;
  width: 1050px;
}
.course-dashboard .module-progress-bar {
  align-self: center;
  display: flex;
  flex-direction: column;
  width: 40%;
}
.course-dashboard .pie-chart {
  height: 200px;
  width: 450px;
}
.course-dashboard .ql-headline-large, .course-dashboard .learning-plans-body.relaunch .learning-wrapper .top-matter .learning-plan-title, .learning-plans-body.relaunch .learning-wrapper .top-matter .course-dashboard .learning-plan-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 60%;
}
.course-dashboard .score-insights {
  display: flex;
  flex-direction: column;
}
.course-dashboard .score-insights-empty {
  align-items: center;
  border: 1px solid var(--hairline-color);
  display: flex;
  justify-content: center;
  width: 600px;
}
.course-dashboard .score-metrics {
  display: flex;
  gap: 25px;
  margin-left: 40px;
}
.course-dashboard .score-metrics .ql-title-medium {
  display: inline-flex;
}
.course-dashboard .score-metrics .ql-title-medium ql-icon {
  font-size: 18px;
  margin-right: 4px;
  vertical-align: middle;
}

.student-progress-controls {
  display: flex;
  gap: 48px;
}

.insights {
  display: flex;
  gap: 24px;
  margin-bottom: 32px;
  margin-top: 80px;
}

body.course-instructor-layout-body {
  padding: 0;
}
body.course-instructor-layout-body .course-instructor-header {
  position: sticky;
  top: 0;
  z-index: 9;
}
body.course-instructor-layout-body .course-instructor-header .course-instructor-header-actions,
body.course-instructor-layout-body .course-instructor-header .course-instructor-header-navigation {
  align-items: center;
  display: flex;
}
body.course-instructor-layout-body .course-instructor-header .course-instructor-header-actions ql-icon-button,
body.course-instructor-layout-body .course-instructor-header .course-instructor-header-actions ql-toggle-button,
body.course-instructor-layout-body .course-instructor-header .course-instructor-header-navigation ql-icon-button,
body.course-instructor-layout-body .course-instructor-header .course-instructor-header-navigation ql-toggle-button {
  margin-right: 16px;
}
body.course-instructor-layout-body .course-instructor-header .header-tabs {
  display: flex;
  height: 64px;
}
body.course-instructor-layout-body .course-instructor-container {
  height: calc(100vh - 64px);
  overflow: hidden;
}
body.course-instructor-layout-body .course-instructor-outline-drawer {
  border-right: 1px solid var(--hairline-color);
  overflow: scroll;
}
body.course-instructor-layout-body .course-instructor-outline-drawer ql-course-outline {
  border-top: 1px solid var(--hairline-color);
  width: 100%;
}
body.course-instructor-layout-body .course-instructor-content {
  padding: 32px;
  overflow-x: hidden;
  overflow-y: auto;
}

body.course-instructor-layout-v2-body {
  padding: 0;
}
body.course-instructor-layout-v2-body .toolbar-actions ql-icon-button {
  color: var(--light-text-on-surface-color);
}
body.course-instructor-layout-v2-body .course-instructor-container {
  height: calc(100vh - 64px - 48px);
  overflow: hidden;
}
body.course-instructor-layout-v2-body .course-instructor-header {
  background: #F8F9FA;
  height: 48px;
  position: sticky;
  top: 0;
  z-index: 9;
}
body.course-instructor-layout-v2-body .course-instructor-header .course-instructor-header-actions,
body.course-instructor-layout-v2-body .course-instructor-header .course-instructor-header-navigation {
  align-items: center;
  display: flex;
}
body.course-instructor-layout-v2-body .course-instructor-header .course-instructor-header-actions ql-icon-button,
body.course-instructor-layout-v2-body .course-instructor-header .course-instructor-header-actions ql-toggle-button,
body.course-instructor-layout-v2-body .course-instructor-header .course-instructor-header-navigation ql-icon-button,
body.course-instructor-layout-v2-body .course-instructor-header .course-instructor-header-navigation ql-toggle-button {
  margin-right: 16px;
}
body.course-instructor-layout-v2-body .course-instructor-header .header-tabs {
  display: flex;
  height: 48px;
}
body.course-instructor-layout-v2-body .course-instructor-header .header-tabs .header-tab.is-active {
  color: var(--primary-text-on-surface-color-dark);
}
body.course-instructor-layout-v2-body .activity-tabs {
  height: 48px;
  margin-bottom: 32px;
}
body.course-instructor-layout-v2-body .activity-tabs .tab {
  height: 48px;
  min-height: 48px;
  width: 100%;
}
body.course-instructor-layout-v2-body .course-instructor-outline-drawer {
  background: #F8F9FA;
  overflow: scroll;
}
body.course-instructor-layout-v2-body .course-instructor-outline-drawer .outline {
  padding: 16px;
}
body.course-instructor-layout-v2-body .course-instructor-outline-drawer .outline .title {
  display: block;
}
body.course-instructor-layout-v2-body .course-instructor-outline-drawer .outline .title.active {
  color: var(--primary-text-on-surface-color-dark);
}
body.course-instructor-layout-v2-body .course-instructor-outline-drawer .outline .outline-header {
  display: grid;
  grid-template-columns: 64px auto;
  padding: 0 12px;
}
body.course-instructor-layout-v2-body .course-instructor-outline-drawer .outline__course {
  --header-background: none;
  --header-border: none;
  --panel-background: none;
}
body.course-instructor-layout-v2-body .course-instructor-outline-drawer .outline__module {
  --border-radius: 8px;
  --border: 1px solid var(--hairline-color);
  margin-top: 16px;
  overflow: visible;
}
body.course-instructor-layout-v2-body .course-instructor-outline-drawer .outline__module > .outline-header {
  padding: 24px 12px;
}
body.course-instructor-layout-v2-body .course-instructor-outline-drawer .outline__module > .outline-content {
  padding: 24px 0;
}
body.course-instructor-layout-v2-body .course-instructor-outline-drawer .outline__step {
  display: grid;
}
body.course-instructor-layout-v2-body .course-instructor-outline-drawer .outline__step:not(:last-child):after {
  border-bottom: 1px solid var(--hairline-color);
  content: "";
  margin-left: 64px;
  margin-top: 24px;
  width: 262px;
}
body.course-instructor-layout-v2-body .course-instructor-outline-drawer .outline__step:not(:first-child) {
  margin-top: 24px;
}
body.course-instructor-layout-v2-body .course-instructor-outline-drawer .outline__step .or {
  margin: 24px 0 24px 64px;
}
body.course-instructor-layout-v2-body .course-instructor-outline-drawer .outline__activity .activity-inactive {
  color: #D93025;
}
body.course-instructor-layout-v2-body .course-instructor-outline-drawer .outline__activity .activity-active {
  color: #1E8E3E;
}
body.course-instructor-layout-v2-body .course-instructor-content {
  overflow-x: hidden;
  overflow-y: auto;
  padding: 32px;
}

body.course-layout-body {
  --hairline-color: var(--md-sys-color-surface-container-highest);
  height: 100%;
  padding: 0;
}
body.course-layout-body .body-content {
  height: 100vh;
  display: grid;
  grid-template-rows: min-content min-content 1fr;
}
body.course-layout-body main {
  overflow: auto;
}
body.course-layout-body .course-header {
  position: sticky;
  top: 0;
  z-index: 9;
}
body.course-layout-body .course-header .course-header-actions,
body.course-layout-body .course-header .course-header-navigation {
  align-items: center;
  display: flex;
  gap: 8px;
}
body.course-layout-body .course-header .course-header-actions ql-button,
body.course-layout-body .course-header .course-header-navigation ql-button {
  flex-shrink: 0;
}
body.course-layout-body .course-header .course-header-actions ul,
body.course-layout-body .course-header .course-header-navigation ul {
  align-items: center;
  display: flex;
  list-style: none;
  padding-left: 0;
  margin: 0;
}
body.course-layout-body .course-header .course-header-actions ql-icon-button,
body.course-layout-body .course-header .course-header-actions ql-toggle-button,
body.course-layout-body .course-header .course-header-navigation ql-icon-button,
body.course-layout-body .course-header .course-header-navigation ql-toggle-button {
  margin-right: 16px;
}
body.course-layout-body .course-container {
  height: 100%;
  overflow: hidden;
}
body.course-layout-body .course-activity {
  display: flex;
  flex-direction: column;
}
body.course-layout-body .course-activity .course-activity-header {
  align-items: center;
  border-bottom: 1px solid var(--md-sys-color-surface-container-highest);
  display: flex;
  flex-shrink: 0;
  gap: 8px;
  height: 48px;
  justify-content: space-between;
  padding: 0;
}
body.course-layout-body .course-activity .course-activity-header .breadcrumbs ol {
  align-items: center;
  color: var(--md-sys-color-on-surface);
  display: flex;
  flex: 1;
  gap: 8px;
  list-style-type: none;
  overflow: hidden;
  padding: 8px;
}
body.course-layout-body .course-activity .course-activity-header .breadcrumbs a {
  color: var(--md-sys-color-outline);
  text-decoration: none;
}
body.course-layout-body .course-activity .course-activity-header .breadcrumbs ql-icon {
  color: var(--md-sys-color-on-surface-variant);
  font-size: 18px;
}
body.course-layout-body .course-activity .course-activity-header .breadcrumbs .course-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.course-layout-body .course-activity .course-activity-header .inline-breadcrumbs .breadcrumb-delimiter {
  padding-top: 2px;
  display: inline-block;
  vertical-align: middle;
}
body.course-layout-body .course-activity .course-activity-header .header-button:first-of-type {
  border-right: 1px solid var(--hairline-color);
}
body.course-layout-body .course-activity .course-activity-header .header-button:last-of-type {
  border-left: 1px solid var(--hairline-color);
}
body.course-layout-body .course-activity .course-activity-header > ql-toggle-button {
  transform: scale(0.8);
}
body.course-layout-body .course-activity .course-activity-content {
  height: 100%;
  overflow: auto;
  padding: 0;
}
@media (max-width: 600px) {
  body.course-layout-body .course-activity .course-activity-content.with-space-for-navigation-buttons {
    margin-bottom: 73px;
  }
}
body.course-layout-body .course-activity .course-navigation-buttons {
  background: var(--base-surface-color);
  border-top: 1px solid var(--md-sys-color-surface-container-highest);
  display: flex;
  flex-shrink: 0;
  height: 73px;
  justify-content: space-between;
  padding: 16px 24px;
}
body.course-layout-body .course-activity .course-navigation-buttons .next-navigation-buttons {
  column-gap: 1rem;
  display: flex;
}
@media (max-width: 600px) {
  body.course-layout-body .course-activity .course-navigation-buttons .next-navigation-buttons {
    width: 100%;
  }
}
@media (max-width: 600px) {
  body.course-layout-body .course-activity .course-navigation-buttons {
    bottom: 0;
    display: flex;
    justify-content: center;
    position: fixed;
    width: 100%;
  }
}
@media (max-width: 600px) {
  body.course-layout-body .course-activity .course-navigation-buttons ql-button {
    --button-width: 100%;
  }
}
body.course-layout-body .course-drawer {
  display: flex;
  flex-direction: column;
}
body.course-layout-body .course-drawer-left {
  border-right: 1px solid var(--md-sys-color-surface-container-highest);
}
body.course-layout-body .course-drawer-right {
  border-left: 1px solid var(--md-sys-color-surface-container-highest);
}
body.course-layout-body .course-drawer ql-course-outline {
  flex-grow: 1;
  width: 100%;
}
body.course-layout-body .course-drawer ql-discussion {
  border: none;
  flex-grow: 1;
  height: auto;
  max-height: none;
}
body.course-layout-body .course-outline-header {
  border-bottom: 1px solid var(--md-sys-color-surface-container-highest);
  display: flex;
  flex-direction: column;
  position: sticky;
  top: 0;
  z-index: 9;
  background-color: white;
  padding: 10px;
}
body.course-layout-body .course-outline-header .course-outline-navigation {
  align-items: center;
  display: flex;
  height: 48px;
}
body.course-layout-body .course-outline-header .course-info {
  padding: 8px 16px 16px 16px;
}
body.course-layout-body .course-outline-header .course-info h2.learning-path-idx {
  color: var(--light-text-on-surface-color);
}
body.course-layout-body .course-outline-header .course-info .course-upgrade-button {
  margin: 8px;
}
body.course-layout-body .course-outline-header .course-info .course-progress {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 12px;
}
body.course-layout-body .course-outline-header .course-info .course-progress__metadata {
  display: flex;
  justify-content: space-between;
}
body.course-layout-body .course-outline-header .course-info .course-progress__metadata__completed {
  display: flex;
  gap: 4px;
}
body.course-layout-body .course-outline-header .course-info .course-progress__metadata__completed ql-icon {
  color: var(--success-color);
}
body.course-layout-body .course-outline-header .course-info .course-progress__percentage {
  display: inline;
}
body.course-layout-body .course-outline-header .main-menu {
  margin-bottom: 8px;
}
body.course-layout-body .course-discussion-header {
  align-items: center;
  border-bottom: 1px solid var(--md-sys-color-surface-container-highest);
  display: flex;
  flex-shrink: 0;
  height: 48px;
  justify-content: space-between;
  padding: 0 16px;
}
body.course-layout-body .course-activity-locked {
  margin-top: 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
body.course-layout-body .course-activity-locked ql-icon {
  font-size: 144px;
}
body.course-layout-body .document-iframe,
body.course-layout-body .html-bundle-iframe {
  height: 100%;
}
body.course-layout-body #qwikoda-announcement-modal {
  --dialog-width: 600px;
}
body.course-layout-body #qwikoda-announcement-modal .container {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-height: calc(80vh - 80px);
  overflow: scroll;
}
body.course-layout-body #qwikoda-announcement-modal .row {
  display: flex;
  gap: 12px;
}
body.course-layout-body #qwikoda-announcement-modal h1 {
  text-align: center;
}
body.course-layout-body #qwikoda-announcement-modal p {
  font-size: 20px;
}
body.course-layout-body .body-content {
  padding: 0;
}
body.course-layout-body .application-footer {
  display: none;
}
body.course-layout-body .outline-back {
  --button-width: 100%;
  bottom: 16px;
  padding: 8px;
  position: absolute;
}
body.course-layout-body #lab-instructions {
  max-height: calc(100vh - 245px) !important;
}

body.course-layout-body.relaunch {
  min-height: 100%;
}
body.course-layout-body.relaunch main {
  background-color: var(--base-surface-color);
  display: flex;
  flex-direction: column;
  overflow: auto;
}
body.course-layout-body.relaunch .course-container {
  height: auto;
  overflow: visible;
}
body.course-layout-body.relaunch .course-activity-header {
  border: 0;
  flex-wrap: wrap;
  height: auto;
  padding-top: 8px;
}
body.course-layout-body.relaunch .learning-wrapper {
  padding-top: 0;
}
body.course-layout-body.relaunch .body-container .body-content {
  display: flex;
  flex-direction: column;
  height: auto;
  min-height: 100%;
}
body.course-layout-body.relaunch .body-container main {
  height: auto;
}
body.course-layout-body.relaunch .course-table-of-content {
  max-width: 100%;
  width: fit-content;
}
body.course-layout-body.relaunch .course-activity .course-activity-content {
  height: auto;
  overflow: visible;
}
body.course-layout-body.relaunch .course-activity .course-activity-content.with-space-for-navigation-buttons {
  margin-bottom: 73px;
}
body.course-layout-body.relaunch .course-activity .course-navigation-buttons {
  position: fixed;
  bottom: 0;
  width: -moz-available;
  width: -webkit-fill-available;
  width: stretch;
  z-index: 1;
}
body.course-layout-body.relaunch .course-toc-cont {
  align-items: center;
  display: flex;
  flex-basis: 100%;
  justify-content: space-between;
  padding: 8px 24px;
}
body.course-layout-body.relaunch .course-toc-cont .course-toc-buttons {
  display: flex;
}
body.course-layout-body.relaunch .course-toc-cont .course-toc-buttons .feedback-button-container {
  align-items: center;
  display: flex;
}
body.course-layout-body.relaunch.html-bundles main, body.course-layout-body.relaunch.html-bundles .body-content, body.course-layout-body.relaunch.html-bundles .course-container, body.course-layout-body.relaunch.html-bundles .course-activity-content, body.course-layout-body.relaunch.document-body main, body.course-layout-body.relaunch.document-body .body-content, body.course-layout-body.relaunch.document-body .course-container, body.course-layout-body.relaunch.document-body .course-activity-content {
  height: 100%;
  overflow: visible;
}
body.course-layout-body.relaunch.video-body, body.course-layout-body.relaunch.lab-show {
  overflow: hidden;
}
body.course-layout-body.relaunch.video-body .body-content, body.course-layout-body.relaunch.lab-show .body-content {
  height: 100%;
}
body.course-layout-body.relaunch.video-body .body-content .course-container, body.course-layout-body.relaunch.video-body .body-content .course-activity-content, body.course-layout-body.relaunch.lab-show .body-content .course-container, body.course-layout-body.relaunch.lab-show .body-content .course-activity-content {
  overflow: auto;
}
body.course-layout-body.relaunch.lab-show #lab-content-container {
  height: 100%;
}
body.course-layout-body.relaunch.lab-show #lab-instructions {
  max-height: none !important;
}
body.course-layout-body.relaunch.l-full .breadcrumbs-container {
  padding-top: 48px;
}
body.course-layout-body.relaunch.l-full .breadcrumbs-container ol {
  padding-inline: 24px;
}
@media (max-width: 600px) {
  body.course-layout-body.relaunch.l-full .breadcrumbs-container {
    padding-top: 24px;
  }
}
@media (max-width: 600px) {
  body.course-layout-body.relaunch .course-toc-cont {
    flex-wrap: wrap;
    gap: 1rem;
    width: 100%;
  }
  body.course-layout-body.relaunch .course-toc-cont ql-contents-menu {
    width: 100%;
  }
}

.course-template-show-body.relaunch {
  height: auto;
  /* Overrides course-layout-body for template pages. */
}
.course-template-show-body.relaunch .body-content main {
  background-color: var(--md-sys-color-surface-container-low);
}
.course-template-show-body.relaunch.l-full .breadcrumbs-container {
  padding-top: 0 !important;
}

.course-survey-body {
  /* Accessibility considerations - Assuming adequate contrast */
  /* Visual cues on hover */
}
.course-survey-body .likert {
  border-bottom: 1px solid var(--hairline-color);
  display: flex;
  gap: 12px;
  margin-bottom: 32px;
  padding-bottom: 24px;
}
@media (max-width: 965px) {
  .course-survey-body .likert {
    flex-direction: column;
    gap: 16px;
  }
}
.course-survey-body .likert legend {
  margin-bottom: 8px;
}
.course-survey-body .likert .item-option {
  display: flex;
  flex-direction: column;
  gap: 4px;
  justify-content: flex-end;
  max-width: 200px;
  text-align: center;
}
@media (max-width: 965px) {
  .course-survey-body .likert .item-option {
    flex-direction: row-reverse;
    max-width: none;
    text-align: start;
  }
  .course-survey-body .likert .item-option label {
    font-size: 16px;
    margin-bottom: 0;
  }
  .course-survey-body .likert .item-option .mdl-radio__button, .course-survey-body .likert .item-option .mdl-checkbox__input {
    margin-top: 0;
  }
}
.course-survey-body .multiple-choice {
  border-bottom: 1px solid var(--hairline-color);
  display: flex;
  gap: 12px;
  flex-direction: column;
  margin-bottom: 32px;
  padding-bottom: 24px;
}
@media (max-width: 965px) {
  .course-survey-body .multiple-choice {
    gap: 16px;
  }
}
.course-survey-body .multiple-choice legend {
  margin-bottom: 8px;
}
.course-survey-body .multiple-choice .item-option {
  display: flex;
  flex-direction: row-reverse;
  gap: 8px;
  justify-content: flex-end;
  max-width: none;
  text-align: start;
}
.course-survey-body .multiple-choice .item-option label {
  margin-bottom: 0;
  font-size: 16px;
}
.course-survey-body .multiple-choice .item-option .mdl-radio__button {
  margin-top: 0;
}
.course-survey-body .survey-item--short-answer, .course-survey-body .survey-item--drop-down {
  margin: 56px 0;
}
.course-survey-body .survey-item--short-answer label, .course-survey-body .survey-item--drop-down label {
  font-size: 16px;
  margin-bottom: 8px;
  position: static;
}
.course-survey-body .survey-item--drop-down select {
  font-size: 16px;
  max-width: 100%;
  padding: 8px;
}
.course-survey-body .survey-item--short-answer textarea:focus,
.course-survey-body .survey-item--drop-down select:focus {
  outline: 2px solid var(--primary-text-on-surface-color);
}
.course-survey-body .survey-item {
  border-bottom: 1px solid var(--hairline-color);
  padding-bottom: 24px;
}
.course-survey-body .survey-item label {
  font-size: 16px;
  margin-bottom: 8px;
}
.course-survey-body .item-option:hover {
  background-color: #DADCE0;
}
.course-survey-body .multiple-select {
  border-bottom: 1px solid var(--hairline-color);
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 32px;
}
.course-survey-body .checkbox-label-pair {
  align-items: center; /* Align items vertically */
  display: flex;
  flex-direction: row; /* Display checkboxes and labels in a row */
  gap: 4px;
  margin-bottom: 16px;
  margin-top: 16px;
}
.course-survey-body .checkbox-label-pair label {
  font-size: 16px;
  margin-bottom: 8px;
}
.course-survey-body .checkbox-label-pair:hover {
  background-color: #DADCE0;
}
.course-survey-body .checkbox-label-pair input[type=checkbox] {
  margin-right: 8px; /* Add space between checkbox and label */
}

.course_survey {
  margin: 0 auto;
  max-width: 1000px;
  padding: 72px;
}
.course_survey form {
  display: flex;
  flex-direction: column;
}
.course_survey .button.button {
  align-self: flex-end;
  width: fit-content;
}

#unlocked-next-steps-modal {
  --dialog-width: 640px;
}
#unlocked-next-steps-modal .next-step {
  align-items: center;
  border: 1px solid var(--hairline-color);
  border-radius: 8px;
  display: flex;
  justify-content: space-between;
  padding: 8px;
}
#unlocked-next-steps-modal .next-step .title {
  align-items: center;
  display: flex;
  gap: 8px;
}

.course-template-show-body ql-drawer-content.course-activity .video-wrapper {
  margin: 0 auto;
  max-width: 900px;
  padding: 12px 24px;
}
.course-template-show-body ql-drawer-content.course-activity :lang(ja) .ql-display-large, .course-template-show-body ql-drawer-content.course-activity :lang(ja) .learning-plans-body.relaunch.credentials-page .credentials-statistics .metrics .metric h5 strong, .learning-plans-body.relaunch.credentials-page .credentials-statistics .metrics .metric h5 .course-template-show-body ql-drawer-content.course-activity :lang(ja) strong, .course-template-show-body ql-drawer-content.course-activity :lang(ja) .learning-plans-body.relaunch.collections .collections-statistics .metrics .metric h5 strong, .learning-plans-body.relaunch.collections .collections-statistics .metrics .metric h5 .course-template-show-body ql-drawer-content.course-activity :lang(ja) strong {
  line-height: 1.2 !important;
}
.course-template-show-body .course-badge-buttons {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.course-template-show-body .course-badge-buttons__text-badge-section {
  display: flex;
}
.course-template-show-body .course-badge-buttons__text, .course-template-show-body .course-badge-buttons__buttons {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.course-template-show-body .course-badge-buttons__text .survey {
  padding: 24px;
}
.course-template-show-body .course-badge-buttons__buttons {
  width: fit-content;
}
.course-template-show-body .course-badge-buttons__buttons ql-dialog ql-button:first-of-type {
  margin-right: 10px;
  /**
   * Add space to bottom of modal.
   * Container has 2px bottom padding.
   * Total should be 24px.
   */
  margin-bottom: 22px;
}
.course-template-show-body .course-badge-buttons__badge {
  flex-shrink: 1;
}
.course-template-show-body .course-badge-buttons__badge .completed-course {
  padding: 24px;
}
.course-template-show-body .course-badge-buttons__badge .completed-course img {
  width: 100%;
}
.course-template-show-body .course-badge-buttons .course-challenge-skip {
  align-items: center;
  background-color: #0842A0;
  border-width: 1px;
  border-style: solid;
  border-radius: 16px;
  color: var(--text-on-primary-color);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 24px;
  padding: 16px 24px;
}
.course-template-show-body .course-badge-buttons .course-challenge-skip .challenge_text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  flex: 1 0 0;
}
.course-template-show-body .course-badge-buttons .course-challenge-skip .challenge_text ql-speciality-chip::part(body) {
  background-color: rgba(255, 255, 255, 0.16);
  color: var(--md-sys-color-on-primary);
}
.course-template-show-body .course-badge-buttons .course-challenge-skip .challenge_text .challenge_header .challenge_header_text {
  font-family: var(--Static-Title-Large-Font, "Google Sans");
  font-size: var(--Static-Title-Large-Size, 22px);
  font-style: normal;
  font-weight: 700;
  line-height: var(--Static-Title-Large-Line-Height, 28px); /* 127.273% */
  letter-spacing: var(--Static-Title-Large-Tracking, 0);
}
.course-template-show-body .course-badge-buttons .course-challenge-skip .challenge_buttons {
  align-items: center;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.course-template-show-body .course-badge-buttons .course-challenge-skip .challenge_buttons .learn_more {
  font-size: 14px;
}
.course-template-show-body .course-badge-buttons .course-challenge-skip .challenge_buttons .learn_more .learn_more_button {
  --button-color: #0842A0;
}
.course-template-show-body .course-badge-buttons .upgrade-available-button {
  --button-color: var(--md-sys-color-tertiary-container);
  --button-text-color: var(--md-sys-color-on-tertiary-container);
}
.course-template-show-body .course-badge-buttons .course-completed {
  color: var(--success-color);
  display: flex;
  font-weight: 500;
  gap: 8px;
}
.course-template-show-body .course-badge-buttons .course-badge-buttons__text {
  width: 100%;
}
.course-template-show-body .course-badge-buttons .course-badge-buttons__badge {
  display: flex;
  justify-content: flex-end;
  width: 100%;
}
.course-template-show-body .learning-wrapper {
  margin: 0 auto;
  max-width: 860px;
  padding: 72px 0px;
}
@media (max-width: 965px) {
  .course-template-show-body .learning-wrapper {
    padding: 16px;
  }
}
@media (max-width: 600px) {
  .course-template-show-body .learning-wrapper {
    padding: 16px;
  }
}
.course-template-show-body .learning-wrapper > *:not(:last-child) {
  margin-bottom: 64px;
}
.course-template-show-body .learning-wrapper.with-preview {
  padding-top: 0;
}
.course-template-show-body .learning-wrapper.with-preview > *:first-child {
  margin: 24px 0;
}
.course-template-show-body .course-top-matter > *:not(:last-child) {
  margin-bottom: 32px;
}
.course-template-show-body .course-title ql-activity-label {
  margin-bottom: 8px;
}
.course-template-show-body .course-title .title-text {
  display: flex;
  gap: 16px;
}
.course-template-show-body .course-title .title-text .learning-path-idx {
  color: #9AA0A6;
  opacity: 0.6;
}
.course-template-show-body .course-progress ql-progress-bar {
  margin-bottom: 8px;
}
.course-template-show-body .course-skills {
  display: grid;
}
.course-template-show-body .course-skills .course-skills-chips {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  text-align: center;
}
.course-template-show-body .course-skills .course-skills-chips .course-skills-icon {
  background: linear-gradient(20deg, #EA4335, #8430CE, #1967D2, #B06000);
  vertical-align: middle;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  --icon-size: 20px;
}
.course-template-show-body .course-skills .course-skills-disclaimer {
  display: inline;
  font-size: 14px;
}
.course-template-show-body .course-skills .course-skills-disclaimer .course-skills-button {
  color: #1A73E8;
  vertical-align: middle;
  --icon-size: 20px;
}
.course-template-show-body .course-skills ql-dialog.skills_survey_modal::part(header) {
  padding: 0px;
}
.course-template-show-body .course-skills ql-dialog.skills_survey_modal::part(body) {
  display: flex;
  justify-content: center;
}
.course-template-show-body .course-skills ql-dialog.skills_survey_modal::part(actions) {
  min-height: 0px;
}
.course-template-show-body .course-details {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.course-template-show-body .course-details .course-detail {
  align-items: center;
  color: var(--medium-text-on-surface-color);
  display: inline-flex;
  font: var(--md-sys-typescale-title-medium);
}
.course-template-show-body .course-details .course-detail ql-icon {
  margin-right: 4px;
}
.course-template-show-body .course-badge {
  max-width: 400px;
  min-width: 240px;
}
.course-template-show-body .course-badge img {
  display: block;
  min-width: 200px;
  width: 100%;
}
.course-template-show-body .course-badge p {
  margin: 0;
}
.course-template-show-body .course-curriculum ql-course {
  max-width: 100%;
}
.course-template-show-body .course-info .course-info-header {
  display: flex;
  gap: 8px;
}
.course-template-show-body .course-info ql-collapsible [slot=header] {
  padding-left: 18px;
}
.course-template-show-body .course-info ql-collapsible [slot=collapsible] {
  padding: 10px 10px 10px 18px;
}

.course-template-show-body.relaunch ql-collapsible.relaunch_extra {
  --header-background: #fff;
  --panel-background: #fff;
  --md-sys-color-surface-container-highest: #d6d8dbf2;
  border-radius: 16px;
}
.course-template-show-body.relaunch ql-collapsible.relaunch_extra.course-info {
  margin-top: 16px;
}
.course-template-show-body.relaunch ql-collapsible.relaunch_extra .course-info-header {
  padding: 4px 16px;
}
.course-template-show-body.relaunch ql-collapsible.relaunch_extra::part(header-button) {
  justify-content: space-between;
  padding-right: 0;
}
.course-template-show-body.relaunch ql-collapsible.relaunch_extra::part(icon-button) {
  transform: rotate(90deg);
}
.course-template-show-body.relaunch main {
  background: var(--md-sys-color-surface-container-low);
  overflow: visible;
  padding: 48px;
}
@media (max-width: 600px) {
  .course-template-show-body.relaunch main {
    padding: 24px 16px;
  }
}
.course-template-show-body.relaunch .learning-wrapper {
  max-width: 1120px;
  padding: 0;
}
.course-template-show-body.relaunch .learning-wrapper .learnable-type-chip, .course-template-show-body.relaunch .learning-plans-body.relaunch .learning-wrapper .learnable-type-chip-card, .learning-plans-body.relaunch .course-template-show-body.relaunch .learning-wrapper .learnable-type-chip-card {
  align-items: center;
  background: rgba(255, 255, 255, 0.16);
  border-radius: 16px;
  color: var(--md-sys-color-surface);
  display: flex;
  font-family: var(--Static-Label-Small-Font, "Google Sans Text");
  font-size: var(--Static-Label-Small-Size, 11px);
  font-style: normal;
  font-weight: 500;
  gap: 4px;
  line-height: 16px;
  letter-spacing: 0.1px;
  max-width: max-content;
  padding: 4px 8px;
}
.course-template-show-body.relaunch .learning-wrapper .course-details {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-start;
}
.course-template-show-body.relaunch .learning-wrapper .course-details .course-detail {
  background: var(--state-layers-primary-colors-on-primary-8, rgba(255, 255, 255, 0.08));
  border-radius: 8px;
  color: var(--md-sys-color-surface);
  flex-shrink: 0;
  padding: 6px 12px;
  text-align: center;
}
.course-template-show-body.relaunch .learning-wrapper .course-description {
  padding-bottom: 16px;
}
.course-template-show-body.relaunch .learning-wrapper .course-badge-buttons {
  height: auto;
}
.course-template-show-body.relaunch .learning-wrapper .top-cta-progress-section {
  /** Remove gap between button and modal **/
}
.course-template-show-body.relaunch .learning-wrapper .top-cta-progress-section .course-badge-buttons__buttons {
  gap: 0;
}
.course-template-show-body.relaunch .learning-wrapper .top-cta-progress-section .learnable-progress-bar {
  flex: auto;
  padding: 22px 24px;
}
@media (max-width: 965px) {
  .course-template-show-body.relaunch .learning-wrapper .top-cta-progress-section .learnable-progress-bar {
    padding: 22px 0;
    width: 100%;
  }
}
.course-template-show-body.relaunch .learning-wrapper .top-cta-progress-section .gamification-section {
  display: flex;
  gap: 8px;
}
@media (max-width: 965px) {
  .course-template-show-body.relaunch .learning-wrapper .top-cta-progress-section .learnable-stars ql-user-points {
    display: inline-block;
  }
}
.course-template-show-body.relaunch .learning-wrapper .top-cta-progress-section .learnable-stars,
.course-template-show-body.relaunch .learning-wrapper .top-cta-progress-section .learnable-gems {
  display: flex;
  background: var(--state-layers-primary-colors-on-primary-8, rgba(255, 255, 255, 0.08));
  border-radius: 19px;
  height: 32px;
  width: auto;
  padding: 5px 14px;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
.course-template-show-body.relaunch .learning-wrapper .top-cta-progress-section .learnable-stars ql-user-points,
.course-template-show-body.relaunch .learning-wrapper .top-cta-progress-section .learnable-gems ql-user-points {
  --user-points-color: var(--md-sys-color-on-primary);
}
.course-template-show-body.relaunch .learning-wrapper .course-activities {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  gap: 16px;
  grid-auto-rows: 1fr;
}
@media (max-width: 965px) {
  .course-template-show-body.relaunch .learning-wrapper .course-activities {
    grid-template-columns: repeat(auto-fit, minmax(302px, 1fr));
  }
}
.course-template-show-body.relaunch ql-drawer-content .course-activity-content {
  overflow: visible;
}
.course-template-show-body.relaunch footer {
  margin-top: auto;
}
.course-template-show-body.relaunch footer .application-footer {
  display: inline-block;
}

.course_builder .importing_course {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 40px;
  justify-content: center;
  padding: 40px 0;
}
.course_builder .importing_course .error_message {
  display: none;
}
.course_builder .importing_course .error_message.found {
  display: block;
}
.course_builder .importing_course .success_message {
  display: none;
}
.course_builder .importing_course .success_message.found {
  display: block;
}
.course_builder .importing_course img {
  width: 475px;
}
@media (max-width: 600px) {
  .course_builder .importing_course img {
    width: 350px;
  }
}
.course_builder .importing_course ql-progress-bar {
  width: 500px;
}
@media (max-width: 600px) {
  .course_builder .importing_course ql-progress-bar {
    width: 350px;
  }
}
.course_builder .new_course .center {
  margin: 0 auto;
  max-width: 800px;
}
.course_builder .new_course .submit {
  justify-content: center;
}
.course_builder .learning-tree-title ql-chip {
  --chip-color: #c4eed0;
  margin-bottom: 8px;
}
.course_builder .modify_publish_info p {
  font-size: 14px;
  margin: 0;
}
.course_builder .course_errors, .course_builder .quiz_errors {
  margin: 0 auto;
  max-width: 720px;
  padding: 48px 0;
}
.course_builder .course_errors .ql-display-small, .course_builder .quiz_errors .ql-display-small {
  margin-bottom: 20px;
}
.course_builder .course_errors p, .course_builder .quiz_errors p {
  font-size: 10px;
  margin: 16px 0;
  word-break: break-word;
  word-wrap: break-word;
}
.course_builder .course_errors .description, .course_builder .quiz_errors .description {
  font-size: 16px;
  margin-bottom: 16px;
}
.course_builder .course_errors .course_messages,
.course_builder .course_errors .quiz_messages,
.course_builder .course_errors .video_messages,
.course_builder .course_errors .peer_assignment_messages, .course_builder .quiz_errors .course_messages,
.course_builder .quiz_errors .quiz_messages,
.course_builder .quiz_errors .video_messages,
.course_builder .quiz_errors .peer_assignment_messages {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
}
.course_builder .course_errors .course_messages ql-collapsible .header,
.course_builder .course_errors .quiz_messages ql-collapsible .header,
.course_builder .course_errors .video_messages ql-collapsible .header,
.course_builder .course_errors .peer_assignment_messages ql-collapsible .header, .course_builder .quiz_errors .course_messages ql-collapsible .header,
.course_builder .quiz_errors .quiz_messages ql-collapsible .header,
.course_builder .quiz_errors .video_messages ql-collapsible .header,
.course_builder .quiz_errors .peer_assignment_messages ql-collapsible .header {
  max-width: 720px;
}
.course_builder .course_errors .course_messages ql-collapsible .collapsible,
.course_builder .course_errors .quiz_messages ql-collapsible .collapsible,
.course_builder .course_errors .video_messages ql-collapsible .collapsible,
.course_builder .course_errors .peer_assignment_messages ql-collapsible .collapsible, .course_builder .quiz_errors .course_messages ql-collapsible .collapsible,
.course_builder .quiz_errors .quiz_messages ql-collapsible .collapsible,
.course_builder .quiz_errors .video_messages ql-collapsible .collapsible,
.course_builder .quiz_errors .peer_assignment_messages ql-collapsible .collapsible {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.course_builder .course_errors .course_messages ql-collapsible .collapsible:first-child,
.course_builder .course_errors .quiz_messages ql-collapsible .collapsible:first-child,
.course_builder .course_errors .video_messages ql-collapsible .collapsible:first-child,
.course_builder .course_errors .peer_assignment_messages ql-collapsible .collapsible:first-child, .course_builder .quiz_errors .course_messages ql-collapsible .collapsible:first-child,
.course_builder .quiz_errors .quiz_messages ql-collapsible .collapsible:first-child,
.course_builder .quiz_errors .video_messages ql-collapsible .collapsible:first-child,
.course_builder .quiz_errors .peer_assignment_messages ql-collapsible .collapsible:first-child {
  margin-top: 16px;
}
.course_builder .course_errors .course_messages ql-collapsible .collapsible .message,
.course_builder .course_errors .quiz_messages ql-collapsible .collapsible .message,
.course_builder .course_errors .video_messages ql-collapsible .collapsible .message,
.course_builder .course_errors .peer_assignment_messages ql-collapsible .collapsible .message, .course_builder .quiz_errors .course_messages ql-collapsible .collapsible .message,
.course_builder .quiz_errors .quiz_messages ql-collapsible .collapsible .message,
.course_builder .quiz_errors .video_messages ql-collapsible .collapsible .message,
.course_builder .quiz_errors .peer_assignment_messages ql-collapsible .collapsible .message {
  display: flex;
  justify-content: center;
  padding-left: 20px;
}
.course_builder .course_errors .course_messages ql-collapsible .collapsible .message p,
.course_builder .course_errors .quiz_messages ql-collapsible .collapsible .message p,
.course_builder .course_errors .video_messages ql-collapsible .collapsible .message p,
.course_builder .course_errors .peer_assignment_messages ql-collapsible .collapsible .message p, .course_builder .quiz_errors .course_messages ql-collapsible .collapsible .message p,
.course_builder .quiz_errors .quiz_messages ql-collapsible .collapsible .message p,
.course_builder .quiz_errors .video_messages ql-collapsible .collapsible .message p,
.course_builder .quiz_errors .peer_assignment_messages ql-collapsible .collapsible .message p {
  font-size: 14px;
  margin: 8px 8px;
}
.course_builder .course_errors .course_messages ql-collapsible .collapsible .message ql-icon,
.course_builder .course_errors .quiz_messages ql-collapsible .collapsible .message ql-icon,
.course_builder .course_errors .video_messages ql-collapsible .collapsible .message ql-icon,
.course_builder .course_errors .peer_assignment_messages ql-collapsible .collapsible .message ql-icon, .course_builder .quiz_errors .course_messages ql-collapsible .collapsible .message ql-icon,
.course_builder .quiz_errors .quiz_messages ql-collapsible .collapsible .message ql-icon,
.course_builder .quiz_errors .video_messages ql-collapsible .collapsible .message ql-icon,
.course_builder .quiz_errors .peer_assignment_messages ql-collapsible .collapsible .message ql-icon {
  color: var(--warn-color);
  padding-right: 8px;
}
.course_builder .course_errors .course_messages ql-collapsible .collapsible .message ql-icon.warning,
.course_builder .course_errors .quiz_messages ql-collapsible .collapsible .message ql-icon.warning,
.course_builder .course_errors .video_messages ql-collapsible .collapsible .message ql-icon.warning,
.course_builder .course_errors .peer_assignment_messages ql-collapsible .collapsible .message ql-icon.warning, .course_builder .quiz_errors .course_messages ql-collapsible .collapsible .message ql-icon.warning,
.course_builder .quiz_errors .quiz_messages ql-collapsible .collapsible .message ql-icon.warning,
.course_builder .quiz_errors .video_messages ql-collapsible .collapsible .message ql-icon.warning,
.course_builder .quiz_errors .peer_assignment_messages ql-collapsible .collapsible .message ql-icon.warning {
  color: var(--accent-surface-color);
}
.course_builder .quiz_errors .message {
  display: flex;
  justify-content: center;
  margin-left: 20px;
}
.course_builder .quiz_errors .message p {
  font-size: 14px;
  margin: 8px 8px;
}
.course_builder .quiz_errors .message ql-icon {
  color: var(--warn-color);
}
.course_builder .quiz_errors .message ql-icon.warning {
  color: var(--accent-surface-color);
}
.course_builder .course_index .mdl-card.mdl-card--shadow.card--search {
  flex-direction: row;
}
.course_builder .course_index .flex-table__row {
  height: auto;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}
.course_builder .course_index .flex-table__row .ql-body-medium {
  font-size: 12px;
}
.course_builder .course_index .flex-table__row .ql-body-medium .error {
  color: var(--warn-color);
}
.course_builder .course_index .flex-table__row .ql-body-medium .success {
  color: var(--success-color);
}
.course_builder .course_index .flex-table__row .ql-body-medium .warning {
  color: rgb(153, 103, 10);
}
.course_builder .course_index .flex-table__row .ql-title-small, .course_builder .course_index .flex-table__row .header-tab {
  font-size: 16px;
}
.course_builder .course_index .sort {
  visibility: hidden;
}
.course_builder .course_index .table_header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.course_builder ql-dialog {
  --base-surface-color: var(--primary-surface-color-lightest);
}
.course_builder .locales_select {
  align-items: center;
  display: flex;
  font-size: 22.5px;
}
.course_builder .quiz_edit_wrapper {
  margin: 0 auto;
  max-width: 640px;
}
.course_builder #more-menu-button, .course_builder .toolbar-actions form, .course_builder .toolbar-actions ql-dialog {
  margin-left: 0;
}

.courses-index .flex-table__row .td:nth-child(1) {
  flex: 3;
}
.courses-index .flex-table__row .td:nth-child(4) {
  flex: 0 0 auto;
  width: 32px;
}
@media (max-width: 1263px) {
  .courses-index .flex-table__row .td:nth-child(5) {
    display: none;
  }
}

.learning-plans-body.relaunch.credentials-page main#jump-content {
  background-color: var(--md-sys-color--surface-container-low, #F8FAFD);
  overflow: visible;
  padding: 0;
}
.learning-plans-body.relaunch.credentials-page main#jump-content > .breadcrumbs-container {
  position: absolute;
  top: 40px;
  z-index: 20;
  margin-bottom: 16px;
}
.learning-plans-body.relaunch.credentials-page main#jump-content ql-button::part(button) {
  padding: 1rem 1.5rem;
  font-size: 1rem;
  line-height: 1.5rem;
}
.learning-plans-body.relaunch.credentials-page ql-floating-nav-bar-container::part(nav-bar) {
  box-sizing: border-box;
  max-width: calc(100vw - 48px);
  padding: 0 32px;
  top: 70px;
  width: fit-content;
}
.learning-plans-body.relaunch.credentials-page .credentials-wrapper {
  display: flex;
  flex-direction: column;
}
.learning-plans-body.relaunch.credentials-page .credentials-top {
  background: linear-gradient(180deg, var(--md-sys-color-primary-container) 0%, rgba(255, 255, 255, 0.08) 100%);
  padding: 120px 0 96px;
  overflow: hidden;
  position: relative;
  text-align: center;
}
@keyframes certificate {
  0%, 30% {
    transform: translate(-50%, 0);
  }
  70%, 100% {
    transform: translate(-50%, -8%);
  }
}
.learning-plans-body.relaunch.credentials-page .credentials-top .top-bg {
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  top: 0;
  z-index: 0;
}
.learning-plans-body.relaunch.credentials-page .credentials-top .top-bg.certificates {
  animation: 1350ms ease-in-out alternate infinite certificate;
}
.learning-plans-body.relaunch.credentials-page .credentials-top ql-chip,
.learning-plans-body.relaunch.credentials-page .credentials-top h1,
.learning-plans-body.relaunch.credentials-page .credentials-top p,
.learning-plans-body.relaunch.credentials-page .credentials-top ql-button {
  position: relative;
  z-index: 1;
}
.learning-plans-body.relaunch.credentials-page .credentials-top ql-chip {
  --chip-color: rgba(11, 87, 208, 0.08);
  --chip-text-color: var(--md-sys-color-on-surface);
  --chip-border-color: transparent;
  margin-bottom: 16px;
}
.learning-plans-body.relaunch.credentials-page .credentials-top h1 {
  font-weight: 500;
  margin-bottom: 16px;
}
.learning-plans-body.relaunch.credentials-page .credentials-top h1 strong {
  color: var(--md-sys-color-primary);
  font-weight: 500;
}
.learning-plans-body.relaunch.credentials-page .credentials-top p {
  margin-bottom: 32px;
}
.learning-plans-body.relaunch.credentials-page .credentials-statistics {
  margin: 0;
  padding: 0 24px;
  position: relative;
  scroll-margin-top: 120px;
  text-align: center;
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch.credentials-page .credentials-statistics {
    padding: 0 24px;
  }
}
.learning-plans-body.relaunch.credentials-page .credentials-statistics .metrics {
  display: flex;
  gap: 24px;
  justify-content: center;
  padding: 64px 0;
}
@media (width <= 965px) {
  .learning-plans-body.relaunch.credentials-page .credentials-statistics .metrics {
    align-items: center;
    flex-direction: column;
  }
}
.learning-plans-body.relaunch.credentials-page .credentials-statistics .metrics a {
  color: var(--md-sys-color-on-surface-variant);
  text-decoration: underline;
}
.learning-plans-body.relaunch.credentials-page .credentials-statistics .metrics .metric {
  color: var(--light-text-on-surface-color);
  flex: 1;
  font-size: 18px;
  max-width: 352px;
  text-align: center;
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch.credentials-page .credentials-statistics .metrics .metric {
    padding: 12px 0;
  }
}
.learning-plans-body.relaunch.credentials-page .credentials-statistics .metrics .metric h5 {
  color: var(--md-sys-color-on-surface-variant);
  display: inline;
  font-size: 22px;
  font-weight: 400;
}
.learning-plans-body.relaunch.credentials-page .credentials-statistics .metrics .metric h5 strong {
  color: var(--md-sys-color-primary);
  display: block;
  font-size: 57px;
}
.learning-plans-body.relaunch.credentials-page .credentials-statistics .metrics .metric p {
  margin-top: 16px;
}
.learning-plans-body.relaunch.credentials-page #how-to-learn {
  background-image: url("/assets/credentials/texture-credentials-44636bb0a771a2aff0645ff29911e98dde3f5c4d.svg");
  background-position: center;
  background-repeat: no-repeat;
  padding-bottom: 80px;
}
.learning-plans-body.relaunch.credentials-page .credential-section {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding: 80px 0;
  position: relative;
}
.learning-plans-body.relaunch.credentials-page .credential-section:nth-child(odd) .section-content {
  flex-direction: row;
}
.learning-plans-body.relaunch.credentials-page .credential-section:nth-child(odd) .section-overlay {
  left: 161px;
}
.learning-plans-body.relaunch.credentials-page .credential-section:nth-child(even) .section-content {
  flex-direction: row-reverse;
}
.learning-plans-body.relaunch.credentials-page .credential-section:nth-child(even) .section-overlay {
  right: 161px;
}
@media (max-width: 768px) {
  .learning-plans-body.relaunch.credentials-page .credential-section {
    padding: 12px 24px 0;
  }
  .learning-plans-body.relaunch.credentials-page .credential-section:nth-child(odd) .section-content, .learning-plans-body.relaunch.credentials-page .credential-section:nth-child(even) .section-content {
    align-items: flex-start;
    flex-direction: column-reverse;
    gap: 24px;
  }
  .learning-plans-body.relaunch.credentials-page .credential-section:nth-child(odd) .section-overlay, .learning-plans-body.relaunch.credentials-page .credential-section:nth-child(even) .section-overlay {
    left: unset;
    min-width: unset;
    right: unset;
    width: auto;
  }
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch.credentials-page .credential-section {
    padding: 12px 0 0;
  }
}
.learning-plans-body.relaunch.credentials-page .credential-section .section-content {
  align-items: center;
  display: flex;
  gap: 48px;
}
.learning-plans-body.relaunch.credentials-page .credential-section .section-content .section-info {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 320px;
}
@media (max-width: 768px) {
  .learning-plans-body.relaunch.credentials-page .credential-section .section-content .section-info {
    margin: 0 24px;
  }
}
.learning-plans-body.relaunch.credentials-page .credential-section .section-content .section-info h2 {
  margin: 0;
}
.learning-plans-body.relaunch.credentials-page .credential-section .section-content .section-info span {
  margin: 0;
}
.learning-plans-body.relaunch.credentials-page .credential-section .section-content .section-info .section-link {
  display: flex;
}
.learning-plans-body.relaunch.credentials-page .credential-section .section-content .section-info .section-link a {
  padding: 16px 24px;
}
.learning-plans-body.relaunch.credentials-page .credential-section .section-content .section-image {
  display: grid;
  flex: 3;
  grid-template-columns: auto auto auto;
  grid-template-rows: auto auto auto;
}
@media (max-width: 768px) {
  .learning-plans-body.relaunch.credentials-page .credential-section .section-content .section-image {
    padding: 36px 24px 0;
  }
}
.learning-plans-body.relaunch.credentials-page .credential-section .section-content .section-image img {
  border-radius: 16px;
  display: grid;
  grid-column-start: 1;
  grid-column-end: 4;
  grid-row-start: 1;
  grid-row-end: 4;
  max-height: 420px;
  max-width: 640px;
  object-fit: cover;
  width: 100%;
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch.credentials-page .credential-section .section-content .section-image img {
    max-height: 288px;
  }
}
.learning-plans-body.relaunch.credentials-page .credential-section .section-content .video-button {
  color: white;
  --icon-size: 96px;
  --md-icon-button-icon-color: var(--md-sys-color-on-primary);
  --md-icon-button-focus-icon-color: var(--md-sys-color-on-primary);
  align-self: center;
  display: grid;
  grid-column-start: 2;
  grid-row-start: 2;
  justify-self: center;
  line-height: 0;
}
.learning-plans-body.relaunch.credentials-page .credential-section .section-overlay {
  align-items: flex-start;
  bottom: -6px;
  display: flex;
  flex-direction: column;
  min-width: 360px;
  position: absolute;
  width: 480px;
  align-items: flex-start;
  align-self: stretch;
  background: var(--primary-background-color);
  border-radius: var(--md-sys-shape-corner-value-extra-large, 28px);
  box-shadow: 0 0 32px 0 rgba(0, 0, 0, 0.08);
  gap: 12px;
  padding: 24px;
}
@media (max-width: 768px) {
  .learning-plans-body.relaunch.credentials-page .credential-section .section-overlay {
    bottom: unset;
    margin: 24px 24px 12px;
    position: relative;
  }
}
.learning-plans-body.relaunch.credentials-page .credential-section .section-overlay.quote .quote-heading {
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
}
.learning-plans-body.relaunch.credentials-page .credential-section .section-overlay.quote .quote-body {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 12px;
}
.learning-plans-body.relaunch.credentials-page .credential-section .section-overlay.quote .quote-text {
  display: flex;
  flex-direction: column;
}
.learning-plans-body.relaunch.credentials-page .credential-section .section-overlay.quote .quote-name {
  font-weight: 500;
}
.learning-plans-body.relaunch.credentials-page .credential-section .section-overlay.stat {
  align-items: center;
  flex-direction: column;
}
.learning-plans-body.relaunch.credentials-page .credential-section .section-overlay.stat .stat-heading {
  align-items: center;
  display: flex;
  flex-direction: column;
}
.learning-plans-body.relaunch.credentials-page .credential-section .section-overlay.stat .stat-description {
  color: var(--md-sys-color-on-surface-variant);
  text-align: center;
}
.learning-plans-body.relaunch.credentials-page .credly-section {
  background-image: url("/assets/credentials/texture-credentials-44636bb0a771a2aff0645ff29911e98dde3f5c4d.svg");
  background-position: left;
  background-repeat: no-repeat;
  margin-bottom: 48px;
  padding-top: 48px;
  text-align: center;
}
@media (max-width: 768px) {
  .learning-plans-body.relaunch.credentials-page .credly-section {
    background: none;
  }
}
.learning-plans-body.relaunch.credentials-page .credly-section .credly-cards-container {
  align-content: flex-start;
  align-items: flex-start;
  align-self: stretch;
  display: flex;
  flex-wrap: wrap;
  gap: 26px 24px;
  justify-content: center;
  margin-top: 48px;
}
@media (max-width: 768px) {
  .learning-plans-body.relaunch.credentials-page .credly-section .credly-cards-container {
    gap: 16px;
  }
}
.learning-plans-body.relaunch.credentials-page .credly-section .credly-card {
  align-items: center;
  border: 4px solid transparent;
  border-radius: 16px;
  background: linear-gradient(var(--md-sys-color-surface), var(--md-sys-color-surface)) padding-box, linear-gradient(90deg, #F3E8FD 0%, #D3E3FD 100%) border-box;
  box-shadow: 0 4px 8px 3px rgba(0, 0, 0, 0.15), 0 1px 3px 0 rgba(0, 0, 0, 0.3);
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-content: center;
  min-width: 240px;
  max-width: 800px;
  padding: 24px;
  width: 327px;
}
@media (max-width: 768px) {
  .learning-plans-body.relaunch.credentials-page .credly-section .credly-card {
    margin: 0 24px;
    max-width: 100%;
    width: 100%;
  }
}
.learning-plans-body.relaunch.credentials-page .credly-section .credly-card ql-icon {
  height: 48px;
  margin-bottom: 8px;
  width: 48px;
}
.learning-plans-body.relaunch.credentials-page .credly-section .credly-card .card-text {
  text-align: left;
}
.learning-plans-body.relaunch.credentials-page .credly-section .credly-card .ql-title-large, .learning-plans-body.relaunch.credentials-page .credly-section .credly-card .learning-plans-body.relaunch.collections .collections-statistics .metrics .metric h5, .learning-plans-body.relaunch.collections .collections-statistics .metrics .metric .learning-plans-body.relaunch.credentials-page .credly-section .credly-card h5, .learning-plans-body.relaunch.credentials-page .credly-section .credly-card .learning-plans-body.relaunch.collections .collections-tabs h4, .learning-plans-body.relaunch.collections .collections-tabs .learning-plans-body.relaunch.credentials-page .credly-section .credly-card h4, .learning-plans-body.relaunch.credentials-page .credly-section .credly-card .credentials-statistics .metrics .metric h5, .learning-plans-body.relaunch.credentials-page .credentials-statistics .metrics .metric .credly-section .credly-card h5 {
  font-weight: 500;
}
.learning-plans-body.relaunch.credentials-page .credly-section .credly-card p.description a {
  color: var(--md-sys-color-primary);
  font-weight: 400;
  text-decoration: underline;
}
.learning-plans-body.relaunch.credentials-page .dive-section {
  background-color: var(--md-sys-color-surface);
  padding: 48px 24px;
  text-align: center;
}
.learning-plans-body.relaunch.credentials-page .dive-section .dive-title {
  margin-bottom: 16px;
}
.learning-plans-body.relaunch.credentials-page .dive-section .dive-text {
  margin-bottom: 24px;
}
.learning-plans-body.relaunch.credentials-page .dive-section .dive-cta {
  --button-outline-color: var(--md-sys-color-outline-variant);
  --button-text-color: var(--md-sys-color-on-surface-variant);
}
.learning-plans-body.relaunch.credentials-page .bottom-img {
  margin-bottom: 24px;
}

.discovery-body .discovery-wrapper {
  margin: 0 auto;
  max-width: 1168px;
}
.discovery-body .discovery-intro {
  align-items: center;
  display: flex;
  justify-content: center;
}
.discovery-body .discovery-intro h1 {
  margin-bottom: 24px;
}
.discovery-body .discovery-intro .discovery-text {
  margin-right: 76px;
  max-width: 480px;
}
.discovery-body .discovery-intro .discovery-image img {
  width: 334px;
}
@media (max-width: 600px) {
  .discovery-body .discovery-intro {
    flex-direction: column;
  }
  .discovery-body .discovery-intro .discovery-text {
    margin-bottom: 48px;
    margin-right: 0;
  }
  .discovery-body .discovery-intro .discovery-image {
    display: block;
    margin: 0 auto;
  }
}
.discovery-body section {
  margin-top: 72px;
}
.discovery-body section > h2 {
  margin-bottom: 24px;
}
.discovery-body .featured-learning-plans-text {
  margin-left: auto;
  margin-right: auto;
  max-width: 640px;
  text-align: center;
}
.discovery-body .activity-cards {
  display: grid;
  gap: 24px;
  grid-auto-rows: 1fr;
  grid-template-columns: repeat(auto-fit, minmax(auto, 360px));
  padding: 0;
}
.discovery-body .activity-cards ql-activity-card {
  width: 100%;
}
@media (max-width: 600px) {
  .discovery-body .activity-cards {
    justify-content: center;
    justify-items: center;
  }
}
@media (max-width: 600px) {
  .discovery-body .activity-cards {
    justify-content: left;
  }
}
.discovery-body ql-carousel > ql-activity-card {
  margin-bottom: 12px;
}
.discovery-body ql-carousel > ql-activity-card:not(:last-child) {
  margin-right: 24px;
}
@media (max-width: 600px) {
  .discovery-body ql-carousel {
    width: calc(100% + 48px);
    margin-left: -24px;
  }
  .discovery-body ql-carousel > ql-activity-card:first-child {
    margin-left: 24px;
  }
  .discovery-body ql-carousel > ql-activity-card:last-child {
    margin-right: 24px;
  }
}

.document-body {
  height: 100vh;
  overflow: hidden;
  width: 100vw;
}

.document-iframe {
  height: calc(100vh - 64px);
  width: 100%;
}

.document-link {
  display: inline-block;
  margin: 64px;
  text-align: left;
}
.document-link p {
  margin: 8px 0 0 0;
}

.download-document {
  display: flex;
  justify-content: center;
  padding: 24px;
}

.game-show-body {
  background: url("/assets/game_background_v2-434d0381e3a8437248b72bf089cc87892c56c25c.svg") no-repeat center 200px;
  box-sizing: border-box;
  display: block;
  height: auto;
  overflow: auto;
  margin: 0px auto;
  min-width: 0px;
  padding: 64px 40px;
  width: 100%;
}
.game-show-body main {
  height: auto;
  overflow: auto;
}
.game-show-body .l-main-wrapper {
  margin: 0px;
  max-width: 100vw;
  min-width: 0px;
  padding: 0px;
}
.game-show-body .side-menu,
.game-show-body .header__side-menu-button,
.game-show-body .bottom-menu {
  display: none;
}
.game-show-body .header-container {
  left: 0px;
  position: fixed;
  top: 0px;
  width: 100vw;
}
.game-show-body .header__button--search {
  display: none;
}
.game-show-body.l-full main {
  overflow-y: scroll;
}
.game-show-body .wrapper640 {
  position: relative;
  margin: 0 auto;
  max-width: 640px;
}
.game-show-body .game__title {
  margin: 72px 0 96px 0;
}
.game-show-body .game__title p {
  margin-bottom: 16px;
  opacity: 0.7;
}
.game-show-body .game__title:after {
  background: var(--primary-surface-color);
  border-radius: 2px;
  content: "";
  height: 6px;
  display: block;
  margin-top: 40px;
  width: 66%;
}
.game-show-body .game__details {
  margin-bottom: 64px;
}
.game-show-body .game__badge {
  margin-bottom: 64px;
  padding-left: 160px;
  position: relative;
}
.game-show-body .game__badge img {
  left: 0;
  position: absolute;
  top: 0;
  width: 120px;
}
.game-show-body .game-enroll-button {
  font-size: 1em;
  height: 100%;
  line-height: 2em;
  margin-bottom: 64px;
  width: 100%;
  text-align: center;
}
.game-show-body .game-unenroll-button {
  display: flex;
  margin: 64px auto;
  width: 200px;
}
.game-show-body .tabs {
  margin-bottom: 64px;
}
.game-show-body .tabs .tab {
  width: 50%;
}
.game-show-body .tabs .tab.active {
  color: var(--primary-text-on-surface-color);
  font-weight: 700 !important;
}
.game-show-body .tabs .tab.active::before {
  border-radius: 2px 2px 0 0;
  left: 5%;
  width: 90%;
}
.game-show-body ql-leaderboard-container {
  display: block;
  margin-bottom: 64px;
}
.game-show-body #game_enrollment_modal,
.game-show-body #player_attributes_modal {
  color: #202124;
}
.game-show-body .game__attribute-avatar {
  display: block;
}
.game-show-body .game__attribute-avatar .control-group {
  align-items: center;
  display: flex;
}
.game-show-body .game__attribute-avatar .control-group .game-avatar {
  background: #DADCE0 center/cover no-repeat;
  border-radius: 50%;
  flex: 0 0 auto;
  height: 64px;
  margin-right: 24px;
  width: 64px;
}

.group-body {
  padding-left: 0;
}
.group-body .nav-bar {
  display: none;
}
.group-body .breadcrumb-arrow {
  color: #BDC1C6;
  font-size: 16px;
  position: relative;
  top: 2px;
}
.group-body main > *:not(:last-child) {
  margin-bottom: 48px;
}

.group-members-body .group_membership_search > *:not(:last-child) {
  margin-bottom: 16px;
}
.group-members-body ql-dialog {
  --dialog-width: 640px;
}

.group-members-content,
.group-no-members-content {
  align-items: center;
  display: flex;
  flex-direction: column;
}

.group-no-members-content p {
  margin-top: 48px;
  max-width: 800px;
  text-align: center;
}

google-chart {
  width: 100%;
}

google-chart.pie-chart {
  height: 500px;
}

.stats turbo-frame {
  display: flex;
  flex: 1;
}

turbo-frame#completed_skill_badge_stat {
  margin-left: 24px;
}

.stat-card {
  align-items: flex-start;
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  padding: 16px;
  gap: 24px;
}
.stat-card .stat {
  align-items: center;
  display: flex;
  line-height: 1;
  margin: 0;
  text-align: center;
  height: 42px;
}
.stat-card .ql-body-medium {
  margin-bottom: 0;
  font-weight: 500;
}
.stat-card:not(:last-child) {
  margin-right: 24px;
}

.group-form {
  max-width: 640px;
}
.group-form span {
  padding-left: 0px;
}
.group-form .radio input[type=radio] {
  margin-left: 0px;
}
.group-form .actions {
  display: flex;
  float: right;
}

.resource-form .form-row.l-mbs {
  margin-bottom: 0.375rem;
}
.resource-form .form-row.l-mtl {
  margin-top: 1.5rem;
}
.resource-form .form-row.with-caption {
  align-items: stretch;
  flex-direction: column;
}
.resource-form .non-default-locale-form > h1 {
  margin-top: 32px;
}

.group-resources-body .default-resources {
  max-width: 640px;
}
.group-resources-body .default-resources:not(:last-child) {
  margin-bottom: 24px;
}
.group-resources-body .card--group {
  display: flex;
  padding: 0 16px;
}
.group-resources-body .card--group ql-list-item {
  min-width: 100%;
}
.group-resources-body .card--group ql-list-item p {
  margin-bottom: 0px;
}
.group-resources-body .card--group ql-list-item p.text {
  font-size: 14px;
}
.group-resources-body .card--group ql-icon {
  color: #747775;
}
.group-resources-body .card--group ql-icon-button {
  color: #5F6368;
}

.guest-front-door-wrapper {
  display: flex;
  flex-direction: column;
  gap: 90px;
}
.guest-front-door-wrapper .guest-front-door-logo {
  margin-bottom: 24px;
}
.guest-front-door-wrapper h1, .guest-front-door-wrapper h2, .guest-front-door-wrapper h3 {
  align-self: center;
  font-weight: 700;
  margin: 0 auto 16px;
}
.guest-front-door-wrapper h1, .guest-front-door-wrapper h2 {
  letter-spacing: -0.02em;
}
.guest-front-door-wrapper .intro-body strong, .guest-front-door-wrapper .intro-body b, .guest-front-door-wrapper .msg-body strong, .guest-front-door-wrapper .msg-body b {
  background: linear-gradient(90deg, var(--md-sys-color-primary) 50%, var(--md-sys-color-secondary-fixed) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 600px) {
  .guest-front-door-wrapper {
    gap: 56px;
  }
  .guest-front-door-wrapper h2 {
    line-height: 44px;
    max-width: 390px;
  }
  .guest-front-door-wrapper span {
    color: #5F6368;
  }
}
.guest-front-door-wrapper .intro-background {
  background: linear-gradient(180deg, #FFF 65.97%, #F1F3F4 100%);
  border-radius: 50%;
}
@media (max-width: 965px) {
  .guest-front-door-wrapper .intro-background {
    background: none;
  }
}
.guest-front-door-wrapper ql-floating-nav-bar-container::part(nav-bar) {
  margin-bottom: 60px;
  top: 70px;
}
.guest-front-door-wrapper .guest-front-door-block {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 auto;
  max-width: 1200px;
  scroll-margin-top: 120px;
  text-align: center;
  width: 100%;
}
.guest-front-door-wrapper .guest-front-door-block .catalog-search {
  margin-top: 40px;
}
.guest-front-door-wrapper .guest-front-door-block .catalog-search ql-icon-button[icon=search], .guest-front-door-wrapper .guest-front-door-block .catalog-search ql-icon-button[icon=close] {
  display: block;
  position: absolute;
  right: 8px;
  top: 8px;
}
.guest-front-door-wrapper .intro-body {
  justify-content: normal;
  max-width: 570px;
  min-height: 630px;
}
.guest-front-door-wrapper .intro-body h1 {
  font-size: 72px;
  letter-spacing: -0.36px;
  line-height: 80px;
}
.guest-front-door-wrapper .intro-body span {
  color: black;
  font-size: 18px;
}
@media (max-width: 600px) {
  .guest-front-door-wrapper .intro-body h1 {
    font-size: 36px;
    letter-spacing: -0.18px;
    line-height: 44px;
  }
  .guest-front-door-wrapper .intro-body span {
    font-size: 16px;
  }
}
@media (max-width: 965px) {
  .guest-front-door-wrapper .intro-body {
    min-height: 0;
  }
}
.guest-front-door-wrapper .media-msg-body {
  align-items: center;
  flex-direction: row;
  gap: 24px;
  justify-content: space-between;
  margin-bottom: 90px;
}
@media (max-width: 965px) {
  .guest-front-door-wrapper .media-msg-body {
    flex-direction: column;
  }
  .guest-front-door-wrapper .media-msg-body h2 {
    max-width: fit-content;
  }
}
.guest-front-door-wrapper .media-msg-body .media-msg-text {
  display: flex;
  flex-direction: column;
  flex-shrink: 2;
  max-width: 550px;
  text-align: left;
}
.guest-front-door-wrapper .media-msg-body .media-msg-text ql-button {
  border-radius: 100px;
  --button-outline-color: var(--md-sys-color-outline-variant);
  --button-text-color: var(--md-sys-color-on-surface-variant);
  --button-color: var(--md-sys-color-surface);
}
.guest-front-door-wrapper .media-msg-body .media-msg-text ql-button:hover {
  --button-color: var(--md-sys-color-outline-variant);
}
.guest-front-door-wrapper .media-msg-body .media-msg-thumbnail {
  display: grid;
  grid-template-columns: auto auto auto;
  grid-template-rows: auto auto auto;
}
.guest-front-door-wrapper .media-msg-body .media-msg-thumbnail img {
  border-radius: 16px;
  max-width: 640px;
  width: 100%;
  display: grid;
  grid-column-start: 1;
  grid-column-end: 4;
  grid-row-start: 1;
  grid-row-end: 4;
}
.guest-front-door-wrapper .media-msg-body .media-msg-thumbnail .vid-button {
  color: white;
  --icon-size: 96px;
  --md-icon-button-icon-color: var(--md-sys-color-on-primary);
  --md-icon-button-focus-icon-color: var(--md-sys-color-on-primary);
  display: grid;
  grid-column-start: 2;
  grid-row-start: 2;
}
.guest-front-door-wrapper .media-msg-body ql-button {
  margin-top: 24px;
  max-width: fit-content;
}
@media (max-width: 425px) {
  .guest-front-door-wrapper .media-msg-body ql-button {
    --button-max-width: 90vw;
  }
}
.guest-front-door-wrapper .msg-body {
  margin-top: 80px;
  max-width: 750px;
}
.guest-front-door-wrapper .msg-body ql-button {
  margin: 32px auto auto;
}
.guest-front-door-wrapper .msg-body span {
  color: #5F6368;
}
.guest-front-door-wrapper .trending-body {
  align-items: center;
  background: #060606;
  border-radius: 32px;
  gap: 40px;
  padding: 80px;
  margin-bottom: 90px;
}
.guest-front-door-wrapper .trending-body h2 {
  color: #FFFFFF;
}
@media (max-width: 965px) {
  .guest-front-door-wrapper .trending-body {
    gap: 30px;
    padding: 40px 20px;
  }
}
@media (max-width: 600px) {
  .guest-front-door-wrapper .trending-body {
    gap: 20px;
    padding: 40px 40px;
  }
}
.guest-front-door-wrapper .trending-body .top-matter {
  display: flex;
  flex-direction: column;
  max-width: 666px;
}
.guest-front-door-wrapper .trending-body .top-matter strong, .guest-front-door-wrapper .trending-body .top-matter b {
  background: linear-gradient(90deg, #4385F4, #7A7ADB, #AA70B6, #D96671);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.guest-front-door-wrapper .trending-body .top-matter span.subheader {
  color: var(--md-sys-color-surface-container-highest);
  font-size: 18px;
  display: inline-block;
  width: 700px;
}
@media (max-width: 600px) or (max-width: 965px) {
  .guest-front-door-wrapper .trending-body .top-matter span.subheader {
    width: auto;
  }
}
.guest-front-door-wrapper .trending-body .categories {
  --fade-color: #060606;
  --fade-width: 20%;
  display: flex;
  gap: 8px;
  max-width: 100%;
  scrollbar-color: #959DB4 #1A1E27;
  scrollbar-width: thin;
  position: relative;
}
.guest-front-door-wrapper .trending-body .categories::part(scroll-container) {
  padding-bottom: 8px;
}
.guest-front-door-wrapper .trending-body .categories a {
  flex-shrink: 0;
}
.guest-front-door-wrapper .trending-body .categories ql-chip {
  --chip-border-color: #747775;
  --chip-color: #060606;
  --chip-text-color: var(--md-sys-color-on-primary);
  cursor: pointer;
  min-width: fit-content;
}
.guest-front-door-wrapper .trending-body .categories ql-chip:hover {
  --chip-color: #1D2538;
}
.guest-front-door-wrapper .trending-body .categories ql-chip ql-icon {
  margin-right: 2px;
}
.guest-front-door-wrapper .trending-body .categories .active {
  --chip-color: var(--md-sys-color-on-surface-variant);
  --chip-text-color: white;
  cursor: default;
}
.guest-front-door-wrapper .trending-body .categories .active:hover {
  --chip-color: #303542;
}
.guest-front-door-wrapper .trending-body .featured {
  align-items: stretch;
  display: flex;
  gap: 16px;
  justify-content: center;
  text-align: left;
}
@media (max-width: 1263px) {
  .guest-front-door-wrapper .trending-body .featured {
    flex-direction: column;
  }
}
.guest-front-door-wrapper .trending-body .featured .cards {
  display: contents;
}
.guest-front-door-wrapper .trending-body .featured .cards .card {
  transition: all var(--transition-time-enter) var(--transition-curve-enter);
  transition-behavior: allow-discrete;
}
@starting-style {
  .guest-front-door-wrapper .trending-body .featured .cards .card {
    opacity: 0;
    transform: translateX(-40px);
  }
}
.guest-front-door-wrapper .trending-body .featured .cards__hidden .card {
  display: none;
  opacity: 0;
  transition: none;
}
.guest-front-door-wrapper .trending-body .featured ql-activity-card {
  --text-color: var(--md-sys-color-surface-container-highest);
  border-radius: 35px;
  border: 2px solid var(--md-sys-color-outline);
  max-width: 320px;
}
.guest-front-door-wrapper .statistics-body {
  align-items: center;
  background: var(--md-sys-color-surface-container-low);
  border-radius: 32px;
  gap: 32px;
  padding: 60px;
  margin-bottom: 90px;
}
@media (max-width: 600px) {
  .guest-front-door-wrapper .statistics-body {
    padding: 60px 16px;
  }
}
.guest-front-door-wrapper .statistics-body > ql-chip {
  --chip-border-color: none;
  --chip-text-color: #38733a;
  color: #38733a;
  font-size: 16px;
  padding: 12px 16px;
}
.guest-front-door-wrapper .statistics-body > h2 {
  max-width: 850px;
}
.guest-front-door-wrapper .statistics-body > h2 strong, .guest-front-door-wrapper .statistics-body > h2 b {
  color: #458C47;
}
.guest-front-door-wrapper .statistics-body .metrics {
  display: flex;
  gap: 24px;
  justify-content: center;
}
@media (max-width: 965px) {
  .guest-front-door-wrapper .statistics-body .metrics {
    flex-direction: column;
  }
}
.guest-front-door-wrapper .statistics-body .metrics a {
  color: var(--primary-text-on-surface-color-dark);
}
.guest-front-door-wrapper .statistics-body .metrics .metric {
  color: var(--light-text-on-surface-color);
  font-size: 18px;
  max-width: 320px;
  padding: 42px 30px;
}
.guest-front-door-wrapper .statistics-body .metrics .metric h3 {
  color: #458C47;
  font-size: 48px;
  letter-spacing: -0.02em;
}
.guest-front-door-wrapper .statistics-body .metrics .metric strong, .guest-front-door-wrapper .statistics-body .metrics .metric b {
  color: var(--md-sys-color-primary);
}
.guest-front-door-wrapper .statistics-body ql-button {
  border-radius: 100px;
  --button-outline-color: var(--md-sys-color-outline-variant);
  --button-text-color: var(--md-sys-color-on-surface-variant);
  --button-color: var(--md-sys-color-surface-container-low);
}
.guest-front-door-wrapper .statistics-body ql-button:hover {
  --button-color: var(--md-sys-color-outline-variant);
}
.guest-front-door-wrapper .multi-msg-body {
  align-items: center;
  margin-top: 34px;
}
.guest-front-door-wrapper .multi-msg-body__header {
  margin-bottom: 30px;
  max-width: 900px;
}
@media (max-width: 965px) {
  .guest-front-door-wrapper .multi-msg-body__header {
    margin-bottom: 60px;
  }
}
@media (max-width: 600px) {
  .guest-front-door-wrapper .multi-msg-body__header {
    margin-bottom: 40px;
  }
}
.guest-front-door-wrapper .multi-msg-body ql-accordion {
  display: contents;
  text-align: start;
}
@media (max-width: 965px) {
  .guest-front-door-wrapper .multi-msg-body ql-accordion {
    display: block;
  }
}
.guest-front-door-wrapper .multi-msg-body ql-accordion h3 {
  font-weight: 500;
  margin: 0 0 8px;
}
.guest-front-door-wrapper .multi-msg-body ql-accordion p {
  color: var(--light-text-color);
}
.guest-front-door-wrapper .multi-msg-body ql-accordion a {
  font-weight: 500;
  padding: 6px 12px;
}
.guest-front-door-wrapper ql-dialog {
  --dialog-body-padding: 0px;
  --dialog-color: none;
  --dialog-width: 900px;
}
.guest-front-door-wrapper ql-dialog::part(header) {
  padding: 0px;
}
.guest-front-door-wrapper ql-dialog::part(body) {
  display: flex;
  height: 500px;
  justify-content: center;
  padding: 0px;
}
@media (max-width: 965px) {
  .guest-front-door-wrapper ql-dialog::part(body) {
    height: 380px;
  }
}
@media (max-width: 600px) {
  .guest-front-door-wrapper ql-dialog::part(body) {
    height: 200px;
  }
}
.guest-front-door-wrapper ql-dialog::part(actions) {
  min-height: 0px;
}
@media (max-width: 965px) {
  .guest-front-door-wrapper ql-dialog {
    --dialog-width: 640px;
  }
}
@media (max-width: 600px) {
  .guest-front-door-wrapper ql-dialog {
    --dialog-width: 320px;
  }
}

@media (max-width: 768px) {
  .learner-layout-body.relaunch.front-door ql-drawer-content.body-content {
    width: 100%;
  }
}
.learner-layout-body.relaunch.front-door main {
  padding: 0;
}
.learner-layout-body.relaunch.front-door ql-floating-nav-bar-container {
  margin: 0 48px;
}
@media (max-width: 600px) {
  .learner-layout-body.relaunch.front-door ql-floating-nav-bar-container {
    margin: 0 20px;
  }
}
.learner-layout-body.relaunch.front-door .ql-display-large, .learner-layout-body.relaunch.front-door .learning-plans-body.relaunch.collections .collections-statistics .metrics .metric h5 strong, .learning-plans-body.relaunch.collections .collections-statistics .metrics .metric h5 .learner-layout-body.relaunch.front-door strong, .learner-layout-body.relaunch.front-door .learning-plans-body.relaunch.credentials-page .credentials-statistics .metrics .metric h5 strong, .learning-plans-body.relaunch.credentials-page .credentials-statistics .metrics .metric h5 .learner-layout-body.relaunch.front-door strong, .learner-layout-body.relaunch.front-door .ql-display-large strong, .learner-layout-body.relaunch.front-door .ql-display-medium, .learner-layout-body.relaunch.front-door .ql-display-medium strong {
  font-weight: 500;
}
.learner-layout-body.relaunch.front-door .top-matter .ql-display-medium.trending-header {
  font-size: 48px;
}
.learner-layout-body.relaunch.front-door .ql-headline-small, .learner-layout-body.relaunch.front-door .ql-headline-small strong, .learner-layout-body.relaunch.front-door .ql-body-large, .learner-layout-body.relaunch.front-door .ql-body-large strong {
  color: var(--md-sys-color-on-surface-variant);
}
.learner-layout-body.relaunch.front-door .hero-section {
  background: var(--md-sys-color-on-primary);
  overflow: hidden;
  position: relative;
}
.learner-layout-body.relaunch.front-door .hero-section .catalog-search {
  margin: 40px auto 48px;
  max-width: 720px;
}
.learner-layout-body.relaunch.front-door .hero-section .catalog-search input {
  background: var(--md-sys-color-surface-container-high);
  border-radius: var(--md-sys-shape-corner-value-extra-large);
}
.learner-layout-body.relaunch.front-door .hero-body {
  margin: 280px auto 250px;
  max-width: 890px;
  position: relative;
  z-index: 100;
}
@media (width >= 1441px) {
  .learner-layout-body.relaunch.front-door .hero-body {
    margin: 300px auto 350px;
  }
}
@media (max-width: 965px) {
  .learner-layout-body.relaunch.front-door .hero-body {
    margin: 125px auto 260px;
    padding: 0 24px;
  }
}
@media (max-width: 600px) {
  .learner-layout-body.relaunch.front-door .hero-body {
    margin: 48px auto 240px;
  }
}
@media (max-width: 425px) {
  .learner-layout-body.relaunch.front-door .hero-body {
    margin-bottom: 130px;
  }
}
.learner-layout-body.relaunch.front-door .hero-suggestions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.learner-layout-body.relaunch.front-door .hero-suggestions ql-button {
  --button-color: var(--md-sys-color--surface-container-high, #E9EEF6);
  --button-text-color: var(--md-sys-color--on-surface-variant, #444746);
  --md-filled-button-container-shape-start-end: 2500px;
  --md-filled-button-icon-color: var(--md-sys-color--primary, #0B57D0);
  --md-filled-button-hover-icon-color: var(--md-sys-color--primary, #0B57D0);
  --md-filled-button-hover-state-layer-color: var(--md-sys-color--on-surface-variant, #444746);
  --md-filled-button-focus-icon-color: var(--md-sys-color--primary, #0B57D0);
  --md-filled-button-pressed-icon-color: var(--md-sys-color--primary, #0B57D0);
}
.learner-layout-body.relaunch.front-door .hero-buttons {
  display: flex;
  gap: 16px;
  justify-content: center;
}
.learner-layout-body.relaunch.front-door .ql-button-relaunch, .learner-layout-body.relaunch.front-door .hero-explore-btn {
  border-radius: 100px;
  --button-outline-color: var(--md-sys-color-outline-variant);
  --button-text-color: var(--md-sys-color-on-surface-variant);
  --button-color: var(--md-sys-color-surface);
}
.learner-layout-body.relaunch.front-door .hero-explore-btn:hover {
  --button-color: var(--md-sys-color-outline-variant);
}
@media (height <= 920px) {
  .learner-layout-body.relaunch.front-door .hero-explore-btn {
    background: white;
  }
}
.learner-layout-body.relaunch.front-door .trending-body ql-button {
  --button-color: var(--md-sys-color-secondary-container);
  --button-text-color: var(--md-sys-color-on-secondary-fixed-variant);
}
.learner-layout-body.relaunch.front-door .featured ql-activity-card {
  --card-text-color: var(--md-sys-color-surface-container-highest);
}
.learner-layout-body.relaunch.front-door .guest-front-door-block.msg-body .ql-display-medium strong {
  background: var(--md-sys-color-on-background);
  background-clip: text;
}
.learner-layout-body.relaunch.front-door .guest-front-door-block.msg-body span {
  color: var(--md-sys-color-on-surface);
}
.learner-layout-body.relaunch.front-door .multi-msg-body__header .credential-description {
  display: inline-block;
  font-size: 18px;
  color: var(--md-sys-color-inverse-surface);
}
@media (max-width: 600px) {
  .learner-layout-body.relaunch.front-door .multi-msg-body__header .credential-description {
    padding: 0 24.5px;
  }
}
.learner-layout-body.relaunch.front-door ql-accordion-section .ql-body-large {
  color: var(--md-sys-color-on-surface);
}

.guest-landing-wrapper {
  margin: 0 auto;
  max-width: 1280px;
  padding: 0 72px;
}
@media (max-width: 600px) {
  .guest-landing-wrapper {
    padding: 0;
  }
}
.guest-landing-wrapper .guest-landing-intro .ql-headline-large, .guest-landing-wrapper .guest-landing-intro .learning-plans-body.relaunch .learning-wrapper .top-matter .learning-plan-title, .learning-plans-body.relaunch .learning-wrapper .top-matter .guest-landing-wrapper .guest-landing-intro .learning-plan-title {
  font-weight: 900;
}
.guest-landing-wrapper .guest-landing-intro__headline {
  display: flex;
  gap: 64px;
  margin-bottom: 120px;
}
.guest-landing-wrapper .guest-landing-intro__headline__headers {
  display: flex;
  flex-direction: column;
  gap: 48px;
  justify-content: center;
}
@media (max-width: 600px) {
  .guest-landing-wrapper .guest-landing-intro__headline__headers {
    gap: 24px;
    text-align: center;
  }
}
.guest-landing-wrapper .guest-landing-intro__headline img {
  max-width: 400px;
  width: 100%;
  height: fit-content;
}
@media (max-width: 600px) {
  .guest-landing-wrapper .guest-landing-intro__headline img {
    max-width: 300px;
  }
}
@media (max-width: 965px) {
  .guest-landing-wrapper .guest-landing-intro__headline {
    align-items: center;
    flex-direction: column;
    gap: 24px;
  }
}
.guest-landing-wrapper .guest-landing-intro__detail__headers {
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: center;
  text-align: center;
  margin-bottom: 45px;
}
.guest-landing-wrapper .guest-landing-intro__discover {
  gap: 64px;
  margin-bottom: 48px;
}
.guest-landing-wrapper .guest-landing-intro__discover__headers {
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: center;
  text-align: center;
  margin-bottom: 48px;
}
.guest-landing-wrapper .guest-landing-intro__discover__tabs {
  width: 100%;
}
.guest-landing-wrapper .guest-landing-intro__discover__tabs .grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(auto-fit, minmax(0, 360px));
  justify-content: center;
}
.guest-landing-wrapper .guest-landing-intro__discover__tabs__next {
  margin-top: 100px;
  margin-bottom: 20px;
  text-align: center;
}
.guest-landing-wrapper .guest-landing-intro__elevate {
  margin-bottom: 100px;
}
.guest-landing-wrapper .guest-landing-intro__elevate__headers {
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: center;
  text-align: center;
  margin-bottom: 48px;
}
.guest-landing-wrapper .guest-landing-intro__elevate__grid {
  display: flex;
  gap: 40px;
  justify-content: center;
  margin-bottom: 50px;
}
@media (max-width: 600px) {
  .guest-landing-wrapper .guest-landing-intro__elevate__grid {
    align-items: center;
    flex-direction: column;
    gap: 20px;
  }
}
.guest-landing-wrapper .guest-landing-intro__elevate__grid img {
  height: fit-content;
  max-width: 1070px;
  width: 100%;
}
@media (max-width: 600px) {
  .guest-landing-wrapper .guest-landing-intro__elevate__grid img {
    max-width: 300px;
  }
}
.guest-landing-wrapper .guest-landing-intro__help {
  gap: 64px;
  margin-bottom: 48px;
}
.guest-landing-wrapper .guest-landing-intro__help__headers {
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: center;
  text-align: center;
  margin-bottom: 48px;
}
.guest-landing-wrapper .guest-landing-intro__help__body__qa {
  margin-bottom: 30px;
}
.guest-landing-wrapper .guest-landing-intro__help__body__qa__question {
  display: flex;
  margin-bottom: 10px;
}
.guest-landing-wrapper .guest-landing-intro__help__body__qa__question__button {
  margin-left: auto;
}
.guest-landing-wrapper .guest-landing-intro__help__body__qa__question ql-toggle-button {
  transform: rotate(180deg);
}
.guest-landing-wrapper .guest-landing-intro__help__body__qa__question ql-toggle-button[on] {
  transition: transform 0.1s ease-in-out;
  transform: rotate(90deg);
}
.guest-landing-wrapper .guest-landing-intro__help__body .is-on .answer {
  display: none;
}

.html-bundle-iframe {
  height: calc(100vh - 64px);
  width: 100%;
}

.join-body {
  align-items: center;
  background: white;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 80px 24px;
}
.join-body a {
  text-decoration: underline;
}
@media (max-width: 600px) {
  .join-body {
    justify-content: flex-start;
    padding: 0 0 48px 0;
  }
  .join-body p {
    text-align: center;
  }
  .join-body .button {
    height: 56px;
    width: 100%;
  }
  .join-body.relaunch-body {
    justify-content: center;
  }
}

.join-header-logo {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-bottom: 3rem;
}

#login-form-options {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.join-wrapper {
  max-width: 480px;
  width: 100%;
}
.join-wrapper.relaunch {
  padding: 0 0.5rem;
  max-width: 640px;
}
.join-wrapper.relaunch .simple_form {
  margin-bottom: 8px;
}
.join-wrapper.relaunch .simple_form.mb-48 {
  margin-bottom: 48px;
}
.join-wrapper.relaunch .simple_form ql-button {
  --md-outlined-button-container-height: 56px;
  margin-bottom: 18px;
}
.join-wrapper.relaunch #login-form-options .button {
  width: auto;
}
@media (max-width: 600px) {
  .join-wrapper.relaunch .join-links {
    display: flex;
    gap: 8px;
    justify-content: center;
    margin-top: 16px;
    width: auto;
  }
  .join-wrapper.relaunch .join-links .mobile-hide {
    display: block !important;
  }
}
.create-account-body .join-wrapper {
  max-width: 640px;
}

.join-spacer {
  margin-bottom: 16px;
  margin-top: 48px;
}

.join-card {
  border: 1px solid #DADCE0;
  border-radius: 8px;
  overflow: hidden;
  width: 100%;
}
@media (max-width: 600px) {
  .join-card {
    border: none;
    border-radius: 0;
    overflow: visible;
  }
}

.join-card__header {
  align-items: center;
  background: var(--primary-surface-color);
  display: flex;
  justify-content: center;
  padding: 32px 48px;
}
.join-card__header .logo {
  width: 133px;
  height: 25px;
}
@media (max-width: 600px) {
  .join-card__header {
    padding: 24px 0 24px 0;
  }
}
.join-card__header.light-theme {
  background: white;
  padding: 40px 48px 0 48px;
}
.join-card__header.light-theme .logo {
  background-image: url("/assets/logo_blue-e1820f0fe6c9ddd9ced5541cd31283d7e405296f.svg");
  background-size: cover;
}
@media (max-width: 600px) {
  .join-card__header.light-theme {
    padding: 24px 0 24px 0;
  }
}

.join-card__body {
  padding: 32px 48px;
}
@media (max-width: 600px) {
  .join-card__body {
    padding: 24px;
  }
}

.form-row {
  margin-bottom: 32px;
}

.recaptcha-notice {
  padding: 8px;
}
.recaptcha-notice a {
  text-decoration: underline;
}

.join-links {
  align-items: center;
  display: flex;
  margin-top: 16px;
  padding-right: 8px;
  position: relative;
  text-align: right;
}
@media (max-width: 600px) {
  .join-links {
    display: block;
    margin-top: 56px;
    text-align: center;
    width: auto;
  }
}

.join-link,
button#language {
  font-family: var(--md-ref-typeface-plain);
  color: #5F6368;
  cursor: pointer;
  font-size: 12px;
  font-weight: 500;
}

a.join-link {
  text-decoration: underline;
}

.join-link:hover {
  text-decoration: underline;
}
.join-link:not(:last-child) {
  margin-right: 32px;
}
@media (max-width: 600px) {
  .join-link {
    margin-left: 0 !important;
  }
}

.create-account-body .form-row {
  margin-bottom: 22px;
}
@media (max-width: 600px) {
  .create-account-body .form-row {
    margin-bottom: 32px;
  }
}

.mdl-checkbox__label {
  font-family: var(--md-ref-typeface-plain);
  font-size: 15px;
}

.remember-me {
  margin-top: -32px;
}

.form-actions {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-top: 48px;
}

@media (max-width: 600px) {
  .g-recaptcha {
    display: flex;
    justify-content: center;
  }
}

.join__activate {
  position: fixed;
  top: nil;
  right: 0px;
  bottom: 0px;
  left: 0px;
  width: 100vw;
  height: 40px;
  background: #C92786;
  box-shadow: 0px -4px 0px rgba(0, 0, 0, 0.1);
}
.join__activate img {
  width: 120px;
  height: auto;
  margin-right: 1.5rem;
}
.join__activate a {
  color: white;
}
.join__activate strong {
  font-weight: 700;
  text-decoration: underline;
}

.lab-edit main {
  padding-top: 48px;
}
.lab-edit .lab__top-matter {
  align-items: center;
  display: flex;
  margin-bottom: 24px;
}
.lab-edit .lab__locales {
  align-items: center;
  display: flex;
  height: 32px;
}
.lab-edit .lab__date {
  margin-left: auto;
}
.lab-edit .lab__disable {
  align-items: center;
  display: flex;
  margin-left: auto;
}
.lab-edit .lab__wrapper {
  position: relative;
}
.lab-edit .lab__details {
  width: calc(30% - 24px);
}
.lab-edit .lab__details .mdl-card__edit-title {
  align-items: center;
  display: flex;
}
.lab-edit .lab__details__resources,
.lab-edit .lab__details__custom-properties {
  align-items: flex-start;
  background: #fff;
  border-bottom: 1px solid #eee;
  border-top: 1px solid #eee;
  display: flex;
  left: -24px;
  margin-bottom: 16px;
  padding: 8px 24px;
  position: relative;
  width: calc(100% + 48px);
}
.lab-edit .lab__details__resources__form,
.lab-edit .lab__details__custom-properties__form {
  flex: 1;
}
.lab-edit .lab__details__resources__remove {
  margin-left: 24px;
  width: 32px;
}
.lab-edit .lab__details__resources__file {
  align-items: center;
  display: flex;
  font-size: 14px;
  margin: 8px 0 16px 0;
  text-decoration: none;
}
.lab-edit .lab__details__resources__file i {
  font-size: 16px;
  width: 16px;
  height: 16px;
  margin-right: 8px;
}
.lab-edit .lab__details__dm {
  align-items: center;
  background: #f6f6f6;
  border-bottom: 1px solid #eee;
  border-top: 1px solid #eee;
  display: flex;
  height: 50px;
  left: -24px;
  margin-bottom: 16px;
  padding: 8px 24px;
  position: relative;
  width: calc(100% + 48px);
}
.lab-edit .lab__details__dm a:first-child {
  width: 80%;
}
.lab-edit .lab__details__zones div.control-group {
  padding: 0;
}
.lab-edit .lab__details__zones div.controls {
  height: 100%;
}
.lab-edit .lab__details__zones div.checkboxes {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  height: 100%;
}
.lab-edit .lab__details__zones span.checkbox {
  display: block;
  font-size: 13px;
  margin-bottom: 8px;
}
.lab-edit .lab__details__zones span.checkbox input {
  margin-right: 8px;
}
.lab-edit .lab__details__special__concurrent #concurrent_info {
  color: #5F6368;
}
.lab-edit .lab__details__special__concurrent .mdl-tooltip {
  background: rgba(0, 0, 0, 0.75);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.3;
}
.lab-edit .lab__instructions {
  height: calc(100vh - 64px - 24px - 32px - 24px - 24px);
  position: absolute;
  right: 0;
  top: 0;
  width: 70%;
}
.lab-edit .lab__instructions .mdl-card {
  border-radius: 8px;
  box-shadow: 0px 1px 6px rgba(32, 33, 36, 0.28);
  height: 100%;
  width: 100%;
}
.lab-edit .lab__instructions.is-fixed {
  position: fixed;
  top: calc(64px + 24px);
  height: calc(100% - 64px - 48px);
}
.lab-edit .lab__instructions_two {
  width: 70%;
  max-width: 800px;
}
.lab-edit .lab__instructions_two.ql-full-page {
  height: calc(100vh - 64px - 24px - 32px - 24px - 24px);
}
.lab-edit .lab__instructions_two .mdl-card {
  border-radius: 8px;
  box-shadow: 0px 1px 6px rgba(32, 33, 36, 0.28);
  height: 100%;
  width: 100%;
}
.lab-edit .lab__instructions_two .mdl-card > * {
  padding-left: 36px;
  padding-right: 36px;
}
.lab-edit .lab__instructions_two .mdl-card > table {
  margin-left: 36px;
  margin-right: 36px;
  width: auto;
}
.lab-edit .lab__instructions_two.is-fixed {
  position: fixed;
  top: calc(64px + 24px);
  height: calc(100% - 64px - 48px);
}
.lab-edit .lab-details-two .ql-display-small {
  margin-bottom: 20px;
}
.lab-edit .lab-details-two .is-disabled {
  color: red;
}
.lab-edit .lab-details-two .ql-title-medium {
  margin: 30px 0px;
}
.lab-edit .lab-details-two .ql-label-small, .lab-edit .lab-details-two .learning-plans-body.relaunch .learning-wrapper .badge-content span, .learning-plans-body.relaunch .learning-wrapper .badge-content .lab-edit .lab-details-two span, .lab-edit .lab-details-two .learning-plans-body.relaunch .learning-wrapper .learnable-type-chip, .lab-edit .lab-details-two .learning-plans-body.relaunch .learning-wrapper .learnable-type-chip-card, .learning-plans-body.relaunch .learning-wrapper .lab-edit .lab-details-two .learnable-type-chip, .learning-plans-body.relaunch .learning-wrapper .lab-edit .lab-details-two .learnable-type-chip-card {
  margin-top: 20px;
  margin-bottom: 5px;
  color: grey;
}
.lab-edit .lab-details-two table {
  max-width: 800px;
}
.lab-edit .lab-details-two ul {
  margin: 0px 0px 10px 10px;
  padding-left: 10px;
}
.lab-edit .lab-details-two .form-row {
  width: 70%;
  max-width: 800px;
}
.lab-edit #lab_domain_list_chosen .chosen-choices,
.lab-edit #lab_product_list_chosen .chosen-choices,
.lab-edit #lab_role_list_chosen .chosen-choices {
  margin: 0px;
  height: 56px;
}
.lab-edit .custom_fields .control-group {
  max-width: 200px;
  margin-right: 10px;
}
.lab-edit .custom_fields #start_add_custom_property,
.lab-edit .custom_fields #end_add_custom_property {
  margin-bottom: 20px;
}
.lab-edit .service_field .chosen-choices,
.lab-edit .roles_fields .chosen-choices,
.lab-edit .allowed_locations .chosen-choices {
  min-height: 56px;
}
.lab-edit .script_fields .script,
.lab-edit .student_files_fields .student_files,
.lab-edit .policy_fields .form-row:first-of-type {
  display: block;
}
.lab-edit .script_fields .script ql-icon-button,
.lab-edit .student_files_fields .student_files ql-icon-button,
.lab-edit .policy_fields .form-row:first-of-type ql-icon-button {
  margin-top: -8px;
}
.lab-edit #student_files {
  flex-direction: column;
  align-items: flex-start;
}
.lab-edit #student_files .form-row {
  margin-bottom: 0px;
}
.lab-edit #student_files .form-row .student_files {
  margin-bottom: 12px;
}
.lab-edit #student_files .form-row ql-icon-button {
  margin-top: -4px;
}
.lab-edit .policy_fields tr {
  border: none;
}
.lab-edit .lab__instructions__header {
  align-items: center;
  background: #f6f6f6;
  border-bottom: 1px solid #ddd;
  color: var(--primary-text-on-surface-color);
  display: flex;
  height: 64px;
  padding: 12px 32px;
}
.lab-edit .lab__instructions__header .ellipsis {
  width: 600px;
}
.lab-edit .lab__instructions__header.has-error {
  background: var(--warn-color);
  color: white;
}
.lab-edit .lab__instructions__header.has-error a {
  color: white;
}
.lab-edit .lab__instructions__actions {
  display: flex;
  margin-left: auto;
}
.lab-edit .lab__instructions__link {
  color: var(--primary-text-on-surface-color);
  display: inline-block;
  font-size: 14px;
  font-weight: 300;
  text-decoration: underline;
  width: 100%;
}
.lab-edit .lab__instructions__content {
  flex: 1;
  position: relative;
}
.lab-edit .lab__instructions__content .lab__instructions__content__wrapper {
  height: 100%;
  left: 0;
  opacity: 1;
  overflow-y: auto;
  position: absolute;
  top: 0;
  transition: opacity 0.5s ease-in-out;
  width: 100%;
  z-index: 4;
}
.lab-edit .lab__instructions__content .lab__instructions__content__wrapper.is-hidden {
  opacity: 0;
}
.lab-edit .lab__instructions__content .lab__instructions__content__wrapper.is-faded {
  opacity: 0.1;
}
.lab-edit .lab__instructions__content .lab-content__markdown,
.lab-edit .lab__instructions__content .lab-preamble {
  margin: 0 auto;
  max-width: 640px;
  padding-right: 0;
  position: relative;
}
.lab-edit .lab__instructions__form {
  padding: 26px 24px;
  max-width: 640px;
}
.lab-edit .lab__instructions__form h2 {
  color: #202124;
  margin-bottom: 24px;
}
.lab-edit .lab__instructions__form .md-input {
  flex: 1;
}
.lab-edit .lab__instructions__form .button {
  margin-left: 8px;
}
.lab-edit .lab__instructions__loader {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  left: 0px;
  opacity: 1;
  position: absolute;
  top: 0px;
  transition: opacity 0.5s ease-in-out;
  width: 100%;
  z-index: 3;
}
.lab-edit .lab__instructions__loader .mdl-spinner {
  height: 160px;
  width: 160px;
}
.lab-edit .lab__instructions__loader .mdl-spinner .mdl-spinner__circle {
  border-width: 16px;
}
.lab-edit .lab__instructions__loader.is-hidden {
  opacity: 0;
  z-index: 1;
}
.lab-edit .lab__instructions__error {
  color: var(--warn-color) !important;
  text-align: center;
}
.lab-edit .lab__instructions__error p {
  color: var(--warn-color) !important;
}
.lab-edit .lab__test-environment {
  margin-bottom: 24px;
  margin-top: 24px;
  min-height: 0px;
}
.lab-edit .lab__test-environment .mdl-card__supporting-text {
  padding: 16px 24px;
  width: 100%;
}

.lab__admin {
  font-size: 10px;
  position: absolute;
  right: 24px;
  top: 2px;
}
.lab__admin span:not(:last-child) {
  margin-right: 24px;
}

.lab__admin_text {
  font-size: 10px;
  margin: 0 auto;
}
.lab__admin_text span:not(:last-child) {
  margin-right: 24px;
}

.permissions-advanced {
  display: none;
}
.permissions-advanced.is-visible {
  display: block;
}

.permissions .chosen-container.chosen-container-multi {
  display: block;
}
.permissions .chosen-container.chosen-container-multi.is-hidden {
  display: none;
}

.permissions-advanced-link {
  font-size: 12px;
  font-weight: normal;
}

.lab__instructions--v2 {
  height: calc(100vh - 64px - 24px - 32px - 24px - 24px);
  max-width: 800px;
  padding-left: 48px;
  padding-top: 24px;
}

.instructions_markdown {
  display: none;
}

.v1_title {
  margin-top: 16px;
}

.tables ql-table {
  margin-bottom: 30px;
}
.tables .ql-body-large.text--center {
  padding: 34px 0px 50px 0px;
}

.timer-toggle, .toggle-button {
  align-items: center;
  border: 1px solid #DADCE0;
  border-radius: 100px;
  cursor: pointer;
  display: flex;
  height: 40px;
  justify-content: center;
  width: 40px;
}
.timer-toggle:hover, .toggle-button:hover {
  background: #F8F9FA;
}
.timer-toggle.is-toggled, .toggle-button.is-toggled {
  background: #E8F0FE;
  border-color: #D2E3FC;
  color: #1A73E8;
}
.timer-toggle.is-toggled:hover, .toggle-button.is-toggled:hover {
  background: #D2E3FC;
}

.timer-toggle {
  transition: width 0.1s ease-in-out;
  position: relative;
}
.timer-toggle ql-icon {
  display: block;
}
.timer-toggle .time {
  display: none;
  font-family: "Roboto Mono";
  font-size: 15px;
  font-weight: 500;
  right: 0px;
  line-height: 38px;
  padding: 0 8px;
  position: absolute;
  text-align: center;
  top: 0px;
  width: 100px;
}
.timer-toggle.is-toggled {
  width: 100px;
}
.timer-toggle.is-toggled ql-icon {
  display: none;
}
.timer-toggle.is-toggled .time {
  display: block;
}

body.lab-show .header {
  padding: 0px;
}
body.lab-show .header ql-toolbar {
  width: 100%;
}
body.lab-show .breadcrumbs-container {
  background-color: var(--base-surface-color);
}
body.lab-show #lab-container {
  container-type: inline-size;
  height: 100%;
}
body.lab-show #terminal-drawer {
  width: 50cqw;
}
body.lab-show #lab-content {
  container-type: inline-size;
  overflow-x: hidden;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
body.lab-show #lab-content-container {
  overflow: visible;
  background-color: var(--base-surface-color);
}
body.lab-show .lab-content-container {
  max-width: 100%;
  overflow-x: hidden;
  overflow-y: hidden;
}
body.lab-show .lab-content-container .lab-content__try {
  display: none;
}
@container (max-width: 1000px) {
  body.lab-show .lab-content-container .lab-content__try {
    display: block;
  }
}
body.lab-show #tip-collapsible {
  --border-radius: 8px;
  --md-outlined-button-outline-color: var(--md-sys-color-outline-variant);
  max-width: 264px;
  padding-bottom: 20px;
}
body.lab-show #tip-collapsible::part(header) {
  padding-right: 0px;
}
body.lab-show #tip-collapsible::part(header)::before {
  background-color: var(--md-sys-color-surface-container);
}
body.lab-show #tip-collapsible::part(icon-button) {
  padding: 10px;
  right: 0;
}
body.lab-show #tip-collapsible .ql-body-medium {
  padding-bottom: 10px;
}
body.lab-show #tip-collapsible [slot=collapsible] {
  padding: 0px 16px 16px 16px;
}
body.lab-show #tip-collapsible [slot=header] {
  padding: 16px 0px 16px 16px;
}
body.lab-show .lab-content__try {
  border: 1px solid var(--hairline-color);
  border-radius: 5px;
  margin-bottom: 20px;
  margin-top: 20px;
  padding: 20px;
}
body.lab-show .lab-content__try__header {
  margin-bottom: 10px;
}
body.lab-show .lab-content__try ql-button {
  margin-bottom: 10px;
  margin-top: 10px;
  width: 100%;
}
body.lab-show .lab-content__try .get_access {
  display: flex;
  gap: 10px;
}
body.lab-show .lab-content__try .get_access ql-icon {
  color: var(--success-color);
}
body.lab-show #control-panel-drawer,
body.lab-show #lab-instructions {
  padding: 24px;
}
@container (max-width: 600px) {
  body.lab-show ql-lab-control-panel.onramp {
    display: none;
  }
}
body.lab-show #jupyter-feedback-modal {
  --dialog-width: 70vw;
}
body.lab-show #jupyter-feedback-frame {
  height: 40vw;
}
body.lab-show .outline-container {
  flex-shrink: 0;
  max-width: 320px;
  padding: 0 24px 96px;
}
body.lab-show .outline-container .ql-label-small, body.lab-show .outline-container .learning-plans-body.relaunch .learning-wrapper .badge-content span, .learning-plans-body.relaunch .learning-wrapper .badge-content body.lab-show .outline-container span, body.lab-show .outline-container .learning-plans-body.relaunch .learning-wrapper .learnable-type-chip, body.lab-show .outline-container .learning-plans-body.relaunch .learning-wrapper .learnable-type-chip-card, .learning-plans-body.relaunch .learning-wrapper body.lab-show .outline-container .learnable-type-chip, .learning-plans-body.relaunch .learning-wrapper body.lab-show .outline-container .learnable-type-chip-card {
  color: #1A73E8;
  font-weight: 700;
  padding: 20px 0px 24px 0px;
}
@container (max-width: 965px) {
  body.lab-show .outline-container {
    display: none;
  }
}
body.lab-show #lab-instructions {
  max-height: calc(100vh - 64px);
  overflow-y: auto;
}
body.lab-show #lab-outline-drawer {
  top: 24px;
}
@media (max-width: 600px) {
  body.lab-show #markdown-lab-instructions {
    max-height: 100vh;
    overflow-y: clip;
  }
}
body.lab-show .l-main-wrapper {
  height: calc(100vh - 64px);
  width: 100vw;
}
body.lab-show .flash,
body.lab-show .alert {
  left: 344px;
  margin-left: 0px;
  position: fixed;
  top: 76px;
  width: calc(100vw - 320px - 64px - 48px);
}
@media (max-width: 832px) {
  body.lab-show .flash,
  body.lab-show .alert {
    left: 12px;
    padding: 12px;
    top: 76px;
    width: calc(100vw - 24px);
  }
}
@media print {
  body.lab-show {
    display: none !important;
  }
}
body.lab-show .permalink {
  bottom: 1px;
  color: var(--warn-color);
  font-size: 10px;
  position: fixed;
  right: 24px;
  z-index: 4;
}
body.lab-show .lab-outline-mobile {
  display: none;
}
@container (max-width: 965px) {
  body.lab-show .lab-outline-mobile {
    border: 1px solid #E8EAED;
    border-radius: 0px;
    display: block;
    margin: 24px 0px;
    max-width: 100%;
  }
  body.lab-show .lab-outline-mobile .header {
    display: flex;
    justify-content: space-between;
    margin: 0px 20px;
  }
  body.lab-show .lab-outline-mobile .header .ql-label-small, body.lab-show .lab-outline-mobile .header .learning-plans-body.relaunch .learning-wrapper .badge-content span, .learning-plans-body.relaunch .learning-wrapper .badge-content body.lab-show .lab-outline-mobile .header span, body.lab-show .lab-outline-mobile .header .learning-plans-body.relaunch .learning-wrapper .learnable-type-chip, body.lab-show .lab-outline-mobile .header .learning-plans-body.relaunch .learning-wrapper .learnable-type-chip-card, .learning-plans-body.relaunch .learning-wrapper body.lab-show .lab-outline-mobile .header .learnable-type-chip, .learning-plans-body.relaunch .learning-wrapper body.lab-show .lab-outline-mobile .header .learnable-type-chip-card {
    color: #1A73E8;
    font-weight: 700;
  }
  body.lab-show .lab-outline-mobile ul {
    margin: 0px 0px 20px 20px;
  }
  body.lab-show .lab-outline-mobile.is-on ul {
    display: none;
  }
}
@media (max-width: 600px) {
  body.lab-show .lab-outline-mobile {
    display: none;
  }
}
body.lab-show .lab-content__renderable-instructions {
  position: relative;
}
@container (max-width: 600px) {
  body.lab-show .instruction-guest-card::before,
  body.lab-show .instruction-signed-in-card::before {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, var(--base-surface-color) 100%);
    content: "";
    height: 150px;
    left: 0;
    position: absolute;
    top: -150px;
    width: 100%;
  }
}
body.lab-show .instruction-guest-card,
body.lab-show .instruction-signed-in-card {
  display: none;
}
@container (max-width: 600px) {
  body.lab-show .instruction-guest-card,
  body.lab-show .instruction-signed-in-card {
    background-color: var(--base-surface-color);
    bottom: 0px;
    display: block;
    position: absolute;
    width: 100%;
    z-index: 2;
  }
}
@container (min-width: 601px) and (max-width: 965px) {
  body.lab-show .instruction-guest-card {
    bottom: auto;
    display: block;
    position: static;
  }
}
body.lab-show .lab-mobile-card {
  display: none;
}
@container (max-width: 600px) {
  body.lab-show .lab-mobile-card {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 100%;
    padding: 16px;
    margin: 2px;
    text-align: center;
  }
  body.lab-show .lab-mobile-card .ql-body-small, body.lab-show .lab-mobile-card .learning-plans-body.relaunch.collections .collections-statistics .metrics .metric p, .learning-plans-body.relaunch.collections .collections-statistics .metrics .metric body.lab-show .lab-mobile-card p, body.lab-show .lab-mobile-card .learning-plans-body.relaunch.credentials-page .credentials-statistics .metrics .metric p, .learning-plans-body.relaunch.credentials-page .credentials-statistics .metrics .metric body.lab-show .lab-mobile-card p {
    color: var(--light-text-on-surface-color);
  }
  body.lab-show .lab-mobile-card ql-button {
    --button-width: 100%;
  }
  body.lab-show .lab-mobile-card img {
    max-height: 104px;
    max-width: 97px;
  }
}
body.lab-show .draw-guest-card {
  display: block;
}
@container (max-width: 965px) {
  body.lab-show .draw-guest-card {
    display: none;
  }
}
body.lab-show .lab-mobile-card.guest {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 16px auto;
  max-width: 320px;
  padding: 16px;
  text-align: center;
}
body.lab-show .lab-mobile-card.guest .check_message {
  align-items: center;
  display: flex;
  gap: 8px;
}
body.lab-show .lab-mobile-card.guest .check_message ql-icon {
  background-color: #E6F4EA;
  border-radius: 20px;
  color: #1E8E3E;
  min-height: 40px;
  min-width: 40px;
}
body.lab-show .lab-mobile-card.guest .ql-body-small, body.lab-show .lab-mobile-card.guest .learning-plans-body.relaunch.collections .collections-statistics .metrics .metric p, .learning-plans-body.relaunch.collections .collections-statistics .metrics .metric body.lab-show .lab-mobile-card.guest p, body.lab-show .lab-mobile-card.guest .learning-plans-body.relaunch.credentials-page .credentials-statistics .metrics .metric p, .learning-plans-body.relaunch.credentials-page .credentials-statistics .metrics .metric body.lab-show .lab-mobile-card.guest p {
  color: inherit;
}
body.lab-show .lab-mobile-card.guest ql-button {
  --button-width: 100%;
  --button-color: var(--quest-color);
}

body.lab-show.relaunch .body-content {
  height: calc(100vh - 64px);
  min-height: 100%;
  padding-bottom: 0;
}
body.lab-show.relaunch main {
  background-color: var(--base-surface-color);
  display: flex;
  flex-direction: column;
  overflow: auto;
}
body.lab-show.relaunch #lab-content-container {
  height: 100%;
}
body.lab-show.relaunch #lab-instructions {
  max-height: none;
}
body.lab-show.relaunch .application-footer {
  display: none;
}
body.lab-show.relaunch .content-card-grid {
  gap: 16px;
  grid-auto-rows: 1fr;
  grid-template-columns: 1fr 1fr;
}

body.games-labs-show ql-leaderboard-container {
  height: calc(100vh - 65px);
  width: 64px;
  position: fixed;
  top: 65px;
  right: 0;
  z-index: 100;
}
body.games-labs-show .l-main-wrapper {
  padding-right: 64px;
}
body.games-labs-show .l-lab-main-header {
  width: calc(100vw - 320px - 48px - 64px);
}
body.games-labs-show .lab-assessment__tab {
  display: none;
}
body.games-labs-show .lab-assessment__panel {
  display: none;
}

#recaptcha-v2-start-lab {
  margin: 0 8px 8px 8px;
  height: 64px;
}
#recaptcha-v2-start-lab .g-recaptcha {
  transform: scale(0.8205128205);
  transform-origin: 0 0;
}

#lab-notification-dialog,
#lab-notification-subscribed-dialog {
  --dialog-width: 640px;
}
#lab-notification-dialog img,
#lab-notification-subscribed-dialog img {
  width: 348px;
  height: 180px;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-top: 16px;
  margin-bottom: 16px;
}
#lab-notification-dialog p.description,
#lab-notification-subscribed-dialog p.description {
  text-align: center;
  margin: 0px;
}
#lab-notification-dialog p.title,
#lab-notification-subscribed-dialog p.title {
  text-align: center;
  margin: 8px 0 12px 0;
}

#lab-quota-modal,
#lab-quota-one-lab-modal {
  --dialog-width: 560px;
  --dialog-height: 395px;
}
#lab-quota-modal img.lab-image-medium, #lab-quota-modal img.lab-image-small,
#lab-quota-one-lab-modal img.lab-image-medium,
#lab-quota-one-lab-modal img.lab-image-small {
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-top: 16px;
  margin-bottom: 16px;
}
#lab-quota-modal img.lab-image-small,
#lab-quota-one-lab-modal img.lab-image-small {
  width: 165px;
  height: 135px;
}
#lab-quota-modal img.lab-image-medium,
#lab-quota-one-lab-modal img.lab-image-medium {
  width: 297px;
  height: 154px;
}
#lab-quota-modal p.description,
#lab-quota-one-lab-modal p.description {
  text-align: center;
  margin: 0px;
  color: var(--md-sys-color-on-surface-variant);
}
#lab-quota-modal p.title,
#lab-quota-one-lab-modal p.title {
  text-align: center;
  margin: 8px 0 16px 0;
  color: var(--base-text-on-surface-color);
  font: var(--md-sys-typescale-title-large);
}

#close_button {
  margin: auto 24px 24px auto;
  line-height: 24px;
}

#cancel_button {
  margin: auto 12px 24px auto;
  line-height: 24px;
}

#confirm_button {
  margin: auto 24px 24px 12px;
  line-height: 24px;
}

#lab-notification-submit {
  margin: 6px 24px 40px 12px;
  line-height: 20px;
}

#lab-notification-close-button {
  margin: 6px 12px 40px 12px;
  line-height: 20px;
}

#lab-notification-subscribed-close-button {
  margin: 8px auto 40px auto;
}

.labs.labs-index .flex-table__row .td:nth-child(2) {
  flex: 0 0 auto;
  width: 120px;
}
.labs.labs-index .flex-table__row .td:nth-child(3) {
  flex: 0 0 auto;
  width: 120px;
}

.labs.labs-new {
  background: #fafafa;
}
.labs.labs-new footer {
  display: none;
}
.labs.labs-new .form-row:not(:last-child) {
  margin-bottom: 16px;
}
.labs.labs-new .form-row > * {
  flex: 1;
}
.labs.labs-new .form-row > *:not(:last-child) {
  margin-right: 24px;
}
@media (max-width: 600px) {
  .labs.labs-new .form-row {
    flex-direction: column;
    margin-bottom: 0px !important;
  }
  .labs.labs-new .form-row > * {
    margin-right: 0px !important;
  }
  .labs.labs-new .form-row .md-input {
    margin-bottom: 16px;
  }
  .labs.labs-new .form-row:last-child .md-input:last-child {
    margin-bottom: 0px !important;
  }
}
.labs.labs-new .form-row--condensed {
  margin-bottom: 8px !important;
}
.labs.labs-new .form-row--condensed:last-child {
  margin-bottom: 0px !important;
}
@media (max-width: 600px) {
  .labs.labs-new .form-row--condensed {
    flex-direction: column;
    margin-bottom: 0px !important;
  }
  .labs.labs-new .form-row--condensed > * {
    margin-right: 0px !important;
  }
  .labs.labs-new .form-row--condensed .md-input {
    margin-bottom: 16px;
  }
  .labs.labs-new .form-row--condensed:last-child .md-input:last-child {
    margin-bottom: 0px !important;
  }
}
.labs.labs-new .alert-error {
  display: none;
}
.labs.labs-new.force-show-alerts .alert-error {
  display: block !important;
}
.labs.labs-new #error_explanation {
  background: var(--warn-color);
  border-radius: 2px;
  color: white;
  margin: 0 auto 24px auto;
  max-width: 704px;
  padding: 32px;
}
.labs.labs-new #error_explanation h2 {
  font-size: 16px;
}
.labs.labs-new #error_explanation p {
  font-size: 14px;
  margin: 0;
}
.labs.labs-new .labs__resources,
.labs.labs-new .labs__instructions {
  font-size: 16px;
  margin-bottom: 32px;
}
.labs.labs-new .labs__resources > label,
.labs.labs-new .labs__instructions > label {
  font-size: 12px !important;
  margin-bottom: 8px;
}
.labs.labs-new .labs__resources--horizontal,
.labs.labs-new .labs__instructions--horizontal {
  display: flex;
}
.labs.labs-new .labs__resources--horizontal > label,
.labs.labs-new .labs__instructions--horizontal > label {
  font-size: 16px !important;
  margin-bottom: 0;
  width: 162px;
}
.labs.labs-new .labs__resources--horizontal > div,
.labs.labs-new .labs__instructions--horizontal > div {
  flex: 1;
}
.labs.labs-new .labs__resources__new {
  background: #f2f2f2;
  border-radius: 2px;
  margin-bottom: 8px;
  padding: 8px;
}
.labs.labs-new .labs__form {
  background: white;
  margin: 0 auto 64px auto;
  max-width: 704px;
  padding: 32px;
}
@media (max-width: 600px) {
  .labs.labs-new .labs__form {
    left: 0px;
    margin: 0px;
    padding: 16px;
    position: absolute;
    top: 64px;
    width: 100%;
  }
}

.permissions-select__container {
  margin-bottom: 32px;
  position: relative;
}

.permissions-select__button {
  cursor: pointer;
}
.permissions-select__button label {
  color: #aaa;
  font-size: 12px;
  font-weight: 400;
  text-transform: none;
  transition: all 0.2s ease-in-out;
}
.permissions-select__button:focus label {
  color: var(--primary-text-on-surface-color);
}
.permissions-select__button:focus .permissions-display:before {
  border-color: var(--primary-text-on-surface-color);
}

.permissions-display {
  border: 1px solid #ddd;
  font-size: 13px;
  margin: 0px;
  min-height: 35px;
  padding: 3px 1px;
  position: relative;
}
.permissions-display:before {
  position: absolute;
  top: -1px;
  right: -1px;
  bottom: -1px;
  left: -1px;
  border: 2px solid transparent;
  content: "";
  display: block;
  transition: all 0.2s ease-in-out;
}
.permissions-display span {
  background: rgba(var(--primary-surface-color-rgb), 0.1);
  border-radius: 100px;
  display: inline-block;
  margin: 2px;
  padding: 2px 6px;
}

.permissions-select__menu {
  position: absolute;
  top: 50%;
  right: nil;
  bottom: nil;
  left: 0;
  background: #fff;
  border-radius: 2px;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  list-style: none;
  margin-top: -266px;
  opacity: 0;
  padding: 4px 0;
  transform: scale(0);
  transform-origin: 0 66%;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}
.permissions-select__menu.is-visible {
  opacity: 1;
  transform: scale(1);
  z-index: 999;
}
.permissions-select__menu.is-visible + .permissions-select__overlay {
  display: block;
}

.permissions-select__menu__item {
  align-items: center;
  cursor: pointer;
  display: flex;
  font-size: 13px;
  margin: 0 !important;
  padding: 3px 10px;
  position: relative;
}
.permissions-select__menu__item span {
  margin-right: 10px;
}
.permissions-select__menu__item i.fa {
  margin-left: auto;
}
.permissions-select__menu__item i.material-icons {
  color: var(--primary-text-on-surface-color);
  font-size: 14px;
  margin-right: 5px;
  opacity: 0;
  transform: scale(0);
  transform-origin: 50% 50%;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}
.permissions-select__menu__item.is-selected {
  font-weight: 700;
}
.permissions-select__menu__item.is-selected > i.material-icons {
  opacity: 1;
  transform: scale(1);
}
.permissions-select__menu__item:hover {
  background: #eee;
}
.permissions-select__menu__item:hover .permissions-select__submenu {
  opacity: 1;
  transform: scale(1);
  z-index: 999;
}

.permissions-select__submenu {
  position: absolute;
  top: 0 nil nil;
  right: calc(100% - 5px);
  background: #fff;
  border-radius: 2px;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  list-style: none;
  opacity: 0;
  transform: scale(0);
  transform-origin: 0 0;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 4px 0;
  will-change: transform;
}

.permissions-select__overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  z-index: 998;
}

.permissions-select__container--horizontal .permissions-select__button {
  display: flex;
}
.permissions-select__container--horizontal .permissions-select__button label {
  font-size: 16px;
  width: 162px;
}
.permissions-select__container--horizontal .permissions-select__button p {
  flex: 1;
}
.permissions-select__container--horizontal .permissions-select__menu {
  left: 162px;
}

.labs.labs-instruction .labs-instruction__edit {
  align-items: center;
  display: flex;
}
.labs.labs-instruction .labs-instruction__edit__url {
  margin-right: auto;
  width: calc(100% - 56px);
}

.labs.labs-show .classroom-templates-table .td:nth-child(2) {
  flex: 0 0 auto;
  width: 10%;
}
.labs.labs-show .classroom-templates-table .td:nth-child(3) {
  flex: 0 0 auto;
  width: 50%;
}

.lab-locales-table .td:nth-child(1) {
  flex: 0 0 auto;
  width: 125px;
}
.lab-locales-table .td:nth-child(4) {
  flex: 0 0 auto;
  width: 200px;
}
.lab-locales-table .td:nth-child(5) {
  flex: 0 0 auto;
  width: 140px;
}

.lab-instruction {
  align-items: center;
  display: flex;
}
.lab-instruction .mdl-spinner {
  height: 24px;
  position: absolute;
  width: 24px;
}

.lab-instruction-status-icon {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-right: 8px;
  width: 24px;
}

.lab-instruction__error {
  color: var(--warn-color);
  font-size: 14px;
  margin-left: 32px;
}

.learner-layout-body ql-toolbar.app-toolbar {
  background: var(--base-surface-color);
  border-bottom: 1px solid var(--hairline-color);
  padding: 0 24px;
}
.learner-layout-body ql-toolbar.app-toolbar .toolbar-tabs {
  align-items: center;
  border: none;
  display: flex;
  margin-left: 24px;
}
.learner-layout-body ql-toolbar.app-toolbar .toolbar-tabs ql-tab {
  --button-width: 112px;
}
.learner-layout-body ql-toolbar.app-toolbar .toolbar-tabs ql-tab:focus, .learner-layout-body ql-toolbar.app-toolbar .toolbar-tabs ql-tab.focus-visible {
  background-color: #1F1F1F · 10%;
}
@media (max-width: 965px) {
  .learner-layout-body ql-toolbar.app-toolbar .toolbar-tabs ql-tab {
    display: none;
  }
}
@media (max-width: 965px) {
  .learner-layout-body ql-toolbar.app-toolbar .toolbar-tabs {
    margin-left: 0;
  }
}
@media (max-width: 600px) {
  .learner-layout-body ql-toolbar.app-toolbar {
    padding: 0 16px 0 8px;
  }
}
.learner-layout-body ql-toolbar.page-toolbar {
  background: #F8F9FA;
  height: 48px;
  padding: 0 24px;
  z-index: 9;
}
.learner-layout-body ql-toolbar.page-toolbar h2 {
  color: var(--light-text-on-surface-color);
}
.learner-layout-body .page-banner {
  align-items: center;
  background: var(--md-sys-color-tertiary-container);
  color: var(--md-sys-color-on-tertiary-container);
  display: flex;
  font: var(--md-sys-typescale-title-small);
  justify-content: center;
  min-height: 40px;
  position: relative;
}
@media (max-width: 600px) {
  .learner-layout-body .page-banner {
    text-align: center;
  }
}
.learner-layout-body .page-banner .content {
  max-width: calc(100vw - 64px);
}
.learner-layout-body .page-banner a:not(:hover, :focus) {
  color: var(--md-sys-color-on-tertiary-container);
  text-decoration: underline;
}
.learner-layout-body .page-banner ql-icon-button.js-close-banner {
  position: absolute;
  right: 0;
  transform: scale(0.66);
}
.learner-layout-body .journey-bar-container {
  background: #F8F9FA;
  padding: 8px;
  position: sticky;
  z-index: 9;
}
.learner-layout-body main {
  padding: 48px;
}
@media (max-width: 600px) {
  .learner-layout-body main {
    padding: 24px 16px;
  }
}
.learner-layout-body .toolbar-navigation ql-toggle-button {
  display: none;
}
.learner-layout-body .toolbar-navigation ql-toggle-button.always-show {
  display: block;
}
@media (max-width: 965px) {
  .learner-layout-body .toolbar-navigation ql-toggle-button {
    display: block;
  }
}

body.dashboard-body {
  background-color: var(--md-sys-color-surface-container);
}

.learner-profile-dashboard-wrapper {
  align-items: flex-start;
  display: grid;
  gap: 40px;
  grid-template-columns: minmax(670px, 1400px) minmax(395px, 500px);
  justify-content: center;
  margin: 0 auto 48px auto;
  max-width: 1600px;
  /**
   * Base components
   */
  /*
   * Misc component styling
   */
  /*
   * Up next section
   */
  /*
   * Stay on track section
   */
  /*
   * Featured section
   */
  /*
   * Your progress section
   */
  /*
   * League section
   */
}
@media (max-width: 1263px) {
  .learner-profile-dashboard-wrapper {
    display: flex;
    flex-direction: column;
    gap: 32px;
  }
  .learner-profile-dashboard-wrapper .dashboard__section.up-next {
    /* Correcting unexpected larger gap with negative margin-bottom. */
    margin-bottom: -32px;
    order: 0;
  }
  .learner-profile-dashboard-wrapper .dashboard__section.streaks {
    order: 1;
  }
  .learner-profile-dashboard-wrapper .dashboard__section.achievements {
    order: 2;
  }
  .learner-profile-dashboard-wrapper .dashboard__section.in-progress {
    order: 3;
  }
  .learner-profile-dashboard-wrapper .dashboard__section.featured-section {
    order: 4;
  }
  .learner-profile-dashboard-wrapper .dashboard__section.your-progress-section {
    order: 5;
  }
  .learner-profile-dashboard-wrapper .dashboard__section.league {
    order: 6;
  }
  .learner-profile-dashboard-wrapper .dashboard__section.leaderboard__section {
    order: 7;
  }
}
.learner-profile-dashboard-wrapper .leaderboard__section .ql-headline-small {
  margin-bottom: 20px;
}
.learner-profile-dashboard-wrapper .leaderboard__section .leaderboard-separator {
  display: flex;
  justify-content: center;
}
.learner-profile-dashboard-wrapper .leaderboard__section .leaderboard-separator ql-icon {
  color: var(--md-sys-color-outline-variant);
}
.learner-profile-dashboard-wrapper .dashboard__column {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media (max-width: 1263px) {
  .learner-profile-dashboard-wrapper .dashboard__column {
    display: contents;
  }
}
.learner-profile-dashboard-wrapper .dashboard__section {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.learner-profile-dashboard-wrapper .dashboard__card {
  background: var(--base-surface-color);
  border-radius: 32px;
  padding: 24px;
}
.learner-profile-dashboard-wrapper .dashboard__card:has(ql-tab-group), .learner-profile-dashboard-wrapper .dashboard__card:is(ql-tab-group) {
  padding-top: 16px;
}
.learner-profile-dashboard-wrapper ql-activity-card {
  height: 320px;
  width: 100%;
  /* TODO: Fix after launch */
}
.learner-profile-dashboard-wrapper ql-activity-card[relaunch_extra] {
  height: auto;
}
.learner-profile-dashboard-wrapper .card-grid, .learner-profile-dashboard-wrapper .featured-section .featured-cards, .learner-profile-dashboard-wrapper .in-progress__content-cards, .learner-profile-dashboard-wrapper .up-next__content-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 16px;
  justify-items: center;
}
@media (max-width: 1263px) {
  .learner-profile-dashboard-wrapper .card-grid, .learner-profile-dashboard-wrapper .featured-section .featured-cards, .learner-profile-dashboard-wrapper .in-progress__content-cards, .learner-profile-dashboard-wrapper .up-next__content-cards {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
  }
}
.learner-profile-dashboard-wrapper .up-next__no-content {
  display: flex;
  gap: 24px;
  justify-content: center;
}
@media (max-width: 600px) {
  .learner-profile-dashboard-wrapper .up-next__no-content {
    flex-direction: column;
    align-items: center;
  }
}
.learner-profile-dashboard-wrapper .up-next__no-content-msg {
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-content: space-between;
}
.learner-profile-dashboard-wrapper .up-next__no-content-msg__text {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.learner-profile-dashboard-wrapper .up-next__no-content-msg ql-button {
  align-self: flex-start;
}
@media (max-width: 600px) {
  .learner-profile-dashboard-wrapper .up-next__no-content-msg ql-button {
    align-self: inherit;
  }
}
.learner-profile-dashboard-wrapper .up-next__classroom-breadcrumbs {
  color: var(--md-sys-color-surface-tint);
  font-weight: 700;
}
.learner-profile-dashboard-wrapper .up-next__content {
  display: flex;
  gap: 40px;
}
.learner-profile-dashboard-wrapper .up-next__content > a {
  display: flex;
  align-items: center;
}
@media (max-width: 600px) {
  .learner-profile-dashboard-wrapper .up-next__content {
    align-items: center;
    flex-direction: column;
  }
}
.learner-profile-dashboard-wrapper .up-next__details {
  display: flex;
  flex: 1;
  flex-direction: column;
  width: 100%;
  min-width: 300px;
}
.learner-profile-dashboard-wrapper .up-next__details h2 {
  font-weight: 500;
  text-wrap: auto;
}
.learner-profile-dashboard-wrapper .up-next__details-separator {
  margin: auto 0;
}
.learner-profile-dashboard-wrapper .up-next__footer {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 16px 0;
}
.learner-profile-dashboard-wrapper .up-next__footer div {
  align-items: center;
  color: #5F6368;
  display: flex;
  gap: 12px;
}
.learner-profile-dashboard-wrapper .up-next__footer .classroom-footer {
  display: flex;
  gap: 8px;
}
@media (max-width: 1263px) {
  .learner-profile-dashboard-wrapper .up-next__footer {
    gap: 8px;
  }
}
.learner-profile-dashboard-wrapper .up-next .breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  gap: 4px;
  padding-left: 0;
  margin-top: 0;
}
.learner-profile-dashboard-wrapper .up-next .breadcrumbs ol li {
  display: flex;
  gap: 4px;
  overflow: hidden;
}
.learner-profile-dashboard-wrapper .up-next .breadcrumbs ol li a {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.learner-profile-dashboard-wrapper .up-next .breadcrumbs > a {
  display: inline-block;
  max-width: 300px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.learner-profile-dashboard-wrapper .up-next img {
  min-height: 182px;
  max-height: 280px;
  max-width: 360px;
  width: 100%;
}
.learner-profile-dashboard-wrapper .in-progress__content {
  align-content: center;
  min-height: 220px;
}
.learner-profile-dashboard-wrapper .in-progress__content-footer {
  display: flex;
  justify-content: flex-start;
  margin-top: 16px;
}
.learner-profile-dashboard-wrapper .in-progress__no-content {
  display: flex;
  gap: 24px;
  justify-content: center;
}
@media (max-width: 600px) {
  .learner-profile-dashboard-wrapper .in-progress__no-content {
    align-items: center;
    flex-direction: column;
  }
}
.learner-profile-dashboard-wrapper .in-progress__no-content .no-assignment-img img {
  max-height: 234px;
}
.learner-profile-dashboard-wrapper .in-progress__no-content-msg {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 450px;
}
.learner-profile-dashboard-wrapper .in-progress__no-content-msg h2 {
  font-weight: 500;
}
.learner-profile-dashboard-wrapper .in-progress__no-content-msg span {
  color: #5F6368;
}
@media (max-width: 600px) {
  .learner-profile-dashboard-wrapper .in-progress__no-content-msg {
    align-items: center;
    text-align: center;
  }
}
.learner-profile-dashboard-wrapper .in-progress__no-content-msg__text {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.learner-profile-dashboard-wrapper .in-progress__footer {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 16px 0 0;
}
.learner-profile-dashboard-wrapper .in-progress__footer div {
  align-items: center;
  color: #5F6368;
  display: flex;
  gap: 12px;
}
.learner-profile-dashboard-wrapper .in-progress__footer .classroom-footer {
  display: flex;
  gap: 8px;
}
@media (max-width: 1263px) {
  .learner-profile-dashboard-wrapper .in-progress__footer {
    align-items: start;
    flex-direction: column;
    gap: 8px;
  }
}
.learner-profile-dashboard-wrapper .in-progress__classroom {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.learner-profile-dashboard-wrapper .in-progress__classroom .thumbnail {
  max-height: 280px;
  max-width: 100%;
}
.learner-profile-dashboard-wrapper .in-progress__classroom-breadcrumbs {
  color: var(--md-sys-color-surface-tint);
  font-weight: 700;
}
.learner-profile-dashboard-wrapper .in-progress__details {
  display: flex;
  flex: 1;
  flex-direction: column;
}
.learner-profile-dashboard-wrapper .in-progress__details h2 {
  font-weight: 500;
  text-wrap: auto;
}
.learner-profile-dashboard-wrapper .in-progress__details-separator {
  margin: auto 0;
}
.learner-profile-dashboard-wrapper .in-progress ql-tab-group {
  background: none;
}
.learner-profile-dashboard-wrapper .your-progress-section .dashboard__card {
  display: flex;
  flex-direction: column;
}
.learner-profile-dashboard-wrapper .your-progress-section__activities.relaunch {
  gap: 0;
}
.learner-profile-dashboard-wrapper .your-progress-section__activities, .learner-profile-dashboard-wrapper .your-progress-section__awards {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.learner-profile-dashboard-wrapper .your-progress-section__activities__headers, .learner-profile-dashboard-wrapper .your-progress-section__awards__headers {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.learner-profile-dashboard-wrapper .your-progress-section ql-pill-chart {
  margin-bottom: -16px;
}
.learner-profile-dashboard-wrapper .your-progress-section ql-pill-chart.relaunch {
  margin-bottom: 24px;
}
.learner-profile-dashboard-wrapper .your-progress-section__badges {
  display: flex;
  gap: 8px;
}
.learner-profile-dashboard-wrapper .your-progress-section__badges img {
  width: 60px;
}
.learner-profile-dashboard-wrapper .your-progress-section ql-body-large {
  color: #5F6368;
}
.learner-profile-dashboard-wrapper .your-progress-section__badge-label-count {
  align-items: center;
  display: flex;
  font: var(--md-sys-typescale-body-medium);
  font-weight: bold;
  justify-content: space-between;
}
.learner-profile-dashboard-wrapper .your-progress-section__badge-label-count .badge-count {
  text-align: left;
}
.learner-profile-dashboard-wrapper .your-progress-section__badge-label-count .badge-label {
  align-items: center;
  display: flex;
  gap: 12px;
}
.learner-profile-dashboard-wrapper .your-progress-section__badge-label-count .badge-label::first-letter {
  text-transform: uppercase;
}
.learner-profile-dashboard-wrapper .your-progress-section__badge-label-count ql-icon {
  color: #006788;
}
.learner-profile-dashboard-wrapper .league-section {
  background: white;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.learner-profile-dashboard-wrapper .league-section__main-content {
  color: #5F6368;
  display: flex;
  gap: 16px;
  margin: 0 24px;
}
.learner-profile-dashboard-wrapper .league-section__main-content h3 {
  font-weight: 700;
}
.learner-profile-dashboard-wrapper .league-section__info {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.learner-profile-dashboard-wrapper .league-section__footer {
  align-items: center;
  display: flex;
  justify-content: space-between;
}
.learner-profile-dashboard-wrapper .league-section img {
  -webkit-box-reflect: below -8px linear-gradient(to bottom, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0.6));
}
.learner-profile-dashboard-wrapper ql-activity-card {
  --card-border-radius: 32px;
}

ql-tab-group {
  --group-badge-color: #B3261E;
  --group-badge-font-family: var(--md-sys-typescale-label-small-font);
  --group-badge-font-size: 11px;
  --group-badge-font-weight: 500;
  --group-badge-line-height: 16px;
  --group-badge-width: 16px;
  --group-badge-height: 16px;
}
ql-tab-group::part(tabs-container) {
  justify-content: flex-start;
  margin-left: 24px;
}
ql-tab-group::part(tab-0), ql-tab-group::part(tab-1), ql-tab-group::part(tab-2), ql-tab-group::part(tab-3), ql-tab-group::part(tab-4), ql-tab-group::part(tab-5), ql-tab-group::part(tab-6), ql-tab-group::part(tab-7), ql-tab-group::part(tab-8), ql-tab-group::part(tab-9) {
  width: auto;
}

.dashboard__section.in-progress ql-tab-group::part(tab-0), .dashboard__section.in-progress ql-tab-group::part(tab-1), .dashboard__section.in-progress ql-tab-group::part(tab-2), .dashboard__section.in-progress ql-tab-group::part(tab-3), .dashboard__section.in-progress ql-tab-group::part(tab-4), .dashboard__section.in-progress ql-tab-group::part(tab-5), .dashboard__section.in-progress ql-tab-group::part(tab-6), .dashboard__section.in-progress ql-tab-group::part(tab-7), .dashboard__section.in-progress ql-tab-group::part(tab-8), .dashboard__section.in-progress ql-tab-group::part(tab-9) {
  width: 140px;
}

#learner-profile-modal {
  --dialog-body-padding: 0px;
  --dialog-border-radius: 32px;
  --dialog-color: #E9EEF6;
  --dialog-icon-color: #00639B;
  --dialog-text-color: #444746;
  --dialog-width: 450px;
}
#learner-profile-modal .body_description {
  margin: 16px 24px 24px 24px;
}
#learner-profile-modal .carousel {
  background-color: #DDE3EA;
  display: flex;
  justify-content: center;
  max-height: 248px;
  padding: 24px 24px 0 24px;
  width: 100%;
}
#learner-profile-modal .carousel img.wide {
  max-width: 382px;
}
#learner-profile-modal .carousel img.short {
  max-width: 250px;
}

.learner-profile-account-menu {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 320px;
  overflow: auto;
  padding: 24px 16px 16px;
  text-align: center;
  width: fit-content;
}
.learner-profile-account-menu__profile {
  border-bottom: 1px solid var(--hairline-color);
  display: flex;
  gap: 16px;
  padding-bottom: 12px;
}
.learner-profile-account-menu__metadata {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
}
.learner-profile-account-menu__metadata ql-chip {
  --chip-color: var(--md-sys-color-secondary-fixed);
  --chip-border-color: none;
}
.learner-profile-account-menu__metadata ql-chip.relaunch {
  --chip-color: #F7ECFE;
  --chip-text-color: #7438D2;
}
.learner-profile-account-menu__metadata ql-chip.gwg {
  --chip-color: #E0F4FF;
  --chip-text-color: #004D68;
}
.learner-profile-account-menu__metadata ql-chip.innovator {
  --chip-color: #E9EEF6;
}
.learner-profile-account-menu__metadata ql-chip.monthly {
  --chip-color: #FFFADE;
  --chip-text-color: #8F4E06;
}
.learner-profile-account-menu__metadata ql-chip.annual {
  --chip-color: #F7ECFE;
  --chip-text-color: #7438D2;
}
.learner-profile-account-menu__credits {
  display: flex;
}
.learner-profile-account-menu__groups {
  text-align: left;
}
.learner-profile-account-menu__groups:first-of-type {
  padding-top: 12px;
}
.learner-profile-account-menu__groups:last-of-type {
  border-bottom: 1px solid var(--hairline-color);
  padding-bottom: 16px;
}
.learner-profile-account-menu__options {
  display: flex;
  flex-direction: column;
  padding: 16px 0;
}
.learner-profile-account-menu__footer {
  display: flex;
}
@media (max-width: 425px) {
  .learner-profile-account-menu {
    min-width: unset;
    padding-top: 16px;
    width: 300px;
  }
}

#gamification-announcement-modal {
  --dialog-color: var(--md-sys-color--surface-container-high, #E9EEF6);
  margin: 16px;
}
#gamification-announcement-modal .page {
  padding: 24px;
}
#gamification-announcement-modal .page .ql-headline-small {
  margin-bottom: 16px;
}
#gamification-announcement-modal .page p.ql-body-large {
  margin-bottom: 0px;
}
#gamification-announcement-modal .page video {
  border-radius: var(--md-sys-shape--corner-value-extra-large, 28px);
  margin-bottom: 16px;
  width: 100%;
}

.learning-plan-activity {
  display: flex;
}
.learning-plan-activity .learning-plan-outline {
  border-right: 1px solid var(--hairline-color);
  min-width: 240px;
}
@media (max-width: 600px) {
  .learning-plan-activity .learning-plan-outline {
    display: none;
  }
}
.learning-plan-activity .learning-plan-outline .outline-header {
  border-bottom: 1px solid var(--hairline-color);
  padding: 12px;
}
.learning-plan-activity .breadcrumbs {
  align-items: center;
  display: flex;
  margin: 8px;
}

.learning-plans-body .learning-plans-grid {
  display: grid;
  gap: 24px;
  grid-auto-rows: 1fr;
  grid-template-columns: repeat(auto-fit, minmax(auto, 360px));
  padding: 0;
}
.learning-plans-body .learning-plans-grid ql-activity-card {
  width: 100%;
}
@media (max-width: 600px) {
  .learning-plans-body .learning-plans-grid {
    justify-content: center;
    justify-items: center;
  }
}
.learning-plans-body .learning-plans-wrapper {
  margin: 0 auto;
  max-width: 1280px;
  padding: 0 72px;
}
@media (max-width: 600px) {
  .learning-plans-body .learning-plans-wrapper {
    padding: 0;
  }
}
.learning-plans-body .learning-plans-wrapper .learning-plans-search {
  width: 100%;
}
.learning-plans-body .learning-plans-wrapper .learning-plans-search md-outlined-text-field[type=search] {
  background: url("/assets/search_icon_gray700-69437a87d08aa8b6bbc535e02d84f13dd798bac6.svg") no-repeat 16px center;
  padding-left: 50px;
  margin-bottom: 60px;
}
.learning-plans-body .learning-plans-wrapper .learning-plans-intro__headline {
  display: flex;
  gap: 64px;
  margin-bottom: 120px;
}
.learning-plans-body .learning-plans-wrapper .learning-plans-intro__headline__headers {
  display: flex;
  flex-direction: column;
  gap: 48px;
  justify-content: center;
}
@media (max-width: 965px) {
  .learning-plans-body .learning-plans-wrapper .learning-plans-intro__headline__headers {
    gap: 24px;
    text-align: center;
  }
}
.learning-plans-body .learning-plans-wrapper .learning-plans-intro__headline img {
  width: 400px;
}
@media (max-width: 965px) {
  .learning-plans-body .learning-plans-wrapper .learning-plans-intro__headline img {
    width: 300px;
  }
}
.learning-plans-body .learning-plans-wrapper .learning-plans-intro__headline__organization {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin: 0 auto;
  max-width: 640px;
  text-align: center;
}
.learning-plans-body .learning-plans-wrapper .learning-plans-intro__headline__organization img {
  width: initial;
}
@media (max-width: 965px) {
  .learning-plans-body .learning-plans-wrapper .learning-plans-intro__headline {
    align-items: center;
    flex-direction: column;
    gap: 24px;
  }
}
.learning-plans-body .learning-plans-wrapper .learning-plans-intro__select {
  margin: 0 0 48px;
  max-width: 680px;
}
@media (max-width: 600px) {
  .learning-plans-body .learning-plans-wrapper .learning-plans-intro__select {
    margin: 24px 0;
    text-align: center;
  }
}
.learning-plans-body .learning-plans-wrapper .learning-plans-intro__select p {
  color: var(--light-text-on-surface-color);
  margin-top: 24px;
}
.learning-plans-body .learning-wrapper {
  margin: 0 auto;
  max-width: 1280px;
}
.learning-plans-body .learning-wrapper .top-matter {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 40px;
  max-width: 720px;
}
@media (max-width: 600px) {
  .learning-plans-body .learning-wrapper .top-matter {
    align-items: center;
    gap: 20px;
    text-align: center;
  }
}
.learning-plans-body .learning-wrapper .top-matter .learning-plan-title {
  font: var(--md-sys-typescale-display-large);
}
@media (max-width: 600px) {
  .learning-plans-body .learning-wrapper .top-matter .learning-plan-title {
    font: var(--md-sys-typescale-headline-large);
  }
}
.learning-plans-body .learning-wrapper .top-matter .back-button {
  display: block;
}
.learning-plans-body .learning-wrapper .top-matter img.learning-plan-logo {
  height: 24px;
  margin-bottom: 16px;
}
.learning-plans-body .learning-wrapper .top-matter .learning-plan-details {
  display: flex;
  gap: 32px;
}
@media (max-width: 600px) {
  .learning-plans-body .learning-wrapper .top-matter .learning-plan-details {
    align-items: center;
    gap: 10px;
    justify-content: space-around;
    flex-direction: column;
  }
}
.learning-plans-body .learning-wrapper .top-matter .learning-plan-details .detail {
  align-items: center;
  display: flex;
  gap: 8px;
  line-height: 20px;
}
.learning-plans-body .learning-wrapper .top-matter .progress {
  width: 100%;
}
.learning-plans-body .learning-wrapper .top-matter .progress ql-progress-bar {
  margin-bottom: 4px;
}
.learning-plans-body .learning-wrapper .top-matter .learning-plan-completed {
  color: var(--success-color);
  display: flex;
  font-weight: 500;
  gap: 8px;
}
.learning-plans-body .learning-wrapper .activities {
  margin-top: 80px;
}
.learning-plans-body .learning-wrapper .activities .grid {
  display: grid;
  gap: 24px;
  grid-auto-rows: minmax(300px, auto);
  grid-template-columns: repeat(auto-fit, minmax(auto, 400px));
  padding: 0;
}
@media (max-width: 600px) {
  .learning-plans-body .learning-wrapper .activities .grid {
    justify-content: center;
    justify-items: center;
  }
  .learning-plans-body .learning-wrapper .activities .grid ql-card {
    width: 100%;
  }
}
.learning-plans-body .learning-wrapper .activities .grid .activity-card {
  align-items: flex-start;
  display: grid;
  height: 100%;
  width: 100%;
}
.learning-plans-body .learning-wrapper .activities .grid .activity-card img.badge {
  height: 222px;
  object-fit: contain;
  width: 100%;
}
.learning-plans-body .learning-wrapper .activities .grid .activity-card .content {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 24px;
  word-break: break-word;
}
.learning-plans-body .learning-wrapper .activities .grid .activity-card .content ql-progress-bar {
  width: 100%;
}
.learning-plans-body .learning-wrapper .activities .grid .activity-card .content a.activity-link {
  align-self: center;
}
.learning-plans-body .learning-wrapper .activities .grid .activity-card .content .top_section {
  min-height: 222px;
}
.learning-plans-body .learning-wrapper .activities .grid .activity-card .content .top_section .badge_survey {
  color: var(--base-text-on-surface-color);
  margin: 59px 0 24px 0;
}
.learning-plans-body .learning-wrapper .activities .grid .activity-card .content .top_section .ql-headline-3 {
  font-weight: bold;
}
.learning-plans-body .learning-wrapper .activities .grid .activity-card .content .title {
  display: flex;
  gap: 8px;
}
.learning-plans-body .learning-wrapper .activities .grid .activity-card .content .title span:first-child {
  color: var(--medium-text-on-surface-color);
  word-break: keep-all;
}
.learning-plans-body .learning-wrapper .activities .grid .activity-card .content .title span:first-child.badge_survey {
  color: inherit;
}
@media not (max-width: 600px) {
  .learning-plans-body .learning-wrapper .activities .grid .activity-card .content .activity-details {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: space-between;
  }
}
@media (max-width: 600px) {
  .learning-plans-body .learning-wrapper .activities .grid .activity-card .content .activity-details {
    display: grid;
    gap: 8px 24px;
    grid-template-columns: repeat(2, 1fr);
    width: 100%;
  }
}
.learning-plans-body .learning-wrapper .activities .grid .activity-card .content .activity-details .detail {
  align-items: center;
  display: flex;
  gap: 4px;
  line-height: 20px;
}
.learning-plans-body .learning-wrapper .activities .grid .activity-card .content .progress {
  width: 100%;
}
.learning-plans-body .learning-wrapper .activities .grid .activity-card .content .progress ql-progress-bar {
  margin-bottom: 2px;
}
.learning-plans-body .learning-wrapper .activities .grid .activity-card .content img.thumbnail {
  width: 100%;
}
.learning-plans-body .learning-wrapper .activities .grid .activity-card .buttons {
  align-self: end;
  display: flex;
  gap: 24px;
}
.learning-plans-body .learning-wrapper .activities .grid .activity-card .buttons ql-button.completed {
  --button-color: var(--success-color);
}
.learning-plans-body .learning-wrapper .activities .grid .completed-icon {
  align-self: center;
  color: var(--success-color);
}
.learning-plans-body .learning-plan-dashboard-wrapper {
  margin: 0 auto;
  max-width: 1280px;
}
.learning-plans-body .learning-plan-dashboard-wrapper .header-hero {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin-bottom: 32px;
}
.learning-plans-body .learning-plan-dashboard-wrapper .header-hero img {
  width: 100%;
}
.learning-plans-body .learning-plan-dashboard-wrapper .header-hero ql-avatar {
  border-radius: 50%;
  border: 4px solid var(--base-surface-color);
  margin-bottom: 4px;
  margin-top: -144px;
}
@media (max-width: 600px) {
  .learning-plans-body .learning-plan-dashboard-wrapper .header-hero ql-avatar {
    display: none;
  }
}
.learning-plans-body .learning-plan-dashboard-wrapper .no-activity {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.learning-plans-body .learning-plan-dashboard-wrapper .no-activity__header {
  max-width: 560px;
  text-align: center;
}
.learning-plans-body .learning-plan-dashboard-wrapper .no-activity__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  justify-content: center;
}
.learning-plans-body .learning-plan-dashboard-wrapper .no-activity .learning-plans-grid {
  justify-content: center;
  width: 100%;
}
.learning-plans-body .learning-plan-dashboard-wrapper .up-next img {
  max-width: 360px;
  width: 100%;
}
.learning-plans-body .learning-plan-dashboard-wrapper .up-next .activity {
  margin-top: 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
.learning-plans-body .learning-plan-dashboard-wrapper .up-next .activity .content {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
}
.learning-plans-body .learning-plan-dashboard-wrapper .up-next .activity .content :not(:first-child, :last-child) {
  margin-bottom: 16px;
}
.learning-plans-body .learning-plan-dashboard-wrapper .up-next .activity .content .breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.learning-plans-body .learning-plan-dashboard-wrapper .up-next .activity .content .breadcrumbs > a {
  display: inline-block;
  max-width: 300px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.learning-plans-body .learning-plan-dashboard-wrapper .up-next .activity .details {
  display: flex;
  gap: 35px;
}
.learning-plans-body .learning-plan-dashboard-wrapper .up-next .activity .details .detail {
  align-items: center;
  display: flex;
  gap: 4px;
  line-height: 20px;
  margin: 0;
}
.learning-plans-body .learning-plan-dashboard-wrapper .current-learning-plan {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin-top: 64px;
  width: 720px;
}
.learning-plans-body .learning-plan-dashboard-wrapper .current-learning-plan .title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.learning-plans-body .learning-plan-dashboard-wrapper .current-learning-plan .title h1 {
  color: var(--light-text-on-surface-color);
}
.learning-plans-body .learning-plan-dashboard-wrapper .my-activity {
  display: flex;
  flex-direction: column;
  gap: 10px;
  display: grid;
  gap: 24px;
  grid-auto-rows: 1fr;
  grid-template-columns: repeat(auto-fit, minmax(auto, 360px));
  padding: 0;
}
.learning-plans-body .learning-plan-dashboard-wrapper .my-activity ql-activity-card {
  width: 100%;
}
@media (max-width: 600px) {
  .learning-plans-body .learning-plan-dashboard-wrapper .my-activity {
    justify-content: center;
    justify-items: center;
  }
}
.learning-plans-body .learning-plan-dashboard-wrapper .my-activity-section {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 20px;
}
.learning-plans-body .learning-plan-dashboard-wrapper .my-activity-section h2 {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
  margin-top: 20px;
}
.learning-plans-body .learning-plan-dashboard-wrapper .my-activity .activities {
  display: inline-flex;
  gap: 24px;
}
.learning-plans-body .in-progress-cards,
.learning-plans-body .upcoming-cards,
.learning-plans-body .favorite-cards {
  margin-top: 32px;
}
.learning-plans-body .in-progress-cards > h2,
.learning-plans-body .upcoming-cards > h2,
.learning-plans-body .favorite-cards > h2 {
  margin-bottom: 24px;
}
.learning-plans-body .in-progress-cards .activity-cards,
.learning-plans-body .upcoming-cards .activity-cards,
.learning-plans-body .favorite-cards .activity-cards {
  display: grid;
  gap: 24px;
  grid-auto-rows: 1fr;
  grid-template-columns: repeat(auto-fit, minmax(auto, 360px));
  padding: 0;
}
.learning-plans-body .in-progress-cards .activity-cards ql-activity-card,
.learning-plans-body .upcoming-cards .activity-cards ql-activity-card,
.learning-plans-body .favorite-cards .activity-cards ql-activity-card {
  width: 100%;
}
@media (max-width: 600px) {
  .learning-plans-body .in-progress-cards .activity-cards,
  .learning-plans-body .upcoming-cards .activity-cards,
  .learning-plans-body .favorite-cards .activity-cards {
    justify-content: center;
    justify-items: center;
  }
}
@media (max-width: 600px) {
  .learning-plans-body .in-progress-cards .activity-cards,
  .learning-plans-body .upcoming-cards .activity-cards,
  .learning-plans-body .favorite-cards .activity-cards {
    justify-content: left;
  }
}

.learning-plans-body.relaunch main {
  background: var(--md-sys-color-surface-container);
  overflow: hidden;
  padding: 48px;
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch main {
    padding: 24px 16px;
  }
}
.learning-plans-body.relaunch ql-menu.social-share-menu::part(body) {
  overflow: visible;
}
.learning-plans-body.relaunch .paths-shape-bottom, .learning-plans-body.relaunch .paths-shape-middle, .learning-plans-body.relaunch .paths-shape-top {
  position: absolute;
  z-index: 0;
}
.learning-plans-body.relaunch .paths-shape-top {
  right: 0;
  top: 0;
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch .paths-shape-top {
    height: 65vw;
    width: 65vw;
  }
}
.learning-plans-body.relaunch .paths-shape-middle {
  left: 0;
  top: 1008px;
}
@media (max-width: 965px) {
  .learning-plans-body.relaunch .paths-shape-middle {
    left: unset;
    right: 50vw;
    top: 880px;
  }
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch .paths-shape-middle {
    left: unset;
    right: 170px;
    top: 870px;
  }
}
@media (width <= 456px) {
  .learning-plans-body.relaunch .paths-shape-middle {
    right: 70px;
    top: 1050px;
    width: 90vw;
  }
}
@media (width <= 353px) {
  .learning-plans-body.relaunch .paths-shape-middle {
    top: 1140px;
  }
}
.learning-plans-body.relaunch .paths-shape-bottom {
  right: 0;
  top: 1658px;
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch .paths-shape-bottom {
    left: 60%;
    top: calc(2100px - 50vw);
    width: 60vw;
  }
}
@media (width <= 353px) {
  .learning-plans-body.relaunch .paths-shape-bottom {
    top: calc(2300px - 50vw);
  }
}
.learning-plans-body.relaunch .paths-wrapper {
  margin: 0 auto;
  max-width: 1120px;
}
.learning-plans-body.relaunch .paths-intro, .learning-plans-body.relaunch .learning-paths-grid {
  margin-top: 32px;
  padding: 0 80px;
}
@media (max-width: 965px) {
  .learning-plans-body.relaunch .paths-intro, .learning-plans-body.relaunch .learning-paths-grid {
    padding: 0 24px;
  }
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch .paths-intro, .learning-plans-body.relaunch .learning-paths-grid {
    padding: 0 12px;
  }
}
.learning-plans-body.relaunch .paths-intro, .learning-plans-body.relaunch .paths-categories, .learning-plans-body.relaunch .paths-list, .learning-plans-body.relaunch .explore, .learning-plans-body.relaunch .media, .learning-plans-body.relaunch .credentials, .learning-plans-body.relaunch .continue {
  position: relative;
  z-index: 100;
}
.learning-plans-body.relaunch .paths-intro {
  align-items: center;
  display: flex;
  flex-direction: column;
  text-align: center;
}
.learning-plans-body.relaunch .paths-headline {
  color: var(--md-sys-color-on-surface);
  font-family: var(--Static-Display-Large-Font, "Google Sans");
  font-size: var(--Static-Display-Large-Size, 57px);
  font-style: normal;
  font-weight: 500;
  letter-spacing: var(--Static-Display-Large-Tracking, 0px);
  line-height: var(--Static-Display-Large-Line-Height, 64px); /* 112.281% */
  margin-bottom: 16px;
}
.learning-plans-body.relaunch .paths-headline strong {
  background-image: linear-gradient(90deg, #4385F4 47%, #7A7ADB 60%, #AA70B6 63%, #D96671 72%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 500;
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch .paths-headline strong {
    background-image: linear-gradient(90deg, #7A7ADB 0%, #D96671 10%, #D96671 43.1%, #4385F4 41%, #4385F4 96%, #AA70B6 100%);
  }
}
.learning-plans-body.relaunch .paths-description {
  margin-bottom: 24px;
}
.learning-plans-body.relaunch .paths-categories {
  align-content: flex-start;
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin: 24px 0;
  padding: 0;
}
.learning-plans-body.relaunch .paths-categories a {
  max-width: 160px;
  min-width: 88px;
}
.learning-plans-body.relaunch .paths-categories:hover, .learning-plans-body.relaunch .paths-categories a, .learning-plans-body.relaunch .paths-categories a.link, .learning-plans-body.relaunch .paths-categories a:hover, .learning-plans-body.relaunch .paths-categories a.link:hover {
  text-decoration: none;
}
.learning-plans-body.relaunch .paths-categories .category-block {
  align-content: center;
  align-items: center;
  color: var(--md-sys-color-on-surface-variant);
  cursor: pointer;
  display: flex;
  flex: 0 0 94px;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 4px;
  justify-content: center;
}
.learning-plans-body.relaunch .paths-categories .category-block .category-icon {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 56px;
  padding: 4px 0px;
}
.learning-plans-body.relaunch .paths-categories .category-block .category-icon:hover, .learning-plans-body.relaunch .paths-categories .category-block .category-icon:focus {
  background: var(--md-state-layers-on-surface-color-on-surface-8, rgba(31, 31, 31, 0.08));
  border-radius: 16px;
}
.learning-plans-body.relaunch .paths-categories .category-block .category-title {
  align-items: center;
  display: flex;
  min-width: 100px;
  max-width: 160px;
  flex-direction: column;
  font-size: var(--md-sys-typescale-label-medium-size, 12px);
  font-weight: 500;
  justify-content: center;
  text-align: center;
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch .paths-categories .category-block .category-title {
    min-width: 0;
    max-width: 100px;
  }
}
.learning-plans-body.relaunch .paths-categories .category-block.active {
  color: var(--md-sys-color-on-secondary-container);
}
.learning-plans-body.relaunch .paths-categories .category-block.active .category-icon {
  background: var(--md-sys-color-secondary-container);
  border-radius: 16px;
  font-variation-settings: "FILL" 1;
}
.learning-plans-body.relaunch .paths-categories .category-block.active .category-title {
  color: var(--md-sys-color-secondary);
  font-weight: 500;
}
.learning-plans-body.relaunch .paths-list {
  padding: 0 80px;
}
@media (max-width: 965px) {
  .learning-plans-body.relaunch .paths-list {
    padding: 0 8px;
  }
}
.learning-plans-body.relaunch .paths-list .learning-plans-grid {
  display: grid;
  gap: 20px;
  grid-auto-rows: 320px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  justify-content: center;
  padding: 0;
}
@media (max-width: 768px) {
  .learning-plans-body.relaunch .paths-list .learning-plans-grid {
    display: flex;
    gap: 0;
    justify-content: flex-start;
    margin: 0 -56px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
  }
  .learning-plans-body.relaunch .paths-list .learning-plans-grid ql-activity-card {
    flex-shrink: 0;
    height: 320px;
    margin-right: 0;
    padding-left: 20px;
    scroll-snap-align: start;
    width: 300px;
    /* TODO: Fix after launch */
  }
  .learning-plans-body.relaunch .paths-list .learning-plans-grid ql-activity-card:first-child {
    padding-left: 48px;
  }
  .learning-plans-body.relaunch .paths-list .learning-plans-grid ql-activity-card:last-child {
    margin-right: 56px;
  }
  .learning-plans-body.relaunch .paths-list .learning-plans-grid ql-activity-card[relaunch_extra] {
    height: auto;
  }
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch .paths-list .learning-plans-grid {
    margin: 0 -24px;
  }
  .learning-plans-body.relaunch .paths-list .learning-plans-grid ql-activity-card:first-child {
    padding-left: 24px;
  }
  .learning-plans-body.relaunch .paths-list .learning-plans-grid ql-activity-card:last-child {
    margin-right: 24px;
  }
}
.learning-plans-body.relaunch .explore {
  display: flex;
  justify-content: center;
  margin: 32px auto 24px;
  padding: 0;
}
.learning-plans-body.relaunch .media {
  padding: 80px 0;
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch .media {
    padding: 80px 12px;
  }
}
.learning-plans-body.relaunch .media .media-msg-body {
  align-items: center;
  display: flex;
  gap: 32px;
}
@media (max-width: 965px) {
  .learning-plans-body.relaunch .media .media-msg-body {
    flex-direction: column-reverse;
    align-items: stretch;
  }
}
.learning-plans-body.relaunch .media h2.ql-display-large {
  font-size: 45px;
  line-height: var(--md-sys-typescale-display-medium-line-height, 52px);
  margin-bottom: 16px;
}
.learning-plans-body.relaunch .media span.ql-body-large {
  margin-bottom: 32px;
}
.learning-plans-body.relaunch .media .media-msg-text {
  display: flex;
  flex-direction: column;
  flex: 2;
  max-width: 550px;
  text-align: left;
}
.learning-plans-body.relaunch .media .media-msg-text .ql-display-medium {
  margin-bottom: 16px;
}
.learning-plans-body.relaunch .media .media-msg-thumbnail {
  display: grid;
  grid-template-columns: auto auto auto;
  grid-template-rows: auto auto auto;
  flex: 3;
}
.learning-plans-body.relaunch .media .media-msg-thumbnail img {
  border-radius: 16px;
  display: grid;
  grid-column-start: 1;
  grid-column-end: 4;
  grid-row-start: 1;
  grid-row-end: 4;
  max-height: 420px;
  max-width: 640px;
  object-fit: cover;
  width: 100%;
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch .media .media-msg-thumbnail img {
    max-height: 288px;
  }
}
.learning-plans-body.relaunch .media .media-msg-thumbnail .vid-button {
  color: white;
  --icon-size: 96px;
  --md-icon-button-icon-color: var(--md-sys-color-on-primary);
  --md-icon-button-focus-icon-color: var(--md-sys-color-on-primary);
  align-self: center;
  display: grid;
  grid-column-start: 2;
  grid-row-start: 2;
  justify-self: center;
  line-height: 0;
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch .credentials {
    margin-top: 48px;
    padding: 80px 12px;
  }
}
.learning-plans-body.relaunch .credentials h2.ql-display-medium.credential-title {
  margin-bottom: 16px;
  text-align: center;
}
.learning-plans-body.relaunch .credentials span.credential-description {
  display: block;
  max-width: 660px;
  margin: 0 auto 24px;
  text-align: center;
}
.learning-plans-body.relaunch .credentials h3 {
  margin-bottom: 8px;
}
.learning-plans-body.relaunch .credentials a {
  font-weight: 500;
  padding: 6px 12px;
}
.learning-plans-body.relaunch .continue {
  margin: 80px auto;
  text-align: center;
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch .continue {
    padding: 0 12px;
  }
}
.learning-plans-body.relaunch .continue .continue-img {
  margin-bottom: 24px;
}
.learning-plans-body.relaunch .continue h2 {
  margin-bottom: 16px;
}
.learning-plans-body.relaunch .continue .continue-description {
  margin-bottom: 32px;
}
.learning-plans-body.relaunch [id^=video-modal] {
  --dialog-body-padding: 0px;
  --dialog-color: none;
  --dialog-width: 900px;
}
.learning-plans-body.relaunch [id^=video-modal]::part(header) {
  padding: 0px;
}
.learning-plans-body.relaunch [id^=video-modal]::part(body) {
  display: flex;
  height: 500px;
  justify-content: center;
  padding: 0px;
}
@media (max-width: 965px) {
  .learning-plans-body.relaunch [id^=video-modal]::part(body) {
    height: 380px;
  }
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch [id^=video-modal]::part(body) {
    height: 200px;
  }
}
.learning-plans-body.relaunch [id^=video-modal]::part(actions) {
  min-height: 0px;
}
@media (max-width: 965px) {
  .learning-plans-body.relaunch [id^=video-modal] {
    --dialog-width: 640px;
  }
}
@media (max-width: 600px) {
  .learning-plans-body.relaunch [id^=video-modal] {
    --dialog-width: 320px;
  }
}
.learning-plans-body.relaunch .content-selector {
  margin-bottom: 24px;
  max-width: 100%;
  width: fit-content;
}
.learning-plans-body.relaunch .learning-wrapper {
  max-width: 1120px;
}
.learning-plans-body.relaunch .learning-wrapper .activities .grid {
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
}
.learning-plans-body.relaunch .learning-wrapper ql-card {
  --card-border-radius: 32px;
  background: var(--md-sys-color-surface-container-low);
}
.learning-plans-body.relaunch .learning-wrapper .learnable-type-chip, .learning-plans-body.relaunch .learning-wrapper .learnable-type-chip-card {
  border-radius: 16px;
  display: flex;
  gap: 4px;
  max-width: max-content;
  align-items: center;
  padding: 4px 8px;
}
.learning-plans-body.relaunch .learning-wrapper .chips-content {
  display: flex;
  align-items: center;
  align-content: center;
  gap: 8px;
  align-self: stretch;
  flex-wrap: wrap;
}
.learning-plans-body.relaunch .learning-wrapper .learnable-type-chip-card {
  background: var(--state-layers-primary-colors-primary-8, rgba(11, 87, 208, 0.08));
  color: var(--md-sys-color-on-surface);
}
.learning-plans-body.relaunch .learning-wrapper .badge-content {
  display: flex;
  padding: 2px 8px;
  align-items: center;
  gap: 2px;
  border-radius: 16px;
  background: var(--lab-color);
}
.learning-plans-body.relaunch .learning-wrapper .badge-content ql-icon {
  object-fit: contain;
  display: flex;
  width: 20px;
  height: 20px;
  justify-content: center;
  align-items: center;
}
.learning-plans-body.relaunch .learning-wrapper .badge-content span {
  color: var(--lab-text-color);
}
.learning-plans-body.relaunch .learning-wrapper .heading-contents {
  height: 100px;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}
.learning-plans-body.relaunch .learning-wrapper .buttons {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.learning-plans-body.relaunch .learning-wrapper .buttons .duration {
  display: flex;
  align-items: center;
  align-self: stretch;
  gap: 12px;
}
.learning-plans-body.relaunch .learning-wrapper .buttons ql-icon-button.in-progress {
  border-radius: 100%;
  background-color: var(--md-sys-color-secondary-container);
}
.learning-plans-body.relaunch .learning-wrapper .buttons ql-icon-button.not-started {
  border-radius: 100%;
  background-color: var(--state-layers-primary-colors-on-primary-8, rgba(31, 31, 31, 0.1));
}
.learning-plans-body.relaunch .learning-wrapper .cta-and-like-section, .learning-plans-body.relaunch .learning-wrapper .gamification-section {
  display: flex;
  gap: 8px;
}
.learning-plans-body.relaunch .learning-wrapper .learnable-favorite {
  flex: none;
  width: 48px;
}
.learning-plans-body.relaunch .learning-wrapper .learnable-progress-bar {
  flex: auto;
  padding: 22px 24px;
}
@media (max-width: 965px) {
  .learning-plans-body.relaunch .learning-wrapper .learnable-progress-bar {
    padding: 22px 0;
    width: 100%;
  }
}
.learning-plans-body.relaunch .learning-wrapper .learnable-stars {
  flex: none;
  height: 40px;
  width: 92px;
}
.learning-plans-body.relaunch .learning-wrapper .learnable-gems {
  flex: none;
  width: 84px;
}
.learning-plans-body.relaunch .learning-wrapper .top-matter .learning-plan-title {
  margin-bottom: 8px;
}
.learning-plans-body.relaunch .learning-wrapper .learning-plan-details {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-start;
}
.learning-plans-body.relaunch .learning-wrapper .learning-plan-details .detail {
  background: var(--state-layers-primary-colors-on-primary-8, rgba(255, 255, 255, 0.08));
  border-radius: 8px;
  color: var(--md-sys-color-surface);
  flex-shrink: 0;
  padding: 6px 12px;
  text-align: center;
}

#lc-announcement-modal {
  --dialog-width: 960px;
}
#lc-announcement-modal .container {
  display: flex;
  flex-direction: column;
  gap: 64px;
  max-height: calc(80vh - 80px);
  overflow: scroll;
}
#lc-announcement-modal .row {
  display: flex;
  gap: 12px;
}
#lc-announcement-modal #row3 {
  flex-direction: column;
  gap: 0;
}
#lc-announcement-modal h1 {
  text-align: center;
}
#lc-announcement-modal p {
  font-size: 20px;
}
#lc-announcement-modal img {
  max-width: 100%;
}

.learning-tree-show-body ql-toolbar.app-toolbar {
  box-shadow: 0px 1px 2px 0px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);
  border: none;
}
.learning-tree-show-body .learning-tree-wrapper {
  margin: 0 auto;
  max-width: 720px;
  padding: 48px 0;
}
.learning-tree-show-body .learning-tree-wrapper > *:not(:last-child) {
  margin-bottom: 64px;
}
.learning-tree-show-body .learning-tree-top-matter > *:not(:last-child) {
  margin-bottom: 32px;
}
.learning-tree-show-body .learning-tree-title ql-activity-label {
  margin-bottom: 8px;
}
.learning-tree-show-body .learning-tree-details {
  display: flex;
}
.learning-tree-show-body .learning-tree-details > *:not(:last-child) {
  margin-right: 32px;
}
.learning-tree-show-body .learning-tree-details .learning-tree-detail {
  align-items: center;
  color: var(--medium-text-on-surface-color);
  display: inline-flex;
  font: var(--md-sys-typescale-title-medium);
}
.learning-tree-show-body .learning-tree-details .learning-tree-detail ql-icon {
  margin-right: 4px;
}
.learning-tree-show-body .learning-tree-badge img {
  display: block;
  margin: 32px auto;
  max-width: 320px;
  width: 100%;
}
.learning-tree-show-body .learning-tree-badge p {
  margin: 0;
}
.learning-tree-show-body .learning-tree-curriculum ql-course {
  max-width: 100%;
}
.learning-tree-show-body #learning-tree-info-drawer {
  background: #F8F9FA;
  border-left: 1px solid #DADCE0;
  overflow: scroll;
  position: fixed;
  right: 0;
}
.learning-tree-show-body #learning-tree-info-drawer .learning-tree-info .learning-tree-info-header {
  align-items: center;
  display: flex;
  padding: 8px 18px;
}
.learning-tree-show-body #learning-tree-info-drawer .learning-tree-info .learning-tree-info-header h2 {
  flex: 1;
  letter-spacing: 0.04em;
  margin-left: 10px;
}
.learning-tree-show-body #learning-tree-info-drawer .learning-tree-info ql-collapsible {
  --header-background: $gray50;
  --panel-background: var(--base-surface-color);
}
.learning-tree-show-body #learning-tree-info-drawer .learning-tree-info ql-collapsible:first-child {
  border-top: 1px solid #DADCE0;
}
.learning-tree-show-body #learning-tree-info-drawer .learning-tree-info ql-collapsible:last-child {
  border-bottom: 1px solid #DADCE0;
}
.learning-tree-show-body #learning-tree-info-drawer .learning-tree-info ql-collapsible [slot=header] {
  padding-left: 18px;
}
.learning-tree-show-body #learning-tree-info-drawer .learning-tree-info ql-collapsible [slot=collapsible] {
  padding: 10px;
  padding-left: 18px;
}
.learning-tree-show-body #learning-tree-info-drawer .learning-tree-info ql-collapsible p, .learning-tree-show-body #learning-tree-info-drawer .learning-tree-info ql-collapsible ul {
  margin: 0;
}
.learning-tree-show-body #learning-tree-info-drawer .learning-tree-info ql-collapsible p:not(:last-child), .learning-tree-show-body #learning-tree-info-drawer .learning-tree-info ql-collapsible ul:not(:last-child) {
  margin-bottom: 8px;
}
.learning-tree-show-body #learning-tree-info-drawer .learning-tree-info ql-collapsible p, .learning-tree-show-body #learning-tree-info-drawer .learning-tree-info ql-collapsible li {
  font: var(--md-sys-typescale-body-medium);
}

.md-body {
  background: #fff;
}
.md-body--admin td {
  font-size: 13px;
}
.md-body--admin td p {
  font-size: 12px;
}
.md-body--admin .label.label-success,
.md-body--admin .label.label-warning {
  background: var(--primary-surface-color);
  border-radius: 30px;
  color: var(--text-on-primary-color);
  font-size: 12px;
  padding: 1px 6px;
}
.md-body--suadmin .header-container {
  background: #444;
}
@media (max-width: 600px) {
  .md-body--index {
    background: white;
  }
}
@media (max-width: 600px) {
  .md-body--index .l-main-wrapper {
    padding: 0;
  }
}
.md-body--index .header__tabs {
  display: none;
}
@media (max-width: 600px) {
  .md-body--index .header__tabs {
    display: flex;
  }
}
@media (max-width: 600px) {
  .md-body--index .card--table {
    box-shadow: none !important;
  }
}
.md-body--index .mdl-card__title {
  display: flex;
}
@media (max-width: 600px) {
  .md-body--index .mdl-card__title,
  .md-body--index .mdl-card__menu {
    display: none;
  }
}
@media (max-width: 600px) {
  .md-body--index .mdl-card__supporting-text {
    padding: 0 0 80px 0;
  }
}
.md-body--index .index-count {
  color: #999;
  font-size: 12px;
  margin-left: 24px;
}

.my-account .body-container .body-content {
  background: var(--md-sys-color-background);
}
.my-account #app-nav {
  border-right: 1px solid var(--hairline-color);
  overflow-x: hidden;
}
.my-account .page-header {
  position: sticky;
  top: 64px;
}

ql-dialog#delete-account-history-are-you-sure-modal {
  text-align: center;
}

.my-learning .nav-bar,
.profile-body .nav-bar {
  position: static;
}
.my-learning .my-learning__group,
.profile-body .my-learning__group {
  margin-bottom: 96px;
}
.my-learning .my-learning__group__header,
.profile-body .my-learning__group__header {
  align-items: baseline;
  display: flex;
  margin-top: 24px;
}
.my-learning .my-learning__group__header h2,
.profile-body .my-learning__group__header h2 {
  font-size: 24px;
  font-weight: normal;
  margin-bottom: 24px;
}
.my-learning .my-learning__group__header a,
.profile-body .my-learning__group__header a {
  margin-left: auto;
}
.my-learning__top-matter .content,
.profile-body__top-matter .content {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0 auto;
  max-width: 720px;
  text-align: center;
}
.my-learning__top-matter .public-profile,
.profile-body__top-matter .public-profile {
  border-radius: 8px;
  padding: 4px 8px;
}
.my-learning__top-matter .public-profile.private,
.profile-body__top-matter .public-profile.private {
  background: var(--md-sys-color-error-container);
  color: var(--md-sys-color-on-error-container);
}
.my-learning__top-matter .public-profile.private a.make-public,
.profile-body__top-matter .public-profile.private a.make-public {
  color: var(--md-sys-color-on-error-container);
}
.my-learning__top-matter .public-profile.public,
.profile-body__top-matter .public-profile.public {
  background: var(--md-sys-color-tertiary-container);
  color: var(--md-sys-color-on-tertiary-container);
}
.my-learning .course-icon,
.profile-body .course-icon {
  background: gray;
  border-radius: 50%;
  height: 24px;
  width: 24px;
}
.my-learning .course-icon--ilt,
.profile-body .course-icon--ilt {
  background: linear-gradient(to right bottom, #8430CE, #8430CE);
}
.my-learning .course-icon--spl,
.profile-body .course-icon--spl {
  background: linear-gradient(to right bottom, var(--primary-surface-color), var(--primary-surface-color));
}
.my-learning .flex-table .flex-table__row:last-child,
.profile-body .flex-table .flex-table__row:last-child {
  border-bottom: none;
}
.my-learning .my-learning-table .flex-table__row,
.profile-body .my-learning-table .flex-table__row {
  color: #202124;
  font-size: 16px;
  font-weight: 400;
  padding: 0 24px;
  text-decoration: none;
}
.my-learning .my-learning-table .td:nth-child(1),
.profile-body .my-learning-table .td:nth-child(1) {
  flex: 0 0 48px;
}
.my-learning .my-learning-table .td:last-child label,
.profile-body .my-learning-table .td:last-child label {
  display: block;
  text-align: right;
  margin-left: auto;
}
.my-learning .my-learning-table--courses .td:first-child,
.profile-body .my-learning-table--courses .td:first-child {
  align-items: center;
  display: flex;
  justify-content: center;
}
.my-learning .my-learning-table--courses .td:first-child img,
.profile-body .my-learning-table--courses .td:first-child img {
  width: 48px;
}
.my-learning .my-learning-table--courses .td:last-child,
.profile-body .my-learning-table--courses .td:last-child {
  text-align: right;
}
.my-learning .profile-tabs,
.profile-body .profile-tabs {
  margin: 0 auto;
  max-width: 1212px;
}
.my-learning .profile-tabs .tabs,
.profile-body .profile-tabs .tabs {
  justify-content: center;
  margin-bottom: 24px;
  margin-top: 64px;
}
.my-learning .profile-tabs .tabs ql-tab,
.profile-body .profile-tabs .tabs ql-tab {
  --button-width: 100%;
}
.my-learning .learning-plans,
.profile-body .learning-plans {
  display: grid;
  gap: 24px;
  grid-auto-rows: 1fr;
  grid-template-columns: repeat(auto-fit, minmax(auto, 360px));
  padding: 0;
  margin: 14px 0;
}
.my-learning .learning-plans ql-activity-card,
.profile-body .learning-plans ql-activity-card {
  width: 100%;
}
@media (max-width: 600px) {
  .my-learning .learning-plans,
  .profile-body .learning-plans {
    justify-content: center;
    justify-items: center;
  }
}
.my-learning .activities-table,
.profile-body .activities-table {
  overflow: auto;
}
.my-learning .barker-leaderboard,
.profile-body .barker-leaderboard {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding: 18px;
  position: relative;
}
@media (max-width: 600px) {
  .my-learning .barker-leaderboard ql-infobox,
  .profile-body .barker-leaderboard ql-infobox {
    text-align: center;
  }
}
.my-learning .barker-leaderboard .help-button,
.profile-body .barker-leaderboard .help-button {
  position: absolute;
  right: 24px;
  top: 24px;
}
@media (max-width: 600px) {
  .my-learning .barker-leaderboard .help-button,
  .profile-body .barker-leaderboard .help-button {
    align-self: flex-end;
    inset: 0;
    position: static;
  }
}
.my-learning .barker-leaderboard .league-images,
.profile-body .barker-leaderboard .league-images {
  align-items: center;
  display: flex;
  gap: 32px;
  justify-content: center;
  margin: 32px 0;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.my-learning .barker-leaderboard .league-images::after,
.profile-body .barker-leaderboard .league-images::after {
  background-image: linear-gradient(to right, var(--base-surface-color) 0%, var(--base-surface-color) 10%, transparent 40%, transparent 60%, var(--base-surface-color) 90%, var(--base-surface-color) 100%);
  content: "";
  inset: -24px;
  pointer-events: none;
  position: absolute;
}
.my-learning .barker-leaderboard .league-images > img,
.profile-body .barker-leaderboard .league-images > img {
  filter: drop-shadow(4px 4px 4px var(--hairline-color));
  width: 128px;
  transition: transform 0.2s;
}
.my-learning .barker-leaderboard .league-images > *:first-child,
.profile-body .barker-leaderboard .league-images > *:first-child {
  transform: perspective(400px) rotate3d(0, 1, 0, -30deg) translateZ(-30px);
  width: 128px;
}
.my-learning .barker-leaderboard .league-images > *:first-child:hover,
.profile-body .barker-leaderboard .league-images > *:first-child:hover {
  transform: scale(1.1) perspective(400px) rotate3d(0, 1, 0, -30deg) translateZ(-30px);
}
.my-learning .barker-leaderboard .league-images > .current,
.profile-body .barker-leaderboard .league-images > .current {
  width: 160px;
  transform: perspective(400px) translateZ(20px);
  z-index: 1;
}
.my-learning .barker-leaderboard .league-images > .current:hover,
.profile-body .barker-leaderboard .league-images > .current:hover {
  transform: scale(1.1) perspective(400px) translateZ(20px);
}
.my-learning .barker-leaderboard .league-images > *:last-child,
.profile-body .barker-leaderboard .league-images > *:last-child {
  transform: perspective(400px) rotate3d(0, 1, 0, 30deg) translateZ(-30px);
  width: 128px;
}
.my-learning .barker-leaderboard .league-images > *:last-child:hover,
.profile-body .barker-leaderboard .league-images > *:last-child:hover {
  transform: scale(1.1) perspective(400px) rotate3d(0, 1, 0, 30deg) translateZ(-30px);
}
.my-learning .barker-leaderboard .league-images > *,
.profile-body .barker-leaderboard .league-images > * {
  flex-shrink: 0;
}
.my-learning .barker-leaderboard .promotion-info,
.profile-body .barker-leaderboard .promotion-info {
  color: var(--medium-text-on-surface-color);
  font-size: 18px;
  font-weight: 400;
  margin-bottom: 0;
  margin-top: 10px;
}
.my-learning .barker-leaderboard .demotion-info,
.profile-body .barker-leaderboard .demotion-info {
  color: var(--light-text-on-surface-color);
  font-size: 16px;
  font-weight: 400;
}
.my-learning .barker-leaderboard .time-remaining,
.profile-body .barker-leaderboard .time-remaining {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 24px;
}
.my-learning .barker-leaderboard .time-remaining.soon,
.profile-body .barker-leaderboard .time-remaining.soon {
  color: var(--caution-color);
}
.my-learning .barker-leaderboard .time-remaining.very-soon,
.profile-body .barker-leaderboard .time-remaining.very-soon {
  color: var(--warn-color);
}
.my-learning .barker-leaderboard table.leaderboard,
.profile-body .barker-leaderboard table.leaderboard {
  border-collapse: separate;
  border-spacing: 0;
  width: auto;
}
.my-learning .barker-leaderboard table.leaderboard td,
.profile-body .barker-leaderboard table.leaderboard td {
  padding: 12px;
}
.my-learning .barker-leaderboard table.leaderboard td.rank,
.profile-body .barker-leaderboard table.leaderboard td.rank {
  color: var(--light-text-on-surface-color);
  font-weight: 700;
  text-align: center;
}
.my-learning .barker-leaderboard table.leaderboard td.avatar,
.profile-body .barker-leaderboard table.leaderboard td.avatar {
  display: flex;
}
.my-learning .barker-leaderboard table.leaderboard td.name,
.profile-body .barker-leaderboard table.leaderboard td.name {
  font-size: 16px;
  min-width: min(500px, 40vw);
}
.my-learning .barker-leaderboard table.leaderboard td.points,
.profile-body .barker-leaderboard table.leaderboard td.points {
  font-size: 16px;
  font-weight: 500;
  text-align: right;
}
.my-learning .barker-leaderboard table.leaderboard td #current-user-name,
.profile-body .barker-leaderboard table.leaderboard td #current-user-name {
  border-bottom: 1px dotted black;
}
.my-learning .barker-leaderboard table.leaderboard tr.promote, .my-learning .barker-leaderboard table.leaderboard tr.demote,
.profile-body .barker-leaderboard table.leaderboard tr.promote,
.profile-body .barker-leaderboard table.leaderboard tr.demote {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
}
.my-learning .barker-leaderboard table.leaderboard tr.promote span, .my-learning .barker-leaderboard table.leaderboard tr.demote span,
.profile-body .barker-leaderboard table.leaderboard tr.promote span,
.profile-body .barker-leaderboard table.leaderboard tr.demote span {
  margin: 0 12px;
  vertical-align: middle;
}
.my-learning .barker-leaderboard table.leaderboard tr.promote ql-icon, .my-learning .barker-leaderboard table.leaderboard tr.demote ql-icon,
.profile-body .barker-leaderboard table.leaderboard tr.promote ql-icon,
.profile-body .barker-leaderboard table.leaderboard tr.demote ql-icon {
  vertical-align: middle;
}
.my-learning .barker-leaderboard table.leaderboard tr.promote,
.profile-body .barker-leaderboard table.leaderboard tr.promote {
  background: #E6F4EA;
  color: #0D652D;
}
.my-learning .barker-leaderboard table.leaderboard tr.demote,
.profile-body .barker-leaderboard table.leaderboard tr.demote {
  background: #FCE8E6;
  color: #A50E0E;
}
.my-learning .barker-leaderboard table.leaderboard tr.current-user,
.profile-body .barker-leaderboard table.leaderboard tr.current-user {
  background: var(--primary-surface-color-lightest);
}
.my-learning .barker-leaderboard .cohort-pending, .my-learning .barker-leaderboard .leaderboards-paused,
.profile-body .barker-leaderboard .cohort-pending,
.profile-body .barker-leaderboard .leaderboards-paused {
  margin-top: 32px;
  text-align: center;
}
.my-learning .barker-leaderboard .cohort-pending ql-progress-bar, .my-learning .barker-leaderboard .leaderboards-paused ql-progress-bar,
.profile-body .barker-leaderboard .cohort-pending ql-progress-bar,
.profile-body .barker-leaderboard .leaderboards-paused ql-progress-bar {
  margin-bottom: 8px;
}

.learner-profile.relaunch .body-content {
  padding-bottom: 0;
}
.learner-profile .activities-table {
  --anchor-text-decoration: underline;
  --first-th-padding-left: 24px;
  --last-td-padding-right: 24px;
  --thead-th-padding: 16px;
  border: 1px solid var(--hairline-color);
  border-radius: 16px;
  overflow: auto;
}
.learner-profile .description {
  color: #5F6368;
  margin-bottom: 40px;
  max-width: 789px;
}
.learner-profile .title {
  margin: 40px 0px 20px;
}
.learner-profile .profile-tabs {
  max-width: 1400px;
}
.learner-profile .in-progress__content-cards ql-search-result-container {
  --max-width: 1400px;
}
.learner-profile .in-progress__content {
  align-content: center;
  margin: 24px 24px 8px;
  min-height: 220px;
}
.learner-profile .in-progress__no-content {
  display: flex;
  gap: 24px;
  justify-content: center;
}
@media (max-width: 600px) {
  .learner-profile .in-progress__no-content {
    flex-direction: column;
  }
}
.learner-profile .in-progress__no-content-msg {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 450px;
}
.learner-profile .in-progress__no-content-msg h2 {
  font-weight: 500;
}
.learner-profile .in-progress__no-content-msg span {
  color: #5F6368;
}
@media (max-width: 600px) {
  .learner-profile .in-progress__no-content-msg {
    align-items: center;
    text-align: center;
  }
}

.barker-leaderboard-wrapper .leaderboard-content {
  margin: 0 auto;
  max-width: 954px;
}
.barker-leaderboard-wrapper ql-dialog#about-leagues-dialog {
  --dialog-width: 840px;
}
.barker-leaderboard-wrapper .league-header {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 40px 0 56px;
}
.barker-leaderboard-wrapper .league-header img {
  -webkit-box-reflect: below -8px linear-gradient(to bottom, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0.6));
}
.barker-leaderboard-wrapper .league-header__info {
  display: flex;
  gap: 24px;
}
.barker-leaderboard-wrapper .league-header__promo-details {
  display: flex;
  flex-direction: column;
  gap: 4px;
  justify-content: center;
  text-align: center;
}
.barker-leaderboard-wrapper .league-header__promo-details p {
  color: #5F6368;
  margin: 0;
}
.barker-leaderboard-wrapper .league-header__user-avatar {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin-top: 32px;
}
.barker-leaderboard-wrapper .league-header__user-avatar p {
  margin: 4px 0 0 0;
}
.barker-leaderboard-wrapper .league-header__help {
  align-items: center;
  display: flex;
  gap: 6px;
  justify-content: center;
  text-align: center;
}
.barker-leaderboard-wrapper .league-header__help .about {
  text-decoration: underline;
}
@media (max-width: 600px) {
  .barker-leaderboard-wrapper .league-header__help {
    flex-direction: column;
    gap: 4px;
  }
}
.barker-leaderboard-wrapper .league-header__content {
  margin-bottom: 32px;
}
.barker-leaderboard-wrapper .league-header__nav-bar {
  align-items: center;
  display: flex;
  gap: 24px;
}
.barker-leaderboard-wrapper .league-header__about {
  align-items: center;
}
.barker-leaderboard-wrapper .league-header__about .leagues {
  display: flex;
  flex-wrap: wrap;
  gap: 48px;
  justify-content: center;
}
.barker-leaderboard-wrapper .league-header__about .leagues .league-badge {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media (max-width: 965px) {
  .barker-leaderboard-wrapper .league-header {
    flex-direction: column;
  }
}
.barker-leaderboard-wrapper .time-remaining {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 24px;
}
.barker-leaderboard-wrapper .time-remaining.soon {
  color: var(--caution-color);
}
.barker-leaderboard-wrapper .time-remaining.very-soon {
  color: var(--warn-color);
}
.barker-leaderboard-wrapper table.leaderboard {
  border-radius: 24px;
  box-shadow: 0 0 0 1px var(--hairline-color);
  overflow: hidden;
}
.barker-leaderboard-wrapper table.leaderboard thead {
  border-bottom: 1px solid var(--hairline-color);
}
.barker-leaderboard-wrapper table.leaderboard th.position-header {
  text-align: center;
  width: 130px;
}
@media (max-width: 600px) {
  .barker-leaderboard-wrapper table.leaderboard th.position-header {
    width: 10px;
  }
}
.barker-leaderboard-wrapper table.leaderboard th.avatar-header {
  width: 50px;
}
.barker-leaderboard-wrapper table.leaderboard tr:has(+ .promote), .barker-leaderboard-wrapper table.leaderboard tr:has(+ .demote) {
  border-bottom: none;
}
.barker-leaderboard-wrapper table.leaderboard tr.promote, .barker-leaderboard-wrapper table.leaderboard tr.demote {
  border-bottom: none;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
}
.barker-leaderboard-wrapper table.leaderboard tr.promote td, .barker-leaderboard-wrapper table.leaderboard tr.demote td {
  padding-left: 24px;
  padding-right: 24px;
}
.barker-leaderboard-wrapper table.leaderboard tr.promote span, .barker-leaderboard-wrapper table.leaderboard tr.demote span {
  margin: 0 12px;
  vertical-align: middle;
}
.barker-leaderboard-wrapper table.leaderboard tr.promote ql-icon, .barker-leaderboard-wrapper table.leaderboard tr.demote ql-icon {
  vertical-align: middle;
}
.barker-leaderboard-wrapper table.leaderboard tr .promote__container {
  background: #E6F4EA;
  border-radius: 8px;
  color: #0D652D;
  padding: 12px;
}
.barker-leaderboard-wrapper table.leaderboard tr .demote__container {
  background: #FCE8E6;
  border-radius: 8px;
  color: #A50E0E;
  padding: 12px;
}
.barker-leaderboard-wrapper table.leaderboard tr.current-user {
  background: var(--primary-surface-color-lightest);
}
.barker-leaderboard-wrapper table.leaderboard tr:last-child {
  border-bottom: none;
}
.barker-leaderboard-wrapper table.leaderboard td.rank {
  text-align: center;
}
.barker-leaderboard-wrapper .cohort-pending, .barker-leaderboard-wrapper .leaderboards-paused {
  margin-top: 32px;
  text-align: center;
}
.barker-leaderboard-wrapper .cohort-pending ql-progress-bar, .barker-leaderboard-wrapper .leaderboards-paused ql-progress-bar {
  margin-bottom: 8px;
}

.group-members-body .team-assign {
  --dialog-width: 420px;
}

.organization-members-show-body ql-toolbar.app-toolbar {
  border-bottom: none;
}
.organization-members-show-body .activity-stats {
  display: flex;
  gap: 24px;
  margin: 0 auto 48px auto;
  max-width: 920px;
}
.organization-members-show-body .activity-table {
  margin: 0 auto;
  max-width: 920px;
}
.organization-members-show-body .navbar {
  margin: 64px auto 48px auto;
  max-width: 640px;
}
.organization-members-show-body .navbar .tabs {
  justify-content: center;
}
.organization-members-show-body .navbar .tabs ql-tab {
  --button-width: 100%;
}
.organization-members-show-body .top-matter {
  display: flex;
  margin: 0 auto;
  max-width: 720px;
  justify-content: center;
}
.organization-members-show-body .top-matter p.ql-body-medium {
  margin-top: 8px;
  margin-bottom: 0px;
}
.organization-members-show-body .top-matter .member-metadata {
  display: flex;
  flex-direction: column;
  margin-left: 32px;
}
.organization-members-show-body .top-matter .member-metadata ql-button {
  margin-top: 8px;
}
.organization-members-show-body .top-matter .member-metadata .info-chips {
  display: flex;
  gap: 6px;
  margin-bottom: 8px;
}
.organization-members-show-body .top-matter .member-metadata .ql-display-small {
  margin-bottom: 8px;
}
.organization-members-show-body .top-matter .member-metadata .ql-title-medium {
  display: inline-flex;
  margin-right: 34px;
}
.organization-members-show-body .top-matter .member-metadata .ql-title-medium ql-icon {
  font-size: 18px;
  margin-right: 4px;
  vertical-align: middle;
}

.organization-membership-table .td:nth-child(1) {
  flex: 2;
}
.organization-membership-table .td:nth-child(2) {
  flex: 1;
}
.organization-membership-table .td:nth-child(3) {
  flex: 1;
}
.organization-membership-table .td:nth-child(4) {
  flex: 0 0 auto;
  width: 64px;
}

.delete-provider {
  --button-color: var(--md-sys-color-error);
}

.organization-libraries {
  margin-bottom: 32px;
}
.organization-libraries label {
  font-weight: 500;
  margin-bottom: 16px;
}
.organization-libraries .organization-library {
  margin-bottom: 8px;
}

.organization-custom-filter-body .js-custom-filter-filters-form {
  margin: 24px 0;
}
.organization-custom-filter-body .mdl-checkbox__label {
  align-items: center;
  display: inline-flex;
}
.organization-custom-filter-body .list-item__header,
.organization-custom-filter-body .list-item__details {
  padding-left: 0px;
}
.organization-custom-filter-body .custom__filter__wrapper {
  max-width: 800px;
}

.organization-featured-content-body .standard-main-container > ql-drawer-content {
  left: 288px;
  overflow: scroll;
  position: fixed;
  top: 0px;
  width: calc(100% - 288px);
}
.organization-featured-content-body .catalog-activities-and-filters > ql-drawer-container {
  display: flex;
  flex-direction: row;
  row-gap: 0;
}
.organization-featured-content-body main {
  top: 64px;
}
.organization-featured-content-body .catalog-wrapper > *:not(:last-child) {
  margin-bottom: 64px;
}

.organization-terms iframe {
  min-height: 800px;
}
.organization-terms .actions {
  display: flex;
  gap: 18px;
  justify-content: flex-end;
  padding: 16px;
}

.license_tooltip {
  position: relative;
  display: inline-block;
}
.license_tooltip .tip_text {
  visibility: hidden;
  background: rgba(0, 0, 0, 0.72);
  border-radius: 4px;
  color: #E8EAED;
  left: 50%;
  max-width: 120px;
  padding: 4px 8px;
  position: absolute;
  top: 100%;
  transform: translateX(-93%);
  width: max-content;
  z-index: 99999;
}
.license_tooltip:hover .tip_text {
  visibility: visible;
}

.team-check-box {
  margin-bottom: 8px;
}

.team-tabs-container {
  border-bottom: 1px solid #DADCE0;
  column-gap: 65px;
  display: flex;
  flex-direction: row;
  justify-content: left;
  margin-bottom: 0px;
  padding: 0px 30px;
}

.team-content-items {
  align-items: stretch;
}

.revoke_organization_invitation .button--delete {
  color: var(--md-sys-color-error);
}

@media (max-width: 600px) {
  .invite-link-banner {
    width: 700px;
  }
}

.invite-info-box {
  align-items: center;
  background: var(--md-sys-color-surface-container);
  display: flex;
  flex-direction: row;
  flex-grow: 1;
  justify-content: space-between;
}
.invite-info-box .invite-text {
  flex-grow: 1;
  padding-left: 10px;
  text-align: left;
  white-space: normal;
}
.invite-info-box .invite-text p {
  margin-bottom: 7px;
}
.invite-info-box .invite-text p.bold {
  font-weight: bold;
}
.invite-info-box .invite-button {
  padding-left: 20px;
}
.invite-info-box .expand-button {
  padding: 10px 0px 10px 20px;
}

.invite-link-banner {
  background: var(--md-sys-color-surface-container);
  border: 1px solid var(--hairline-color);
  border-radius: 8px;
  padding: 16px;
}

.invite-link-list {
  background: var(--text-on-primary-color);
  border: 1px solid var(--hairline-color);
  border-radius: 8px;
  margin-top: 8px;
}
.invite-link-list table {
  overflow: hidden;
  table-layout: auto;
  width: 100%;
}
.invite-link-list table tbody tr:last-child {
  border-bottom: none;
}
.invite-link-list td {
  word-break: break-all;
}
.invite-link-list th.invite-header {
  width: 35%;
}
.invite-link-list th.bold-header {
  color: #3C4043;
  font-size: 14px;
  font-weight: bold;
}
.invite-link-list .toggle-column {
  align-items: center;
  display: flex;
}
.invite-link-list .link-wrapper {
  align-items: center;
  display: flex;
  flex-direction: row;
}
.invite-link-list .link-wrapper a {
  font-weight: normal;
}
.invite-link-list .link-wrapper :hover {
  cursor: pointer;
  text-decoration: none;
}
@media (max-width: 600px) {
  .invite-link-list .link-wrapper {
    display: inline-block;
    height: 4em;
    white-space: nowrap;
  }
  .invite-link-list .link-wrapper a {
    direction: rtl;
    display: block;
    max-width: 150px;
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
  }
}
.invite-link-list .extra_domains:hover {
  text-decoration: none;
}

ql-collapsible {
  --header-background: var(--md-sys-color-surface-container);
  --header-border: none;
  --panel-background: var(--md-sys-color-surface-container);
}
ql-collapsible [slot=header] {
  display: flex;
}
ql-collapsible [slot=collapsible] {
  padding: 0px;
}
ql-collapsible::part(header) {
  padding-right: 0px;
}
ql-collapsible::part(header):hover::before {
  background-color: var(--md-sys-color-surface-container);
}
ql-collapsible::part(icon-button) {
  margin-top: 0px;
  margin-left: 20px;
  position: relative;
  top: unset;
}
ql-collapsible .invite_table {
  max-height: 350px;
  overflow-y: auto;
}

.save_warning {
  font-weight: bold;
}

ql-tab-group.teams-and-members-tabs {
  background: none;
  margin-left: -24px;
  margin-right: -24px;
}
ql-tab-group.teams-and-members-tabs::part(tabs-container) {
  justify-content: flex-start;
  margin-left: 24px;
}
ql-tab-group.teams-and-members-tabs::part(tab-0), ql-tab-group.teams-and-members-tabs::part(tab-1) {
  width: auto;
}

.members-header, .teams-header, .team-header {
  display: flex;
  justify-content: space-between;
  padding-top: 20px;
  --md-filled-button-container-height: 56px;
  --md-filled-button-label-text-size: 16px;
  --md-filled-button-icon-color: var(--md-sys-color-on-surface-variant);
  --md-filled-button-icon-size: 24px;
  --md-filled-button-focus-icon-color: var(--md-sys-color-on-surface-variant);
  --md-filled-button-hover-icon-color: var(--md-sys-color-on-surface-variant);
  --md-filled-button-pressed-icon-color: var(--md-sys-color-on-surface-variant);
}
.members-header ql-button, .teams-header ql-button, .team-header ql-button {
  --button-height: 56px;
  --button-color: transparent;
  --button-text-color: var(--md-sys-color-on-surface-variant);
  border: 1px solid var(--md-sys-color-outline-variant);
  border-radius: 100px;
  font: var(--md-sys-typescale-title-medium);
}
.members-header h3, .teams-header h3, .team-header h3 {
  display: flex;
  align-items: center;
  color: var(--md-sys-color-on-surface-variant);
}

.member-invite-banner {
  padding-top: 40px;
}

.members-search, .teams-search {
  padding-bottom: 24px;
  padding-top: 40px;
}
.members-search .search-and-filter, .teams-search .search-and-filter {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 20px 16px;
  justify-content: space-between;
}
.members-search .search-and-filter .search-bar, .teams-search .search-and-filter .search-bar {
  align-items: center;
  display: flex;
}
.members-search .search-and-filter .search-bar #q_user_search_cont, .members-search .search-and-filter .search-bar #q_name_cont, .teams-search .search-and-filter .search-bar #q_user_search_cont, .teams-search .search-and-filter .search-bar #q_name_cont {
  background-color: var(--md-sys-color-surface-container-high);
  border-radius: 32px;
  max-width: 720px;
  min-width: 360px;
  padding-left: 10px;
  padding-right: 20px;
  --md-outlined-text-field-outline-color: transparent;
  --md-outlined-text-field-focus-outline-color: transparent;
  --md-outlined-text-field-hover-outline-color: transparent;
}
.members-search .search-and-filter .search-bar .icon-button, .teams-search .search-and-filter .search-bar .icon-button {
  background: none;
  color: var(--md-sys-color-on-surface-variant);
  border: none;
  margin-left: -60px;
  cursor: pointer;
}
.members-search .filters, .teams-search .filters {
  color: var(--md-sys-color-on-surface-variant);
}
.members-search .filters .filter-checkbox input[type=checkbox]:checked + label, .teams-search .filters .filter-checkbox input[type=checkbox]:checked + label {
  color: var(--md-sys-color-on-secondary-fixed-variant);
  background: var(--md-sys-color-secondary-container);
}

.members-table table, .teams-table table, .team-members-table table {
  border: none;
  border-collapse: collapse;
  font: var(--md-sys-typescale-body-medium);
  margin-bottom: 0px;
}
.members-table table a, .members-table table .link, .teams-table table a, .teams-table table .link, .team-members-table table a, .team-members-table table .link {
  color: var(--md-sys-color-primary);
}
.members-table table tbody tr:last-child, .teams-table table tbody tr:last-child, .team-members-table table tbody tr:last-child {
  border-bottom: none;
}
.members-table th, .teams-table th, .team-members-table th {
  color: var(--md-sys-color-on-surface-variant);
  font: var(--md-sys-typescale-title-small);
}
.members-table th .sort_link, .teams-table th .sort_link, .team-members-table th .sort_link {
  color: var(--md-sys-color-on-surface-variant);
  font: var(--md-sys-typescale-title-small);
}
.members-table .shaded-row, .teams-table .shaded-row, .team-members-table .shaded-row {
  background: rgba(31, 31, 31, 0.1019607843);
}
.members-table .membership-table, .teams-table .membership-table, .team-members-table .membership-table {
  display: flex;
  flex-direction: column;
}
.members-table .top-content, .teams-table .top-content, .team-members-table .top-content {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 20px 16px;
  justify-content: space-between;
  padding-bottom: 40px;
  padding-top: 16px;
  padding-right: 16px;
  --md-outlined-button-label-text-color: var(--md-sys-color-on-surface-variant);
  --md-outlined-button-outline-color: var(--md-sys-color-outline-variant);
}
.members-table .top-content p, .teams-table .top-content p, .team-members-table .top-content p {
  margin-bottom: 0px;
}
.members-table .top-content ql-button, .teams-table .top-content ql-button, .team-members-table .top-content ql-button {
  --button-height: 48px;
  --button-color: var(--md-sys-color-secondary-container);
  --button-text-color: var(--md-sys-color-on-secondary-fixed-variant);
}
.members-table .teams-table .td:nth-child(4), .teams-table .teams-table .td:nth-child(4), .team-members-table .teams-table .td:nth-child(4) {
  width: 10%;
}
.members-table .table-container, .teams-table .table-container, .team-members-table .table-container {
  border: 1px solid var(--md-sys-color-outline-variant);
  border-radius: 8px;
  overflow: scroll;
}

.assignments-body .header-section-container {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 24px;
  border-radius: 16px;
  background-color: var(--md-sys-color--surface-container-low, #F8FAFD);
  gap: 24px;
  margin-bottom: 24px !important;
}
.assignments-body .header-section-container-left {
  width: 240px;
  height: 135px;
  flex-shrink: 0;
  background: url("/assets/organizations/assignment_summary-b19ecebeca91bffe07cc4c590a90dfee3b4fdbd2.png") #F8FAFD 50%/cover no-repeat;
  background-blend-mode: multiply;
}
.assignments-body .header-section-image {
  width: 240px;
  height: auto;
  margin-right: 15px;
}
.assignments-body .header-section-title {
  margin: 0;
  font-size: 32px;
  font-weight: 400;
  color: var(--md-sys-color-on-surface-variant);
}
.assignments-body .header-section-subtitle {
  margin: 5px 0 0 0;
  font-size: 16px;
  font-weight: 400;
  color: var(--md-sys-color-on-surface-variant);
}
.assignments-body #assignment-callout {
  margin-bottom: 24px;
}
.assignments-body .overview-section {
  display: flex;
  justify-content: space-between;
  --md-filled-button-icon-color: var(--md-sys-color-on-surface-variant);
  --md-filled-button-icon-size: 24px;
  --md-filled-button-focus-icon-color: var(--md-sys-color-on-surface-variant);
  --md-filled-button-hover-icon-color: var(--md-sys-color-on-surface-variant);
  --md-filled-button-pressed-icon-color: var(--md-sys-color-on-surface-variant);
}
.assignments-body .overview-section ql-button {
  --button-color: transparent;
  --button-text-color: var(--md-sys-color-on-surface-variant);
  border: 1px solid var(--md-sys-color-outline-variant);
  border-radius: 100px;
  height: fit-content;
  font: var(--md-sys-typescale-title-medium);
}
.assignments-body .filters-section form {
  display: flex;
  justify-content: flex-start;
  gap: 12px;
  flex-direction: row;
}
.assignments-body .filters-section .filters-section-col {
  min-width: 300px;
}
@media (max-width: 600px) {
  .assignments-body .filters-section .filters-section-col {
    min-width: 200px;
  }
}
.assignments-body .table-assignment-summary {
  border: 1px solid var(--md-sys-color-outline-variant);
  border-radius: 8px;
}
.assignments-body .table-assignment-summary th {
  color: var(--md-sys-color-on-surface-variant);
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: 0;
}
.assignments-body .table-assignment-summary th a {
  color: var(--md-sys-color-on-surface-variant);
  text-decoration: none;
}
.assignments-body .table-assignment-summary th a .sort-link-content {
  align-items: center;
  color: var(--md-sys-color-on-surface);
  display: flex;
  font-weight: 600;
  gap: 12px;
}
.assignments-body .table-assignment-summary td {
  color: var(--md-sys-color-on-surface);
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0;
}
.assignments-body .table-assignment-summary td.title {
  font-weight: 500;
}
.assignments-body .table-assignment-summary td.manage {
  color: var(--md-sys-color-primary);
  font-weight: 500;
}
.assignments-body .table-assignment-summary tbody.loading-state tr:not(:first-child) {
  opacity: 0.7;
  pointer-events: none;
}
.assignments-body .table-assignment-summary #loading-bar-row {
  background-color: var(--hairline-color);
  display: none;
}
.assignments-body .table-assignment-summary #loading-bar-row td {
  padding: 0;
}
.assignments-body .table-assignment-summary #loading-bar-row td .loading-bar {
  height: 3px;
  overflow: hidden;
  position: relative;
}
.assignments-body .table-assignment-summary #loading-bar-row td .loading-bar .loading-bar-inner {
  animation: sweep 3s infinite linear;
  background-color: var(--primary-text-on-surface-color);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 15%;
}
@keyframes sweep {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(600%);
  }
}
.assignments-body .actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.assignments-body .actions .wrapper-card-link {
  color: inherit;
  display: flex;
  flex: 1;
}
.assignments-body .actions .wrapper-card-link:hover ql-card {
  --card-surface-color: var(--hover-color);
}
.assignments-body .actions .wrapper-card-link:focus ql-card {
  --card-border: 1px solid var(--md-sys-color-outline);
  --card-surface-color: var(--hover-color);
}
.assignments-body .actions ql-card {
  flex: 1;
}
.assignments-body .actions ql-card .text {
  float: left;
}
.assignments-body .actions ql-card ql-icon {
  float: right;
  height: 24px;
  width: 24px;
}
.assignments-body .actions ql-card::part(body) {
  align-items: center;
  display: flex;
  justify-content: space-between;
  --card-padding: 16px 24px;
}

.teams-and-members-body .header-section-container {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 24px;
  border-radius: 16px;
  background-color: var(--md-sys-color--surface-container-low, #F8FAFD);
  gap: 24px;
  margin-bottom: 80px !important;
}
.teams-and-members-body .header-section-container-left {
  width: 240px;
  height: 135px;
  flex-shrink: 0;
  background: url("/assets/organizations/teams_and_members-7f5f57168b7aaba3e0d46e3814be0edbeb1244ce.png") #F8FAFD 50%/cover no-repeat;
  background-blend-mode: multiply;
}
.teams-and-members-body .header-section-image {
  width: 240px;
  height: auto;
  margin-right: 15px;
}
.teams-and-members-body .header-section-title {
  margin: 0;
  font-size: 32px;
  font-weight: 400;
  color: var(--md-sys-color-on-surface-variant);
}
.teams-and-members-body .header-section-subtitle {
  margin: 5px 0 0 0;
  font-size: 16px;
  font-weight: 400;
  color: var(--md-sys-color-on-surface-variant);
}
.teams-and-members-body .tabs-container {
  align-self: normal;
  column-gap: 0;
  justify-content: flex-start;
}

#assign-learning-modal {
  --dialog-body-padding: 0;
  --dialog-border-radius: 32px;
  --dialog-color: #E9EEF6;
  --dialog-icon-color: #00639B;
  --dialog-text-color: #444746;
  --dialog-width: 400px;
}
#assign-learning-modal .center-text {
  margin-top: -16px;
}
#assign-learning-modal .description {
  margin: 16px 24px 0 24px;
}
#assign-learning-modal .img-container {
  margin: 0 auto;
  position: relative;
  width: 320px;
}
#assign-learning-modal .img-container::before {
  background-color: var(--dialog-color);
  content: "";
  height: 100%;
  mix-blend-mode: multiply;
  position: absolute;
  width: 100%;
}
#assign-learning-modal .title {
  margin: 16px 0;
}
#assign-learning-modal ql-button {
  margin-bottom: 24px;
  margin-top: 8px;
}
#assign-learning-modal ql-button:last-of-type {
  margin-left: 8px;
  margin-right: 24px;
}

.peer-assignment-body .peer-assignment-content {
  display: flex;
  height: 100%;
  overflow: auto;
  padding: 32px;
}
.peer-assignment-body .tabs-container {
  justify-content: flex-start;
  margin-bottom: 32px;
}
.peer-assignment-body .peer-assignment-collapsible {
  --header-border: 0px;
  border: 1px solid #DEE0E4;
  border-radius: 8px;
  margin-bottom: 16px;
}
.peer-assignment-body .peer-assignment-collapsible .collapsible {
  padding: 0 24px;
}
.peer-assignment-body .peer-assignment-collapsible .header {
  border: 0px;
  margin-bottom: 0px;
  width: 100%;
}
.peer-assignment-body .peer-assignment-collapsible .header .status {
  display: flex;
  position: absolute;
  right: 12px;
}
.peer-assignment-body .peer-assignment-collapsible .header .status ql-icon {
  color: #1E8E3E;
  margin-right: 8px;
}
.peer-assignment-body .peer-assignment-collapsible .feedback-section .no-feedback {
  align-items: center;
  display: flex;
  flex-direction: column;
}
.peer-assignment-body .form-row.radio-btn {
  margin-bottom: 0.75rem;
}
.peer-assignment-body .file-input-div {
  border: 1px solid #DADADA;
  border-radius: 4px;
  padding: 18px;
  width: fit-content;
}
.peer-assignment-body .submission-preview-div {
  border: 1px solid #DADADA;
  border-radius: 4px;
  margin: 12px 0;
  padding: 18px;
}
.peer-assignment-body .submission-preview-div .attachment {
  align-items: center;
  display: flex;
}
.peer-assignment-body .header {
  border: 1px solid #DEE0E4;
  border-radius: 8px;
  margin-bottom: 16px;
}
.peer-assignment-body .header ql-toggle-button {
  color: var(--base-text-on-surface-color);
}
.peer-assignment-body .header ql-toggle-button.open-drawer-button {
  margin-top: -24px;
  position: absolute;
  right: 16px;
  top: 50%;
}
.peer-assignment-body .header .status {
  display: flex;
  position: absolute;
  right: 72px;
}
.peer-assignment-body .header .status ql-icon {
  color: #1E8E3E;
  margin-right: 8px;
}
.peer-assignment-body .peer-review-panel-drawer {
  background: #F1F3F4;
  overflow: scroll;
  width: 80%;
}
.peer-assignment-body .peer-review-panel-drawer .header {
  background: white;
  border: 0px;
  border-radius: 0px;
  height: 64px;
  margin-bottom: 0px;
}
.peer-assignment-body .peer-review-panel-drawer .header.peer-review-header {
  border-bottom: 1px solid #DEE0E4;
  position: sticky;
  top: 0;
  z-index: 1;
}
.peer-assignment-body .peer-review-panel-drawer .header ql-button {
  position: absolute;
  right: 24px;
}
.peer-assignment-body .peer-review-panel-drawer .assignments,
.peer-assignment-body .peer-review-panel-drawer .instructions {
  border-radius: 8px;
  margin: 24px;
}
.peer-assignment-body .peer-review-panel-drawer .assignments .collapsible,
.peer-assignment-body .peer-review-panel-drawer .instructions .collapsible {
  padding-bottom: 24px;
}
.peer-assignment-body ql-drawer-container {
  overflow: visible;
}
.peer-assignment-body .edit_peer_assignment_reflection_response textarea {
  height: 200px;
}
.peer-assignment-body .assignment-incomplete {
  align-items: center;
  display: flex;
  flex-direction: column;
}
.peer-assignment-body .assignment-incomplete img {
  margin: 24px 0px;
}
.peer-assignment-body .review-button {
  margin: 20px 0;
}
.peer-assignment-body .review-button-label {
  display: flex;
}
.peer-assignment-body .review-button-label ql-icon {
  margin-left: 4px;
}
.peer-assignment-body ql-tab-group {
  width: 100%;
}
.peer-assignment-body .score {
  align-items: center;
  display: flex;
  height: 16px;
  margin-bottom: 24px;
}
.peer-assignment-body .score ql-icon-button {
  --icon-size: 16px;
  --mdc-ripple-focus-opacity: 0;
  --mdc-ripple-hover-opacity: 0;
  --mdc-ripple-press-opacity: 0;
  margin-left: -12px;
}

.peer-assignment-body.with-sidebar .course-activity .primary {
  flex-grow: 1;
  height: fit-content;
  margin-right: 32px;
  position: relative;
  padding: 32px;
}
.peer-assignment-body.with-sidebar .course-activity .sidebar {
  display: flex;
  flex-direction: column;
  height: fit-content;
  position: sticky;
  top: 0px;
}
.peer-assignment-body.with-sidebar .course-activity .secondary {
  border: 1px solid #DADCE0;
  border-radius: 8px;
  margin-bottom: 12px;
  padding: 24px;
  width: 300px;
}
.peer-assignment-body.with-sidebar .course-activity .secondary .title {
  align-items: center;
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
}
.peer-assignment-body.with-sidebar .course-activity .secondary .assignments {
  display: flex;
  flex-direction: column;
}
.peer-assignment-body.with-sidebar .course-activity .secondary ql-button {
  --button-width: 100%;
  display: block;
  margin-bottom: 12px;
}
.peer-assignment-body.with-sidebar .course-activity .secondary .ql-headline-medium.passed {
  color: #137333;
}
.peer-assignment-body.with-sidebar .course-activity .secondary .ql-headline-medium.pending {
  color: #5F6368;
}
.peer-assignment-body.with-sidebar .course-activity .secondary .ql-headline-medium.failed {
  color: #C5221F;
}
.peer-assignment-body.with-sidebar .course-activity .secondary .peer-review-panel-drawer {
  height: 100%;
}
.peer-assignment-body.with-sidebar .course-activity .secondary .peer-review-panel-drawer .peer-review-panel-drawer-content {
  height: fit-content;
}
.peer-assignment-body.with-sidebar .course-activity .secondary .peer-review-panel-drawer .peer-review-panel-drawer-content .header {
  margin-bottom: 0px;
}
.peer-assignment-body.with-sidebar .course-activity .secondary .peer-review-panel-drawer .peer-review-panel-drawer-content .content {
  background: white;
  box-shadow: var(--elevation-2);
  border-radius: 8px;
  height: fit-content;
  margin: 12px;
  padding: 24px;
}
.peer-assignment-body.with-sidebar .course-activity .instructions {
  margin-bottom: 48px;
}
.peer-assignment-body.with-sidebar .course-activity .instructions h2 {
  margin-top: 16px;
}
.peer-assignment-body.with-sidebar .course-activity .instructions .lab-content__renderable-instructions {
  margin-top: -60px;
  max-width: initial;
}
.peer-assignment-body.with-sidebar .course-activity .next-activity {
  align-self: center;
}

.profile-avatar {
  margin-top: 20px;
}

.profile-badge {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding: 32px;
}

.profile-badges {
  column-gap: 24px;
  display: inline-grid;
  grid-template-columns: 1fr 1fr 1fr;
  margin-bottom: 160px;
  margin-top: 32px;
  row-gap: 24px;
}
@media (width <= 1032px) {
  .profile-badges {
    grid-template-columns: 1fr 1fr;
  }
}
@media (width <= 688px) {
  .profile-badges {
    grid-template-columns: 1fr;
  }
}

.profile-badge .badge-image {
  align-items: center;
  display: flex;
  height: 260px;
  justify-content: center;
  width: 240px;
}
.profile-badge .badge-image img {
  width: 100%;
}

.profile-league {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin-bottom: 12px;
}

ul.other-settings-list {
  list-style-type: none;
  padding-left: 0;
}

.public-profile {
  border-radius: 8px;
  padding: 4px 8px;
}
.public-profile.public {
  background: var(--md-sys-color-tertiary-container);
  color: var(--md-sys-color-on-tertiary-container);
}

.members-search {
  margin-bottom: 25px;
}

.tabs-container {
  align-items: center;
  align-self: stretch;
  border-bottom: 1px solid #DADCE0;
  column-gap: 65px;
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
  margin-bottom: 0px;
  padding: 0px 30px;
}

.quest-body ql-dialog {
  --dialog-width: 600px;
}
.quest-body ql-dialog ql-button {
  margin: inherit;
}
.quest-body .quest__badge {
  display: block;
  margin: 0 auto;
  opacity: 0.333;
  width: 75%;
}
.quest-body .quest__badge--complete {
  opacity: 1;
}
.quest-body .quest__step {
  position: relative;
}
.quest-body .quest__step:after {
  position: absolute;
  top: 32px;
  right: auto;
  bottom: auto;
  left: 0;
  width: 26px;
  height: 26px;
  background: white;
  border: 2px solid #DADCE0;
  border-radius: 50%;
  content: "";
  display: block;
}
.quest-body .quest__step:before {
  position: absolute;
  top: 32px;
  right: nil;
  bottom: nil;
  left: 14px;
  width: 0px;
  height: 100%;
  border-right: 2px solid #DADCE0;
  content: "";
  display: block;
}
.quest-body .quest__step:last-child:before {
  display: none;
}
.quest-body .quest__step:not(:last-child) {
  padding-bottom: 40px;
}
.quest-body .quest__step--optional:after {
  border-style: dotted;
}
.quest-body .quest__step--optional:before {
  border-right-style: dotted;
}
.quest-body .quest__step--complete:after {
  align-items: center;
  display: flex;
  justify-content: center;
  background: var(--success-color);
  border-color: var(--success-color);
  color: white;
  content: "check";
  font-family: "Material Icons";
  font-size: 24px;
}
.quest-body .quest__step--complete.quest__step--optional:after {
  border-color: white;
}
.quest-body .quest__step--tested_out:after {
  align-items: center;
  display: flex;
  justify-content: center;
  background: white;
  border-color: var(--success-color);
  color: var(--success-color);
  content: "skip_next";
  font-family: "Material Icons";
  font-size: 24px;
}
.quest-body .quest__step__lab {
  padding-left: 50px;
  position: relative;
}
.quest-body .quest__step__lab + .quest__step__lab:before {
  display: block;
  color: #5F6368;
  content: attr(optional_or);
  font-family: var(--md-ref-typeface-brand);
  font-weight: 700;
  font-size: 14px;
  margin: 16px 0;
}
.quest-body .quest__step__lab .catalog-item {
  margin-bottom: 0px;
}
.quest-body .quest__more h2 {
  margin-bottom: 16px;
  margin-top: 32px;
}
.quest-body .quest__more ul {
  padding-left: 32px;
}
.quest-body .quest__more li {
  margin-bottom: 8px;
}
.quest-body .quest__read-more {
  margin-top: 24px;
}
.quest-body .quest__steps {
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.quest-index .tr {
  position: relative;
}
.quest-index .flex-table__row .td:nth-child(1) {
  flex: 0 0 auto;
  width: 48px;
}
.quest-index .flex-table__row .td:nth-child(2) {
  flex: 3;
}
.quest-index .flex-table__row .td:nth-child(7),
.quest-index .flex-table__row .td:nth-child(8) {
  flex: 0 0 auto;
  width: 56px;
}
.quest-index .classroom-edit-button {
  margin-top: -16px;
  position: absolute;
  right: 24px;
  top: 50%;
}
@media (max-width: 600px) {
  .quest-index .classroom-edit-button {
    display: none;
  }
}

.quiz-body .quiz-wrapper {
  overflow-x: hidden;
  padding: 24px 16px 0 16px;
}
.quiz-body .quiz-wrapper h3, .quiz-body .quiz-wrapper ql-quiz {
  margin: 0 auto;
  max-width: 640px;
}
.quiz-body .quiz-wrapper ql-quiz {
  min-height: 100%;
}
.quiz-body .quiz-wrapper .quiz-start {
  color: #3C4043;
  font-size: 16px;
}
.quiz-body .quiz-wrapper .quiz-start .quiz-start-header {
  display: flex;
  margin: 24px 0 48px 0;
}
.quiz-body .quiz-wrapper .quiz-start .quiz-start-header div {
  margin-right: 16px;
}
.quiz-body .quiz-wrapper .quiz-start .retake-policy {
  margin: 24px 0 48px 0;
}
.quiz-body .quiz-wrapper .quiz-start .start-button {
  align-items: center;
  color: white;
  display: flex;
  height: 36px;
  justify-content: center;
  letter-spacing: 0.25px;
  width: 113px;
}
.quiz-body .quiz-wrapper .quiz-start .start-button.disabled {
  background-color: #e4e4e4;
  color: #1f1f1f;
}

.quiz-edit main {
  padding-top: 48px;
}
.quiz-edit .l-main-wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.quiz-edit .quiz__wrapper {
  display: flex;
  flex: 1;
  flex-wrap: wrap;
  gap: 32px;
}
.quiz-edit .quiz__details {
  flex: 1;
  min-width: 360px;
}
.quiz-edit .quiz__details .mdl-card__edit-title {
  align-items: center;
  display: flex;
}
.quiz-edit .quiz__preview {
  flex: 3;
  min-width: 360px;
}
.quiz-edit .quiz__preview .mdl-card {
  border-radius: 8px;
  box-shadow: 0px 1px 6px rgba(32, 33, 36, 0.28);
  height: 100%;
  width: 100%;
}
.quiz-edit .quiz__preview__header {
  align-items: center;
  border-bottom: 1px solid #ddd;
  display: flex;
  height: 64px;
  padding: 12px 32px;
}
.quiz-edit .quiz__preview__header .mdl-typography--title {
  margin-right: 16px;
}
.quiz-edit .quiz__preview__header .ellipsis {
  width: 600px;
}
.quiz-edit .quiz__preview__content {
  margin: 32px;
}

.subscriptions-body main {
  align-items: center;
  display: flex;
  flex-direction: column;
}
.subscriptions-body main > *:not(:last-child) {
  margin-bottom: 80px;
}
.subscriptions-body .top-matter {
  text-align: center;
}
.subscriptions-body .top-matter > *:not(:last-child) {
  margin-bottom: 24px;
}
.subscriptions-body .top-matter p {
  max-width: 800px;
}
.subscriptions-body .top-matter .ql-body-large {
  max-width: 720px;
}
.subscriptions-body .try-it-free {
  background: #E8F0FE;
  border: 1px solid #1A73E8;
  border-radius: 8px;
  padding: 24px;
  text-align: center;
}
.subscriptions-body .try-it-free .ql-body-large {
  max-width: 552px;
}
.subscriptions-body .subscription-options {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  justify-content: space-around;
  max-width: 824px;
  width: 100%;
}
.subscriptions-body .subscription-options .subscription-option {
  --card-padding: 40px;
  text-align: center;
  width: 100%;
  max-width: 400px;
}
.subscriptions-body .subscription-options .subscription-option > *:not(:last-child) {
  margin-bottom: 40px;
}
.subscriptions-body .subscription-options .discount {
  height: 26px;
}
.subscriptions-body .subscription-options .benefits {
  display: flex;
  flex-direction: column;
  gap: 12px;
  list-style: none;
  padding: 0;
  text-align: left;
}
.subscriptions-body .subscription-options .benefits li {
  align-items: center;
  display: flex;
}
.subscriptions-body .subscription-options .benefits li ql-icon {
  background: #E6F4EA;
  border-radius: 100%;
  color: #1E8E3E;
  margin-right: 8px;
  padding: 6px;
}
.subscriptions-body .subscription-options .benefits li:not(:last-child) {
  margin-bottom: 2px;
}
.subscriptions-body .purchase-credits {
  text-align: center;
}
.subscriptions-body .purchase-credits > *:not(:last-child) {
  margin-bottom: 8px;
}
.subscriptions-body .learning-plans {
  column-gap: 24px;
  display: grid;
  grid-template-columns: 388px 388px;
  justify-content: center;
  row-gap: 24px;
}

ql-dialog#subscription-modal {
  --dialog-width: 525px;
  --dialog-color: #E9EEF6;
  text-align: center;
  padding: 24px;
}
ql-dialog#subscription-modal ql-icon {
  color: #00639B;
  margin-bottom: 16px;
}

.updated-subscriptions-body main {
  background-color: var(--md-sys-color-surface-container);
}
.updated-subscriptions-body a.mdlink {
  color: var(--md-sys-color-primary);
}
.updated-subscriptions-body .organization-user-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  width: fit-content;
}
.updated-subscriptions-body .organization-user-container .organization-text {
  margin-bottom: 0;
}
.updated-subscriptions-body .organization-user-container .button-container {
  display: inline-block;
}
.updated-subscriptions-body .subscriptions-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  max-width: 1192px;
}
.updated-subscriptions-body .subscriptions-container .heading {
  text-align: center;
  font-family: var(--Static-Display-Large-Font, "Google Sans");
  font-size: var(--Static-Display-Large-Size, 57px);
  font-style: normal;
  font-weight: 500;
  line-height: var(--Static-Display-Large-Line-Height, 64px); /* 112.281% */
  letter-spacing: var(--Static-Display-Large-Tracking, 0px);
  margin-bottom: 26px;
}
.updated-subscriptions-body .subscriptions-container .heading .highlight {
  color: var(--md-sys-color-primary);
}
.updated-subscriptions-body .subscriptions-container .description {
  text-align: center;
  width: 100%;
  margin-bottom: 24px;
  max-width: 880px;
}
.updated-subscriptions-body .subscriptions-container .subscriptions-footer {
  text-align: center;
}
.updated-subscriptions-body .subscriptions-container .subscriptions-footer-container-relaunch {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  align-self: stretch;
}
.updated-subscriptions-body .subscriptions-container .subscriptions-footer-container-relaunch .subscriptions-footer-relaunch {
  color: var(--md-sys-color--on-surface-variant);
  font-family: var(--Static-Body-Medium-Font, "Google Sans Text");
  font-size: var(--Static-Body-Medium-Size, 14px);
  font-style: normal;
  font-weight: 400;
  line-height: var(--Static-Body-Medium-Line-Height, 20px); /* 142.857% */
  letter-spacing: var(--Static-Body-Medium-Tracking, 0);
  margin-bottom: 0;
}
.updated-subscriptions-body .subscriptions-container .terms {
  text-align: center;
  width: 60%;
}
.updated-subscriptions-body .subscriptions-container .subscriptions-tabs {
  display: flex;
  flex-direction: row;
  margin-bottom: 24px;
}
.updated-subscriptions-body .subscriptions-container .subscriptions-tabs .tab-container {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.updated-subscriptions-body .subscriptions-container .subscriptions-tabs ql-icon {
  margin-right: 8px;
}
.updated-subscriptions-body .subscriptions-container .subscriptions-tabs .left-tab, .updated-subscriptions-body .subscriptions-container .subscriptions-tabs .right-tab {
  color: #1F1F1F;
  border: 1px solid #747775;
  padding: 10px 12px;
}
.updated-subscriptions-body .subscriptions-container .subscriptions-tabs .left-tab.active, .updated-subscriptions-body .subscriptions-container .subscriptions-tabs .right-tab.active {
  background-color: #C2E7FF;
  color: #004A77;
}
.updated-subscriptions-body .subscriptions-container .subscriptions-tabs .left-tab {
  border-top-left-radius: 100px;
  border-bottom-left-radius: 100px;
  border-right: none;
}
.updated-subscriptions-body .subscriptions-container .subscriptions-tabs .right-tab {
  border-top-right-radius: 100px;
  border-bottom-right-radius: 100px;
}
.updated-subscriptions-body .subscriptions-container .plans-content {
  display: grid;
  gap: 8px;
  grid-auto-flow: column;
  justify-content: space-around;
  list-style-type: none;
  margin-bottom: 32px;
  max-width: 100%;
  overflow: auto;
  padding: 8px 8px 16px;
}
.updated-subscriptions-body .subscriptions-container .plan-container {
  align-items: stretch;
  background-color: white;
  border-radius: 32px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  height: 100%;
  justify-content: space-between;
  padding: 24px 24px 16px 24px;
  width: 288px;
}
.updated-subscriptions-body .subscriptions-container .plan-container__top, .updated-subscriptions-body .subscriptions-container .plan-container__bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}
.updated-subscriptions-body .subscriptions-container .plan-container.current-plan {
  box-shadow: 0px 4px 8px 3px rgba(0, 0, 0, 0.15), 0px 1px 3px 0px rgba(0, 0, 0, 0.3);
}
.updated-subscriptions-body .subscriptions-container .plan-container p {
  margin-bottom: 0;
}
.updated-subscriptions-body .subscriptions-container .plan-container .chips-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px;
}
.updated-subscriptions-body .subscriptions-container .plan-container .chips-container ql-chip {
  --chip-border-color: none;
}
.updated-subscriptions-body .subscriptions-container .plan-container .chips-container ql-chip.relaunch {
  --chip-color: #F7ECFE;
  --chip-text-color: #7438D2;
}
.updated-subscriptions-body .subscriptions-container .plan-container .chips-container ql-chip.gwg {
  --chip-color: #E0F4FF;
  --chip-text-color: #004D68;
}
.updated-subscriptions-body .subscriptions-container .plan-container .chips-container ql-chip.current-chip {
  --chip-border-color: #C4C7C5;
}
.updated-subscriptions-body .subscriptions-container .plan-container .chips-container ql-chip.innovator {
  --chip-color: #E9EEF6;
}
.updated-subscriptions-body .subscriptions-container .plan-container .chips-container ql-chip.monthly {
  --chip-color: #FFFADE;
  --chip-text-color: #8F4E06;
}
.updated-subscriptions-body .subscriptions-container .plan-container .chips-container ql-chip.annual {
  --chip-color: #F7ECFE;
  --chip-text-color: #7438D2;
}
.updated-subscriptions-body .subscriptions-container .plan-container .price-calculated {
  font-family: "Google Sans";
  font-style: normal;
  line-height: 32px;
  font-weight: 400;
  font-size: 30px;
}
.updated-subscriptions-body .subscriptions-container .plan-container h2.plan-title-heading {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: 0;
  min-height: 76px;
  text-align: center;
}
.updated-subscriptions-body .subscriptions-container .plan-container h2.plan-title-heading ql-chip {
  --chip-border-color: none;
}
.updated-subscriptions-body .subscriptions-container .plan-container h2.plan-title-heading ql-chip.innovator {
  --chip-color: #E9EEF6;
}
.updated-subscriptions-body .subscriptions-container .plan-container h2.plan-title-heading ql-chip.monthly {
  --chip-color: #FFFADE;
  --chip-text-color: #8F4E06;
}
.updated-subscriptions-body .subscriptions-container .plan-container h2.plan-title-heading ql-chip.annual {
  --chip-color: #F7ECFE;
  --chip-text-color: #7438D2;
}
.updated-subscriptions-body .subscriptions-container .plan-container h2.plan-title-heading .price-details {
  font-weight: 700;
}
.updated-subscriptions-body .subscriptions-container .plan-container h2.plan-title-heading .price-details .frequency-details {
  font-weight: 400;
}
.updated-subscriptions-body .subscriptions-container .plan-container .plan-description {
  text-align: center;
  width: 100%;
}
.updated-subscriptions-body .subscriptions-container .plan-container .plan-details-container {
  display: flex;
  flex-direction: row;
  gap: 16px;
}
.updated-subscriptions-body .subscriptions-container .plan-container .plan-details-container .plan-details-list {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.updated-subscriptions-body .subscriptions-container .plan-container .plan-details-container .plan-details-list .plan-details-item {
  display: flex;
  flex-direction: row;
  color: var(--md-sys-color--on-surface);
  font-family: var(--Static-Body-Medium-Font, "Google Sans Text");
  font-size: var(--Static-Body-Medium-Size, 14px);
  font-style: normal;
  font-weight: 400;
  line-height: var(--Static-Body-Medium-Line-Height, 20px); /* 142.857% */
  letter-spacing: var(--Static-Body-Medium-Tracking, 0);
}
.updated-subscriptions-body .subscriptions-container .plan-container .plan-details-container .plan-details-list .plan-details-item .material-icons {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1rem;
  margin-right: 8px;
  vertical-align: middle;
}
.updated-subscriptions-body .subscriptions-container .plan-container .plan-details-container .plan-detail {
  display: flex;
  flex-direction: column;
}
.updated-subscriptions-body .subscriptions-container .plan-container .plan-details-container .plan-detail p {
  font-size: 14px;
  line-height: 2.5rem;
}
.updated-subscriptions-body .subscriptions-container .plan-container .plan-details-container .plan-detail ql-icon {
  margin-right: 8px;
}
.updated-subscriptions-body .subscriptions-container .plan-container .plan-benefits-list {
  list-style-type: none;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
}
.updated-subscriptions-body .subscriptions-container .plan-container .plan-benefits-list li {
  font-size: 14px;
  line-height: 2.5rem;
  color: var(--md-sys-color-on-background);
  font-size: var(--md-sys-typescale-body-large);
}
.updated-subscriptions-body .subscriptions-container .plan-container .plan-benefits-list li .material-icons {
  font-size: 1rem;
  margin-right: 8px;
  vertical-align: middle;
}
.updated-subscriptions-body .subscriptions-container .plan-container .plan-form {
  width: 100%;
}
.updated-subscriptions-body .subscriptions-container .plan-container .plan-button {
  --button-width: 100%;
  width: 100%;
}
.updated-subscriptions-body .subscriptions-container .plan-container .plan-button ql-menu-item {
  --button-width: 200px;
}
.updated-subscriptions-body .subscriptions-container .plan-container .manage-subscriptions-button {
  --md-outlined-button-outline-color: #B3261E;
  --md-outlined-button-hover-state-layer-color: #B3261E;
  --md-outlined-button-pressed-state-layer-color: #B3261E;
  --md-outlined-button-label-text-color: #B3261E;
  --md-outlined-button-hover-label-text-color: #B3261E;
  --md-outlined-button-focus-label-text-color: #B3261E;
  --md-outlined-button-pressed-label-text-color: #B3261E;
}

.gcsb-org-banner-container {
  background: #f0f4f9;
  width: 100%;
  display: flex;
  padding: 16px 8px 16px 16px;
  flex-direction: column;
  gap: 1px;
  padding-top: 10px;
  padding-bottom: 10px;
  border-radius: var(--Corner-Large, 16px);
  background: #e9eef6;
  margin-bottom: 48px;
}
.gcsb-org-banner-container .custom-action {
  padding-right: 24px;
}
.gcsb-org-banner-container .custom-action ::slotted(ql-button) {
  padding-left: 16px;
}
.gcsb-org-banner-container .gcsb-org-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.gcsb-org-banner-container .gcsb-org-banner-start {
  align-items: flex-start;
  display: flex;
  align-items: center;
  margin-right: auto;
  padding: 4px 0px;
}
@media (width <= 768px) {
  .gcsb-org-banner-container .gcsb-org-banner-start {
    grid-column: 1;
    left: 0;
  }
}
.gcsb-org-banner-container .gcsb-org-banner-icon {
  border-radius: var(--Corner-Full, 1000px);
  background: #0b57d0;
  color: #e3e3e3;
  display: flex;
  padding: 8px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
}
.gcsb-org-banner-container .gcsb-org-banner-actions {
  display: flex;
  align-items: center;
}
.gcsb-org-banner-container .gcsb-org-banner-content {
  flex-grow: 1;
  padding: 2px 0px 2px 24px;
}
.gcsb-org-banner-container .gcsb-org-banner-title {
  margin-bottom: 0;
}
.gcsb-org-banner-container .gcsb-org-banner-text {
  margin-bottom: 0;
}

dialog#innovator-profile-dialog.innovator-form-container {
  margin: 0;
  border: none;
  box-sizing: content-box;
  padding: 20px 0;
  box-shadow: -2px 0px 5px rgba(0, 0, 0, 0.1);
  border-radius: 0;
  position: fixed;
  top: 0;
  right: 0;
  left: auto;
  width: 30%;
  height: 100%;
  overflow-y: scroll;
  z-index: 9999;
}

.terms-of-service-body .terms-wrapper {
  max-width: 800px;
  margin: 0 auto;
  padding: 64px 24px;
  text-align: center;
}
.terms-of-service-body .terms-wrapper .ql-body {
  text-align: left;
}
.terms-of-service-body .terms-wrapper #decline-tos-dialog {
  --dialog-width: 379px;
}
.terms-of-service-body .terms-panel {
  height: 300px;
  overflow-y: auto;
  padding: 24px;
  text-align: left;
}
.terms-of-service-body .recaptcha {
  display: flex;
  justify-content: center;
}
.terms-of-service-body .form-row.buttons {
  justify-content: center;
}

.terms-of-service a {
  text-decoration: underline;
}
.terms-of-service p, .terms-of-service li, .terms-of-service ol {
  font-family: var(--md-ref-typeface-plain);
  margin: 1.5rem 0;
  overflow-wrap: break-word;
}
.terms-of-service ol ol {
  padding-left: 1.5rem;
}
.terms-of-service li {
  list-style: decimal;
}
.terms-of-service li li {
  list-style: upper-alpha;
}
.terms-of-service li li li {
  list-style: lower-roman;
}
.terms-of-service .additional ol {
  counter-reset: additem;
}
.terms-of-service .additional li::before {
  content: counter(additem) ".";
  counter-increment: additem;
}
.terms-of-service .additional li li::before {
  content: counters(additem, ".") ".";
  counter-increment: additem;
}
.terms-of-service .additional li {
  display: inherit;
}
.terms-of-service .additional li li {
  list-style: decimal;
}

body.video-body .course-activity .course-activity-content {
  padding: 8px 0;
}
body.video-body .video-container {
  overflow: hidden;
  border: 1px solid #DADCE0;
  padding-bottom: 56.25%;
  position: relative;
}
body.video-body .video-container iframe {
  height: 100%;
  left: 0px;
  position: absolute;
  top: 0px;
  width: 100%;
}
body.video-body .video-wrapper {
  padding: 4px 16px;
}
body.video-body .video-wrapper h1.video-header {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}

.relaunch .learning-wrapper {
  max-width: 1120px;
}
.relaunch .learning-wrapper .top-matter {
  max-width: 100% !important;
  width: 100%;
}
.relaunch .learning-wrapper .top-container {
  background-color: var(--md-sys-color-on-secondary-fixed);
  border-radius: 32px 32px 0 32px;
  color: var(--md-sys-color-surface);
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin-bottom: 72px;
  padding: 24px 32px 48px;
  position: relative;
  width: 100%;
}
@media (max-width: 965px) {
  .relaunch .learning-wrapper .top-container {
    border-radius: 32px;
  }
}
.relaunch .learning-wrapper .top-container::before {
  background-color: transparent;
  border-top-right-radius: 24px;
  box-shadow: 0px -24px 0 0 var(--md-sys-color-on-secondary-fixed);
  content: "";
  height: 48px;
  right: 500px;
  position: absolute;
  top: 100%;
  width: 40px;
}
@media (max-width: 965px) {
  .relaunch .learning-wrapper .top-container::before {
    display: none;
  }
}
.relaunch .learning-wrapper .top-container::after {
  background-color: var(--md-sys-color-on-secondary-fixed);
  border-radius: 0 0 32px 24px;
  content: "";
  display: block;
  height: 48px;
  position: absolute;
  right: 0;
  top: 100%;
  width: 500px;
}
@media (max-width: 965px) {
  .relaunch .learning-wrapper .top-container::after {
    display: none;
  }
}
.relaunch .learning-wrapper .top-content, .relaunch .learning-wrapper .top-title {
  display: flex;
  gap: 8px;
}
.relaunch .learning-wrapper .top-content {
  flex-direction: row;
  justify-content: space-between;
}
.relaunch .learning-wrapper .top-title {
  flex-direction: column;
}
@media (max-width: 600px) {
  .relaunch .learning-wrapper .top-title {
    align-items: flex-start;
    flex: 1 1 auto;
  }
}
@media (max-width: 600px) {
  .relaunch .learning-wrapper .top-image {
    display: none;
  }
}
.relaunch .learning-wrapper .top-cta-progress-section {
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.relaunch .learning-wrapper .top-cta-progress-section ql-button[outlined] {
  background: var(--base-surface-color);
  border-radius: 20px;
  height: 40px;
}
@media (max-width: 965px) {
  .relaunch .learning-wrapper .top-cta-progress-section {
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-start;
  }
}
.relaunch .learning-wrapper .feedback-button-container {
  margin-top: 32px;
}
.relaunch .learning-wrapper .feedback-button-container ql-button.feedback-button {
  --button-text-color: var(--md-sys-color-on-surface-variant, #444746);
  --md-outlined-button-icon-color: var(--md-sys-color-on-surface-variant, #444746);
  --md-outlined-button-hover-icon-color: var(--md-sys-color-on-surface-variant, #444746);
  --md-outlined-button-focus-icon-color: var(--md-sys-color-on-surface-variant, #444746);
  --md-outlined-button-pressed-icon-color: var(--md-sys-color-on-surface-variant, #444746);
}
@media (max-width: 600px) {
  .relaunch .learning-wrapper ql-button.feedback-button {
    align-items: center;
    display: flex;
    justify-content: center;
    --button-width: 100%;
  }
}

/*
 * Provides a drop-in pointer for the default Trix stylesheet that will format the toolbar and
 * the trix-editor content (whether displayed or under editing). Feel free to incorporate this
 * inclusion directly in any other asset bundle and remove this file.
 *
 *= require trix
*/
/*
 * We need to override trix.css’s image gallery styles to accommodate the
 * <action-text-attachment> element we wrap around attachments. Otherwise,
 * images in galleries will be squished by the max-width: 33%; rule.
*/
.trix-content .attachment-gallery > action-text-attachment,
.trix-content .attachment-gallery > .attachment {
  flex: 1 0 33%;
  padding: 0 0.5em;
  max-width: 33%;
}

.trix-content .attachment-gallery.attachment-gallery--2 > action-text-attachment,
.trix-content .attachment-gallery.attachment-gallery--2 > .attachment, .trix-content .attachment-gallery.attachment-gallery--4 > action-text-attachment,
.trix-content .attachment-gallery.attachment-gallery--4 > .attachment {
  flex-basis: 50%;
  max-width: 50%;
}

.trix-content action-text-attachment .attachment {
  padding: 0 !important;
  max-width: 100% !important;
}

/* Qwiklabs custom styling below */
trix-toolbar {
  align-self: flex-start;
}

trix-editor {
  width: 100%;
}

.trix-container {
  flex-direction: column;
  width: 100%;
}

.trix-medium-editor > trix-editor {
  min-height: 10em;
}

.trix-container.disabled > trix-toolbar {
  display: none;
}

.trix-button-group--file-tools {
  display: none !important;
}

trix-editor {
  border: 1px solid #bbb;
  border-radius: 3px;
  margin: 0;
  padding: 0.4em 0.6em;
  min-height: 5em;
  outline: none;
}

trix-toolbar * {
  box-sizing: border-box;
}

trix-toolbar .trix-button-row {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  overflow-x: auto;
}

trix-toolbar .trix-button-group {
  display: flex;
  margin-bottom: 10px;
  border: 1px solid #bbb;
  border-top-color: #ccc;
  border-bottom-color: #888;
  border-radius: 3px;
}

trix-toolbar .trix-button-group:not(:first-child) {
  margin-left: 1.5vw;
}

@media (max-width: 768px) {
  trix-toolbar .trix-button-group:not(:first-child) {
    margin-left: 0;
  }
}
trix-toolbar .trix-button-group-spacer {
  flex-grow: 1;
}

@media (max-width: 768px) {
  trix-toolbar .trix-button-group-spacer {
    display: none;
  }
}
trix-toolbar .trix-button {
  position: relative;
  float: left;
  color: rgba(0, 0, 0, 0.6);
  font-size: 0.75em;
  font-weight: 600;
  white-space: nowrap;
  padding: 0 0.5em;
  margin: 0;
  outline: none;
  border: none;
  border-bottom: 1px solid #ddd;
  border-radius: 0;
  background: transparent;
}

trix-toolbar .trix-button:not(:first-child) {
  border-left: 1px solid #ccc;
}

trix-toolbar .trix-button.trix-active {
  background: #cbeefa;
  color: black;
}

trix-toolbar .trix-button:not(:disabled) {
  cursor: pointer;
}

trix-toolbar .trix-button:disabled {
  color: rgba(0, 0, 0, 0.125);
}

@media (max-width: 768px) {
  trix-toolbar .trix-button {
    letter-spacing: -0.01em;
    padding: 0 0.3em;
  }
}
trix-toolbar .trix-button--icon {
  font-size: inherit;
  width: 2.6em;
  height: 1.6em;
  max-width: calc(0.8em + 4vw);
  text-indent: -9999px;
}

@media (max-width: 768px) {
  trix-toolbar .trix-button--icon {
    height: 2em;
    max-width: calc(0.8em + 3.5vw);
  }
}
trix-toolbar .trix-button--icon::before {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0.6;
  content: "";
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

@media (max-width: 768px) {
  trix-toolbar .trix-button--icon::before {
    right: 6%;
    left: 6%;
  }
}
trix-toolbar .trix-button--icon.trix-active::before {
  opacity: 1;
}

trix-toolbar .trix-button--icon:disabled::before {
  opacity: 0.125;
}

trix-toolbar .trix-button--icon-attach::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10.5%2018V7.5c0-2.25%203-2.25%203%200V18c0%204.125-6%204.125-6%200V7.5c0-6.375%209-6.375%209%200V18%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  top: 8%;
  bottom: 4%;
}

trix-toolbar .trix-button--icon-bold::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.522%2019.242a.5.5%200%200%201-.5-.5V5.35a.5.5%200%200%201%20.5-.5h5.783c1.347%200%202.46.345%203.24.982.783.64%201.216%201.562%201.216%202.683%200%201.13-.587%202.129-1.476%202.71a.35.35%200%200%200%20.049.613c1.259.56%202.101%201.742%202.101%203.22%200%201.282-.483%202.334-1.363%203.063-.876.726-2.132%201.12-3.66%201.12h-5.89ZM9.27%207.347v3.362h1.97c.766%200%201.347-.17%201.733-.464.38-.291.587-.716.587-1.27%200-.53-.183-.928-.513-1.198-.334-.273-.838-.43-1.505-.43H9.27Zm0%205.606v3.791h2.389c.832%200%201.448-.177%201.853-.497.399-.315.614-.786.614-1.423%200-.62-.22-1.077-.63-1.385-.418-.313-1.053-.486-1.905-.486H9.27Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-italic::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9%205h6.5v2h-2.23l-2.31%2010H13v2H6v-2h2.461l2.306-10H9V5Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-link::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M18.948%205.258a4.337%204.337%200%200%200-6.108%200L11.217%206.87a.993.993%200%200%200%200%201.41c.392.39%201.027.39%201.418%200l1.623-1.613a2.323%202.323%200%200%201%203.271%200%202.29%202.29%200%200%201%200%203.251l-2.393%202.38a3.021%203.021%200%200%201-4.255%200l-.05-.049a1.007%201.007%200%200%200-1.418%200%20.993.993%200%200%200%200%201.41l.05.049a5.036%205.036%200%200%200%207.091%200l2.394-2.38a4.275%204.275%200%200%200%200-6.072Zm-13.683%2013.6a4.337%204.337%200%200%200%206.108%200l1.262-1.255a.993.993%200%200%200%200-1.41%201.007%201.007%200%200%200-1.418%200L9.954%2017.45a2.323%202.323%200%200%201-3.27%200%202.29%202.29%200%200%201%200-3.251l2.344-2.331a2.579%202.579%200%200%201%203.631%200c.392.39%201.027.39%201.419%200a.993.993%200%200%200%200-1.41%204.593%204.593%200%200%200-6.468%200l-2.345%202.33a4.275%204.275%200%200%200%200%206.072Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-strike::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6%2014.986c.088%202.647%202.246%204.258%205.635%204.258%203.496%200%205.713-1.728%205.713-4.463%200-.275-.02-.536-.062-.781h-3.461c.398.293.573.654.573%201.123%200%201.035-1.074%201.787-2.646%201.787-1.563%200-2.773-.762-2.91-1.924H6ZM6.432%2010h3.763c-.632-.314-.914-.715-.914-1.273%200-1.045.977-1.739%202.432-1.739%201.475%200%202.52.723%202.617%201.914h2.764c-.05-2.548-2.11-4.238-5.39-4.238-3.145%200-5.392%201.719-5.392%204.316%200%20.363.04.703.12%201.02ZM4%2011a1%201%200%201%200%200%202h15a1%201%200%201%200%200-2H4Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-quote::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M4.581%208.471c.44-.5%201.056-.834%201.758-.995C8.074%207.17%209.201%207.822%2010%208.752c1.354%201.578%201.33%203.555.394%205.277-.941%201.731-2.788%203.163-4.988%203.56a.622.622%200%200%201-.653-.317c-.113-.205-.121-.49.16-.764.294-.286.567-.566.791-.835.222-.266.413-.54.524-.815.113-.28.156-.597.026-.908-.128-.303-.39-.524-.72-.69a3.02%203.02%200%200%201-1.674-2.7c0-.905.283-1.59.72-2.088Zm9.419%200c.44-.5%201.055-.834%201.758-.995%201.734-.306%202.862.346%203.66%201.276%201.355%201.578%201.33%203.555.395%205.277-.941%201.731-2.789%203.163-4.988%203.56a.622.622%200%200%201-.653-.317c-.113-.205-.122-.49.16-.764.294-.286.567-.566.791-.835.222-.266.412-.54.523-.815.114-.28.157-.597.026-.908-.127-.303-.39-.524-.72-.69a3.02%203.02%200%200%201-1.672-2.701c0-.905.283-1.59.72-2.088Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-heading-1::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21.5%207.5v-3h-12v3H14v13h3v-13h4.5ZM9%2013.5h3.5v-3h-10v3H6v7h3v-7Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-code::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.293%2011.293a1%201%200%200%200%200%201.414l4%204a1%201%200%201%200%201.414-1.414L5.414%2012l3.293-3.293a1%201%200%200%200-1.414-1.414l-4%204Zm13.414%205.414%204-4a1%201%200%200%200%200-1.414l-4-4a1%201%200%201%200-1.414%201.414L18.586%2012l-3.293%203.293a1%201%200%200%200%201.414%201.414Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-bullet-list::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%207.5a1.5%201.5%200%201%200%200-3%201.5%201.5%200%200%200%200%203ZM8%206a1%201%200%200%201%201-1h11a1%201%200%201%201%200%202H9a1%201%200%200%201-1-1Zm1%205a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm0%206a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm-2.5-5a1.5%201.5%200%201%201-3%200%201.5%201.5%200%200%201%203%200ZM5%2019.5a1.5%201.5%200%201%200%200-3%201.5%201.5%200%200%200%200%203Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-number-list::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3%204h2v4H4V5H3V4Zm5%202a1%201%200%200%201%201-1h11a1%201%200%201%201%200%202H9a1%201%200%200%201-1-1Zm1%205a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm0%206a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm-3.5-7H6v1l-1.5%202H6v1H3v-1l1.667-2H3v-1h2.5ZM3%2017v-1h3v4H3v-1h2v-.5H4v-1h1V17H3Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-undo::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3%2014a1%201%200%200%200%201%201h6a1%201%200%201%200%200-2H6.257c2.247-2.764%205.151-3.668%207.579-3.264%202.589.432%204.739%202.356%205.174%205.405a1%201%200%200%200%201.98-.283c-.564-3.95-3.415-6.526-6.825-7.095C11.084%207.25%207.63%208.377%205%2011.39V8a1%201%200%200%200-2%200v6Zm2-1Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-redo::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21%2014a1%201%200%200%201-1%201h-6a1%201%200%201%201%200-2h3.743c-2.247-2.764-5.151-3.668-7.579-3.264-2.589.432-4.739%202.356-5.174%205.405a1%201%200%200%201-1.98-.283c.564-3.95%203.415-6.526%206.826-7.095%203.08-.513%206.534.614%209.164%203.626V8a1%201%200%201%201%202%200v6Zm-2-1Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-decrease-nesting-level::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%206a1%201%200%200%201%201-1h12a1%201%200%201%201%200%202H6a1%201%200%200%201-1-1Zm4%205a1%201%200%201%200%200%202h9a1%201%200%201%200%200-2H9Zm-3%206a1%201%200%201%200%200%202h12a1%201%200%201%200%200-2H6Zm-3.707-5.707a1%201%200%200%200%200%201.414l2%202a1%201%200%201%200%201.414-1.414L4.414%2012l1.293-1.293a1%201%200%200%200-1.414-1.414l-2%202Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-button--icon-increase-nesting-level::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%206a1%201%200%200%201%201-1h12a1%201%200%201%201%200%202H6a1%201%200%200%201-1-1Zm4%205a1%201%200%201%200%200%202h9a1%201%200%201%200%200-2H9Zm-3%206a1%201%200%201%200%200%202h12a1%201%200%201%200%200-2H6Zm-2.293-2.293%202-2a1%201%200%200%200%200-1.414l-2-2a1%201%200%201%200-1.414%201.414L3.586%2012l-1.293%201.293a1%201%200%201%200%201.414%201.414Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}

trix-toolbar .trix-dialogs {
  position: relative;
}

trix-toolbar .trix-dialog {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  font-size: 0.75em;
  padding: 15px 10px;
  background: #fff;
  box-shadow: 0 0.3em 1em #ccc;
  border-top: 2px solid #888;
  border-radius: 5px;
  z-index: 5;
}

trix-toolbar .trix-input--dialog {
  font-size: inherit;
  font-weight: normal;
  padding: 0.5em 0.8em;
  margin: 0 10px 0 0;
  border-radius: 3px;
  border: 1px solid #bbb;
  background-color: #fff;
  box-shadow: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

trix-toolbar .trix-input--dialog.validate:invalid {
  box-shadow: #F00 0px 0px 1.5px 1px;
}

trix-toolbar .trix-button--dialog {
  font-size: inherit;
  padding: 0.5em;
  border-bottom: none;
}

trix-toolbar .trix-dialog--link {
  max-width: 600px;
}

trix-toolbar .trix-dialog__link-fields {
  display: flex;
  align-items: baseline;
}

trix-toolbar .trix-dialog__link-fields .trix-input {
  flex: 1;
}

trix-toolbar .trix-dialog__link-fields .trix-button-group {
  flex: 0 0 content;
  margin: 0;
}

trix-editor [data-trix-mutable]:not(.attachment__caption-editor) {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

trix-editor [data-trix-mutable]::-moz-selection,
trix-editor [data-trix-cursor-target]::-moz-selection, trix-editor [data-trix-mutable] ::-moz-selection {
  background: none;
}

trix-editor [data-trix-mutable]::selection,
trix-editor [data-trix-cursor-target]::selection, trix-editor [data-trix-mutable] ::selection {
  background: none;
}

trix-editor .attachment__caption-editor:focus[data-trix-mutable]::-moz-selection {
  background: highlight;
}

trix-editor .attachment__caption-editor:focus[data-trix-mutable]::selection {
  background: highlight;
}

trix-editor [data-trix-mutable].attachment.attachment--file {
  box-shadow: 0 0 0 2px highlight;
  border-color: transparent;
}

trix-editor [data-trix-mutable].attachment img {
  box-shadow: 0 0 0 2px highlight;
}

trix-editor .attachment {
  position: relative;
}

trix-editor .attachment:hover {
  cursor: default;
}

trix-editor .attachment--preview .attachment__caption:hover {
  cursor: text;
}

trix-editor .attachment__progress {
  position: absolute;
  z-index: 1;
  height: 20px;
  top: calc(50% - 10px);
  left: 5%;
  width: 90%;
  opacity: 0.9;
  transition: opacity 200ms ease-in;
}

trix-editor .attachment__progress[value="100"] {
  opacity: 0;
}

trix-editor .attachment__caption-editor {
  display: inline-block;
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
  color: inherit;
  text-align: center;
  vertical-align: top;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

trix-editor .attachment__toolbar {
  position: absolute;
  z-index: 1;
  top: -0.9em;
  left: 0;
  width: 100%;
  text-align: center;
}

trix-editor .trix-button-group {
  display: inline-flex;
}

trix-editor .trix-button {
  position: relative;
  float: left;
  color: #666;
  white-space: nowrap;
  font-size: 80%;
  padding: 0 0.8em;
  margin: 0;
  outline: none;
  border: none;
  border-radius: 0;
  background: transparent;
}

trix-editor .trix-button:not(:first-child) {
  border-left: 1px solid #ccc;
}

trix-editor .trix-button.trix-active {
  background: #cbeefa;
}

trix-editor .trix-button:not(:disabled) {
  cursor: pointer;
}

trix-editor .trix-button--remove {
  text-indent: -9999px;
  display: inline-block;
  padding: 0;
  outline: none;
  width: 1.8em;
  height: 1.8em;
  line-height: 1.8em;
  border-radius: 50%;
  background-color: #fff;
  border: 2px solid highlight;
  box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.25);
}

trix-editor .trix-button--remove::before {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0.7;
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg%20height%3D%2224%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M19%206.41%2017.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012z%22%2F%3E%3Cpath%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 90%;
}

trix-editor .trix-button--remove:hover {
  border-color: #333;
}

trix-editor .trix-button--remove:hover::before {
  opacity: 1;
}

trix-editor .attachment__metadata-container {
  position: relative;
}

trix-editor .attachment__metadata {
  position: absolute;
  left: 50%;
  top: 2em;
  transform: translate(-50%, 0);
  max-width: 90%;
  padding: 0.1em 0.6em;
  font-size: 0.8em;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.7);
  border-radius: 3px;
}

trix-editor .attachment__metadata .attachment__name {
  display: inline-block;
  max-width: 100%;
  vertical-align: bottom;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

trix-editor .attachment__metadata .attachment__size {
  margin-left: 0.2em;
  white-space: nowrap;
}

.trix-content {
  line-height: 1.5;
}

.trix-content * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.trix-content h1 {
  font-size: 1.2em;
  line-height: 1.2;
}

.trix-content blockquote {
  border: 0 solid #ccc;
  border-left-width: 0.3em;
  margin-left: 0.3em;
  padding-left: 0.6em;
}

.trix-content [dir=rtl] blockquote,
.trix-content blockquote[dir=rtl] {
  border-width: 0;
  border-right-width: 0.3em;
  margin-right: 0.3em;
  padding-right: 0.6em;
}

.trix-content li {
  margin-left: 1em;
}

.trix-content [dir=rtl] li {
  margin-right: 1em;
}

.trix-content pre {
  display: inline-block;
  width: 100%;
  vertical-align: top;
  font-family: monospace;
  font-size: 0.9em;
  padding: 0.5em;
  white-space: pre;
  background-color: #eee;
  overflow-x: auto;
}

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

.trix-content .attachment {
  display: inline-block;
  position: relative;
  max-width: 100%;
}

.trix-content .attachment a {
  color: inherit;
  text-decoration: none;
}

.trix-content .attachment a:hover, .trix-content .attachment a:visited:hover {
  color: inherit;
}

.trix-content .attachment__caption {
  text-align: center;
}

.trix-content .attachment__caption .attachment__name + .attachment__size::before {
  content: " •";
}

.trix-content .attachment--preview {
  width: 100%;
  text-align: center;
}

.trix-content .attachment--preview .attachment__caption {
  color: #666;
  font-size: 0.9em;
  line-height: 1.2;
}

.trix-content .attachment--file {
  color: #333;
  line-height: 1;
  margin: 0 2px 2px 2px;
  padding: 0.4em 1em;
  border: 1px solid #bbb;
  border-radius: 5px;
}

.trix-content .attachment-gallery {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}

.trix-content .attachment-gallery .attachment {
  flex: 1 0 33%;
  padding: 0 0.5em;
  max-width: 33%;
}

.trix-content .attachment-gallery.attachment-gallery--2 .attachment, .trix-content .attachment-gallery.attachment-gallery--4 .attachment {
  flex-basis: 50%;
  max-width: 50%;
}

.tippy-box[data-animation=fade][data-state=hidden] {
  opacity: 0;
}

[data-tippy-root] {
  max-width: calc(100vw - 10px);
}

.tippy-box {
  position: relative;
  background-color: #333;
  color: #fff;
  border-radius: 4px;
  font-size: 14px;
  line-height: 1.4;
  white-space: normal;
  outline: 0;
  transition-property: transform, visibility, opacity;
}

.tippy-box[data-placement^=top] > .tippy-arrow {
  bottom: 0;
}

.tippy-box[data-placement^=top] > .tippy-arrow:before {
  bottom: -7px;
  left: 0;
  border-width: 8px 8px 0;
  border-top-color: initial;
  transform-origin: center top;
}

.tippy-box[data-placement^=bottom] > .tippy-arrow {
  top: 0;
}

.tippy-box[data-placement^=bottom] > .tippy-arrow:before {
  top: -7px;
  left: 0;
  border-width: 0 8px 8px;
  border-bottom-color: initial;
  transform-origin: center bottom;
}

.tippy-box[data-placement^=left] > .tippy-arrow {
  right: 0;
}

.tippy-box[data-placement^=left] > .tippy-arrow:before {
  border-width: 8px 0 8px 8px;
  border-left-color: initial;
  right: -7px;
  transform-origin: center left;
}

.tippy-box[data-placement^=right] > .tippy-arrow {
  left: 0;
}

.tippy-box[data-placement^=right] > .tippy-arrow:before {
  left: -7px;
  border-width: 8px 8px 8px 0;
  border-right-color: initial;
  transform-origin: center right;
}

.tippy-box[data-inertia][data-state=visible] {
  transition-timing-function: cubic-bezier(0.54, 1.5, 0.38, 1.11);
}

.tippy-arrow {
  width: 16px;
  height: 16px;
  color: #333;
}

.tippy-arrow:before {
  content: "";
  position: absolute;
  border-color: transparent;
  border-style: solid;
}

.tippy-content {
  position: relative;
  padding: 5px 9px;
  z-index: 1;
}
