From f28328e12f38ab6c22343e192b15798d473b7193 Mon Sep 17 00:00:00 2001 From: Josephus Paye II Date: Wed, 10 Aug 2016 23:29:39 +1000 Subject: [PATCH] Add built doc files --- docs/docs.bundle.css | 3943 +----------------------------------------- docs/docs.bundle.js | 1956 +-------------------- docs/index.html | 47 +- 3 files changed, 103 insertions(+), 5843 deletions(-) diff --git a/docs/docs.bundle.css b/docs/docs.bundle.css index 15a463be..a3da05a8 100644 --- a/docs/docs.bundle.css +++ b/docs/docs.bundle.css @@ -1,3942 +1 @@ -.section-heading { - font-size: 34px; - font-weight: 400; - line-height: 1.176em; -} -h3 { - font-size: 24px; - font-weight: 400; - line-height: 1.33em; -} -body { - font-size: 14px; - font-weight: 400; - line-height: 1.71em; - letter-spacing: 0.01em; -} -table { - border-collapse: collapse; - border-spacing: 0; - background-color: transparent; -} -td, -th { - padding: 0; -} -caption { - padding-top: 8px; - padding-bottom: 8px; - color: #777; - text-align: left; -} -th { - text-align: left; -} -.table { - width: 100%; - max-width: 100%; - margin-bottom: 20px; -} -.table > thead > tr > th, -.table > tbody > tr > th, -.table > tfoot > tr > th, -.table > thead > tr > td, -.table > tbody > tr > td, -.table > tfoot > tr > td { - padding: 8px; - line-height: 1.42857143; - vertical-align: top; - border-top: 1px solid #ddd; -} -.table > thead > tr > th { - vertical-align: bottom; - border-bottom: 2px solid #ddd; -} -.table > caption + thead > tr:first-child > th, -.table > colgroup + thead > tr:first-child > th, -.table > thead:first-child > tr:first-child > th, -.table > caption + thead > tr:first-child > td, -.table > colgroup + thead > tr:first-child > td, -.table > thead:first-child > tr:first-child > td { - border-top: 0; -} -.table > tbody + tbody { - border-top: 2px solid #ddd; -} -.table .table { - background-color: #fff; -} -.table-condensed > thead > tr > th, -.table-condensed > tbody > tr > th, -.table-condensed > tfoot > tr > th, -.table-condensed > thead > tr > td, -.table-condensed > tbody > tr > td, -.table-condensed > tfoot > tr > td { - padding: 5px; -} -.table-bordered { - border: 1px solid #ddd; -} -.table-bordered > thead > tr > th, -.table-bordered > tbody > tr > th, -.table-bordered > tfoot > tr > th, -.table-bordered > thead > tr > td, -.table-bordered > tbody > tr > td, -.table-bordered > tfoot > tr > td { - border: 1px solid #ddd; -} -.table-bordered > thead > tr > th, -.table-bordered > thead > tr > td { - border-bottom-width: 2px; -} -.table-striped > tbody > tr:nth-of-type(odd) { - background-color: #f9f9f9; -} -.table-hover > tbody > tr:hover { - background-color: #f5f5f5; -} -table col[class*="col-"] { - position: static; - float: none; - display: table-column; -} -table td[class*="col-"], -table th[class*="col-"] { - position: static; - float: none; - display: table-cell; -} -.table > thead > tr > td.active, -.table > tbody > tr > td.active, -.table > tfoot > tr > td.active, -.table > thead > tr > th.active, -.table > tbody > tr > th.active, -.table > tfoot > tr > th.active, -.table > thead > tr.active > td, -.table > tbody > tr.active > td, -.table > tfoot > tr.active > td, -.table > thead > tr.active > th, -.table > tbody > tr.active > th, -.table > tfoot > tr.active > th { - background-color: #f5f5f5; -} -.table-hover > tbody > tr > td.active:hover, -.table-hover > tbody > tr > th.active:hover, -.table-hover > tbody > tr.active:hover > td, -.table-hover > tbody > tr:hover > .active, -.table-hover > tbody > tr.active:hover > th { - background-color: #e8e8e8; -} -.table > thead > tr > td.success, -.table > tbody > tr > td.success, -.table > tfoot > tr > td.success, -.table > thead > tr > th.success, -.table > tbody > tr > th.success, -.table > tfoot > tr > th.success, -.table > thead > tr.success > td, -.table > tbody > tr.success > td, -.table > tfoot > tr.success > td, -.table > thead > tr.success > th, -.table > tbody > tr.success > th, -.table > tfoot > tr.success > th { - background-color: #dff0d8; -} -.table-hover > tbody > tr > td.success:hover, -.table-hover > tbody > tr > th.success:hover, -.table-hover > tbody > tr.success:hover > td, -.table-hover > tbody > tr:hover > .success, -.table-hover > tbody > tr.success:hover > th { - background-color: #d0e9c6; -} -.table > thead > tr > td.info, -.table > tbody > tr > td.info, -.table > tfoot > tr > td.info, -.table > thead > tr > th.info, -.table > tbody > tr > th.info, -.table > tfoot > tr > th.info, -.table > thead > tr.info > td, -.table > tbody > tr.info > td, -.table > tfoot > tr.info > td, -.table > thead > tr.info > th, -.table > tbody > tr.info > th, -.table > tfoot > tr.info > th { - background-color: #d9edf7; -} -.table-hover > tbody > tr > td.info:hover, -.table-hover > tbody > tr > th.info:hover, -.table-hover > tbody > tr.info:hover > td, -.table-hover > tbody > tr:hover > .info, -.table-hover > tbody > tr.info:hover > th { - background-color: #c4e3f3; -} -.table > thead > tr > td.warning, -.table > tbody > tr > td.warning, -.table > tfoot > tr > td.warning, -.table > thead > tr > th.warning, -.table > tbody > tr > th.warning, -.table > tfoot > tr > th.warning, -.table > thead > tr.warning > td, -.table > tbody > tr.warning > td, -.table > tfoot > tr.warning > td, -.table > thead > tr.warning > th, -.table > tbody > tr.warning > th, -.table > tfoot > tr.warning > th { - background-color: #fcf8e3; -} -.table-hover > tbody > tr > td.warning:hover, -.table-hover > tbody > tr > th.warning:hover, -.table-hover > tbody > tr.warning:hover > td, -.table-hover > tbody > tr:hover > .warning, -.table-hover > tbody > tr.warning:hover > th { - background-color: #faf2cc; -} -.table > thead > tr > td.danger, -.table > tbody > tr > td.danger, -.table > tfoot > tr > td.danger, -.table > thead > tr > th.danger, -.table > tbody > tr > th.danger, -.table > tfoot > tr > th.danger, -.table > thead > tr.danger > td, -.table > tbody > tr.danger > td, -.table > tfoot > tr.danger > td, -.table > thead > tr.danger > th, -.table > tbody > tr.danger > th, -.table > tfoot > tr.danger > th { - background-color: #f2dede; -} -.table-hover > tbody > tr > td.danger:hover, -.table-hover > tbody > tr > th.danger:hover, -.table-hover > tbody > tr.danger:hover > td, -.table-hover > tbody > tr:hover > .danger, -.table-hover > tbody > tr.danger:hover > th { - background-color: #ebcccc; -} -.table-responsive { - overflow-x: auto; - min-height: 0.01%; -} -@media screen and (max-width: 767px) { - .table-responsive { - width: 100%; - margin-bottom: 15px; - overflow-y: hidden; - -ms-overflow-style: -ms-autohiding-scrollbar; - border: 1px solid #ddd; - } - .table-responsive > .table { - margin-bottom: 0; - } - .table-responsive > .table > thead > tr > th, - .table-responsive > .table > tbody > tr > th, - .table-responsive > .table > tfoot > tr > th, - .table-responsive > .table > thead > tr > td, - .table-responsive > .table > tbody > tr > td, - .table-responsive > .table > tfoot > tr > td { - white-space: nowrap; - } - .table-responsive > .table-bordered { - border: 0; - } - .table-responsive > .table-bordered > thead > tr > th:first-child, - .table-responsive > .table-bordered > tbody > tr > th:first-child, - .table-responsive > .table-bordered > tfoot > tr > th:first-child, - .table-responsive > .table-bordered > thead > tr > td:first-child, - .table-responsive > .table-bordered > tbody > tr > td:first-child, - .table-responsive > .table-bordered > tfoot > tr > td:first-child { - border-left: 0; - } - .table-responsive > .table-bordered > thead > tr > th:last-child, - .table-responsive > .table-bordered > tbody > tr > th:last-child, - .table-responsive > .table-bordered > tfoot > tr > th:last-child, - .table-responsive > .table-bordered > thead > tr > td:last-child, - .table-responsive > .table-bordered > tbody > tr > td:last-child, - .table-responsive > .table-bordered > tfoot > tr > td:last-child { - border-right: 0; - } - .table-responsive > .table-bordered > tbody > tr:last-child > th, - .table-responsive > .table-bordered > tfoot > tr:last-child > th, - .table-responsive > .table-bordered > tbody > tr:last-child > td, - .table-responsive > .table-bordered > tfoot > tr:last-child > td { - border-bottom: 0; - } -} -pre { - overflow: auto; -} -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; -} -code, -kbd, -pre, -samp { - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; -} -code { - padding: 2px 4px; - font-size: 90%; - color: #c7254e; - background-color: #f9f2f4; - border-radius: 4px; -} -kbd { - padding: 2px 4px; - font-size: 90%; - color: #fff; - background-color: #333; - border-radius: 3px; - box-shadow: inset 0 -1px 0 rgba(0,0,0,0.25); -} -kbd kbd { - padding: 0; - font-size: 100%; - font-weight: bold; - box-shadow: none; -} -pre { - display: block; - padding: 9.5px; - margin: 0 0 10px; - font-size: 13px; - line-height: 1.42857143; - word-break: break-all; - word-wrap: break-word; - color: #333; - background-color: #f5f5f5; - border: 1px solid #ccc; - border-radius: 4px; -} -pre code { - padding: 0; - font-size: inherit; - color: inherit; - white-space: pre-wrap; - background-color: transparent; - border-radius: 0; -} -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; -} -.no-wrap { - white-space: nowrap !important; -} -* { - box-sizing: border-box; - font-family: inherit; -} -html, -body, -#app { - max-width: 100vw; - margin: 0; - padding: 0; -} -body { - font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - font-size: 15px; - line-height: 1.85em; -} -.sidebar-overlay { - width: 100vw; - height: 100vh; - position: fixed; - z-index: 39; - background-color: rgba(0,0,0,0.4); -} -.sidebar-overlay-transition { - transition: opacity 0.3s ease; - opacity: 1; -} -.sidebar-overlay-enter, -.sidebar-overlay-leave { - opacity: 0; -} -.sidebar { - width: 272px; - height: 100vh; - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - overflow-y: auto; - position: fixed; - background-color: #fff; - box-shadow: 0 0 3px rgba(0,0,0,0.35), 0 2px 2px rgba(0,0,0,0.2); - z-index: 5; -} -.sidebar.mobile { - z-index: 40; -} -.sidebar .brand { - height: 64px; - padding: 0 16px; - color: rgba(0,0,0,0.87); - border-bottom: 1px solid #eee; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; -} -.sidebar .brand .title { - font-size: 28px; - font-weight: normal; - margin: 0; -} -.sidebar .subhead { - padding: 16px; - font-size: 14px; - padding-top: 12px; - line-height: 1.71em; - color: rgba(0,0,0,0.75); - border-bottom: 1px solid #eee; -} -.sidebar .subhead .ui-button { - margin-top: 16px; -} -.sidebar .menu { - margin: 0; - padding: 0; - padding-bottom: 16px; -} -.sidebar .menu .menu-header { - padding: 12px 16px; - font-weight: 500; - font-size: 16px; -} -.sidebar .menu .menu-item { - display: block; - padding: 8px 16px; - padding-left: 40px; - color: rgba(0,0,0,0.87); - cursor: pointer; - text-decoration: none; -} -.sidebar .menu .menu-item:focus, -.sidebar .menu .menu-item:hover { - background-color: #eee; -} -.sidebar .menu .menu-item.active { - background-color: #f5f5f5; - color: #2196f3; - font-weight: 500; -} -.sidebar-toggle-transition { - transition: left 0.3s ease; - left: 0; -} -.sidebar-toggle-enter, -.sidebar-toggle-leave { - left: -272px; -} -.page { - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - margin-left: 272px; -} -.container { - width: 100%; - max-width: 960px; - padding-left: 56px; - padding-right: 56px; -} -.section { - margin-bottom: 40px; -} -.section-heading { - border-bottom: 1px solid rgba(0,0,0,0.12); - padding-bottom: 8px; -} -h3 { - font-weight: normal; - margin-top: 32px; -} -h4 { - font-size: 18px; - font-weight: bold; -} -a { - text-decoration: none; - color: #2196f3; -} -a:hover, -a:focus { - text-decoration: underline; -} -.table { - margin-bottom: 0; -} -.table th { - min-width: 100px; -} -.table td { - padding-top: 10px; - padding-bottom: 10px; -} -.table p:first-child { - margin-top: 0; -} -.table p:last-child { - margin-bottom: 0; -} -.table li { - margin-bottom: 10px; -} -.table li:last-child { - margin-bottom: 0; -} -#app { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; -} -#app .page-toolbar { - z-index: 20; - height: 64px; - display: none; - background-color: #fff; -} -@media screen and (max-width: 720px) { - #app .page-toolbar { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - position: fixed; - width: 100vw; - } - #app .sidebar.desktop { - display: none; - } - #app .page, - #app .container { - width: 100vw; - max-width: 100vw; - margin: 0; - } - #app .container { - padding: 64px 18px 0 18px; - } -} -.ui-button { - font-size: 14px; - text-transform: uppercase; - font-weight: 500; - line-height: 1.71em; - letter-spacing: 0.02em; -} -.drop-element { - position: absolute; - display: none; - z-index: 60; - max-width: 100%; - max-height: 100%; - transition: opacity 0.2s ease; - opacity: 0; -} -.drop-element, -.drop-element:after, -.drop-element:before, -.drop-element *, -.drop-element *:after, -.drop-element *:before { - box-sizing: border-box; -} -.drop-element.drop-open { - display: block; -} -.drop-element.drop-after-open { - opacity: 1; -} -.ui-button { - font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - line-height: 1; - background: none; - overflow: hidden; - outline: none; - border: none; - position: relative; - display: -webkit-inline-flex; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - -ms-touch-action: manipulation; - touch-action: manipulation; - cursor: default; - border-radius: 2px; - padding: 8px 16px; - min-width: 80px; - height: 40px; -} -.ui-button::-moz-focus-inner { - border: 0; -} -.ui-button.autofocus:focus, -body[modality="keyboard"] .ui-button:focus { - outline-style: solid; -} -.ui-button[disabled] { - opacity: 0.6; -} -.ui-button:not([disabled]) { - cursor: pointer; -} -.ui-button .ui-button-dropdown-menu { - display: none; -} -.ui-button .ui-button-spinner { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - -ms-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); -} -.ui-button-raised { - box-shadow: 0 0 2px rgba(0,0,0,0.12), 0 2px 2px rgba(0,0,0,0.2); - transition: box-shadow 0.1s; -} -.ui-button-raised.autofocus:focus, -body[modality="keyboard"] .ui-button-raised:focus { - outline: none; - box-shadow: 0 0 5px rgba(0,0,0,0.22), 0 3px 6px rgba(0,0,0,0.3); -} -.ui-button-normal.autofocus:focus, -body[modality="keyboard"] .ui-button-normal:focus { - outline-width: 2px; - outline-offset: 2px; -} -.ui-button-normal.color-primary, -.ui-button-normal.color-accent, -.ui-button-normal.color-success, -.ui-button-normal.color-warning, -.ui-button-normal.color-danger { - color: #fff; -} -.ui-button-normal.color-primary .ui-ripple-ink .ripple.held, -.ui-button-normal.color-accent .ui-ripple-ink .ripple.held, -.ui-button-normal.color-success .ui-ripple-ink .ripple.held, -.ui-button-normal.color-warning .ui-ripple-ink .ripple.held, -.ui-button-normal.color-danger .ui-ripple-ink .ripple.held { - opacity: 0.7; -} -.ui-button-normal.color-default { - color: rgba(0,0,0,0.87); - background-color: #eee; -} -.ui-button-normal.color-default:hover:not([disabled]), -.ui-button-normal.color-default.dropdown-open { - background-color: #dcdcdc; -} -.ui-button-normal.color-default.autofocus:focus, -body[modality="keyboard"] .ui-button-normal.color-default:focus { - background-color: #cacaca; - outline-color: #a7a7a7; -} -.ui-button-normal.color-default .ui-ripple-ink .ripple.held { - opacity: 0.2; -} -.ui-button-normal.color-default .ui-button-icon, -.ui-button-normal.color-default .ui-button-dropdown-icon { - color: rgba(0,0,0,0.54); -} -.ui-button-normal.color-primary { - background-color: #2196f3; -} -.ui-button-normal.color-primary:hover:not([disabled]), -.ui-button-normal.color-primary.dropdown-open { - background-color: #0c81df; -} -.ui-button-normal.color-primary.autofocus:focus, -body[modality="keyboard"] .ui-button-normal.color-primary:focus { - background-color: #0b7ad1; - outline-color: #0b7ad1; -} -.ui-button-normal.color-accent { - background-color: #d500f9; -} -.ui-button-normal.color-accent:hover:not([disabled]), -.ui-button-normal.color-accent.dropdown-open { - background-color: #b500d4; -} -.ui-button-normal.color-accent.autofocus:focus, -body[modality="keyboard"] .ui-button-normal.color-accent:focus { - background-color: #aa00c7; - outline-color: #aa00c7; -} -.ui-button-normal.color-success { - background-color: #4caf50; -} -.ui-button-normal.color-success:hover:not([disabled]), -.ui-button-normal.color-success.dropdown-open { - background-color: #419544; -} -.ui-button-normal.color-success.autofocus:focus, -body[modality="keyboard"] .ui-button-normal.color-success:focus { - background-color: #3d8c40; - outline-color: #3d8c40; -} -.ui-button-normal.color-warning { - background-color: #ff9800; -} -.ui-button-normal.color-warning:hover:not([disabled]), -.ui-button-normal.color-warning.dropdown-open { - background-color: #d98100; -} -.ui-button-normal.color-warning.autofocus:focus, -body[modality="keyboard"] .ui-button-normal.color-warning:focus { - background-color: #cc7a00; - outline-color: #cc7a00; -} -.ui-button-normal.color-danger { - background-color: #f44336; -} -.ui-button-normal.color-danger:hover:not([disabled]), -.ui-button-normal.color-danger.dropdown-open { - background-color: #f01d0d; -} -.ui-button-normal.color-danger.autofocus:focus, -body[modality="keyboard"] .ui-button-normal.color-danger:focus { - background-color: #e21b0c; - outline-color: #e21b0c; -} -.ui-button-flat { - background-color: transparent; -} -.ui-button-flat:hover:not([disabled]), -.ui-button-flat.dropdown-open { - background-color: #e7e7e7; -} -.ui-button-flat.autofocus:focus, -body[modality="keyboard"] .ui-button-flat:focus { - outline-width: 2px; - outline-offset: 0; -} -.ui-button-flat.color-default { - color: rgba(0,0,0,0.87); -} -.ui-button-flat.color-default .ui-button-icon { - color: rgba(0,0,0,0.54); -} -.ui-button-flat.color-default.autofocus:focus, -body[modality="keyboard"] .ui-button-flat.color-default:focus { - outline-color: #b3b3b3; -} -.ui-button-flat.color-primary { - color: #2196f3; -} -.ui-button-flat.color-accent { - color: #d500f9; -} -.ui-button-flat.color-success { - color: #43a047; -} -.ui-button-flat.color-warning { - color: #ff9800; -} -.ui-button-flat.color-danger { - color: #f44336; -} -.ui-button-icon { - font-size: 18px; - margin-right: 4px; - margin-left: -4px; -} -.ui-button-icon.position-right { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; - margin-left: 4px; - margin-right: -4px; -} -.ui-button-content { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; -} -.ui-button-content.invisible { - visibility: hidden; -} -.ui-button-dropdown-icon { - font-size: 18px; - margin-right: -8px; - margin-left: 1px; -} -.ui-button-group { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; -} -.ui-icon { - font-size: 24px; - width: 1em; - height: 1em; - display: inline-block; - cursor: inherit; - vertical-align: middle; -} -.ui-menu { - font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - margin: 0; - padding: 4px 0; - outline: none; - list-style: none; - background-color: #fff; - box-shadow: 0 2px 4px -1px rgba(0,0,0,0.3), 0 4px 5px 0 rgba(0,0,0,0.15), 0 1px 10px 0 rgba(0,0,0,0.13); - min-width: 168px; - max-width: 272px; - max-height: 100vh; - overflow-y: auto; - overflow-x: hidden; -} -.ui-menu.has-secondary-text { - min-width: 208px; - max-width: 304px; -} -.ui-menu-option { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: default; -} -.ui-menu-option-text { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -.ui-menu-option { - font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - position: relative; - display: block; - height: 40px; -} -.ui-menu-option.divider { - display: block; - width: 100%; - margin: 6px 0; - padding: 0; - height: 1px; - background-color: rgba(0,0,0,0.08); -} -.ui-menu-option:not(.divider) { - width: 100%; - text-decoration: none; - color: rgba(0,0,0,0.87); - font-size: 14px; - font-weight: normal; - outline: none; -} -.ui-menu-option:not(.divider):hover:not(.disabled) { - background-color: rgba(0,0,0,0.06); -} -body[modality="keyboard"] .ui-menu-option:not(.divider):focus { - background-color: rgba(0,0,0,0.1); -} -.ui-menu-option:not(.divider).disabled { - opacity: 0.5; - color: rgba(0,0,0,0.54); -} -.ui-menu-option:not(.divider).disabled .ui-menu-option-secondary-text { - color: rgba(0,0,0,0.54); -} -.ui-menu-option:not(.divider):not(.disabled) { - cursor: pointer; -} -.ui-menu-option-content.ui-menu-default { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - padding: 8px 16px; -} -.ui-menu-option-icon { - margin-right: 16px; - font-size: 18px; - color: rgba(0,0,0,0.54); -} -.ui-menu-option-text { - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; -} -.ui-menu-option-secondary-text { - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - margin-left: 4px; - font-size: 13px; - color: rgba(0,0,0,0.38); -} -.ui-ripple-ink { - display: block; - overflow: hidden; - border-radius: inherit; - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - -webkit-mask-image: -webkit-radial-gradient(circle, #fff, #000); -} -.ui-ripple-ink .ripple { - position: absolute; - width: 0; - height: 0; - pointer-events: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - border-radius: 50%; - background-color: currentColor; - background-clip: padding-box; - opacity: 0.2; - -webkit-transform: scale(0); - -ms-transform: scale(0); - transform: scale(0); - transition: opacity 0.4s ease-out, -webkit-transform 0.4s ease-out; - transition: transform 0.4s ease-out, opacity 0.4s ease-out; - transition: transform 0.4s ease-out, opacity 0.4s ease-out, -webkit-transform 0.4s ease-out; -} -.ui-ripple-ink .ripple.held { - opacity: 0.4; - -webkit-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1); -} -.ui-ripple-ink .ripple.done { - opacity: 0 !important; -} -.ui-popover { - padding: 16px; - outline: none; - background-color: #fff; - box-shadow: 0 2px 4px -1px rgba(0,0,0,0.3), 0 4px 5px 0 rgba(0,0,0,0.15), 0 1px 10px 0 rgba(0,0,0,0.13); -} -.ui-progress-circular { - position: relative; -} -.ui-progress-circular .ui-progress-circular-determinate { - -webkit-transform: rotate(270deg); - -ms-transform: rotate(270deg); - transform: rotate(270deg); -} -.ui-progress-circular .ui-progress-circular-determinate .ui-progress-circular-determinate-path { - stroke-dashoffset: 0; - transition: stroke-dashoffset 0.3s ease; -} -.ui-progress-circular .ui-progress-circular-determinate .ui-progress-circular-determinate-path.primary, -.ui-progress-circular .ui-progress-circular-determinate .ui-progress-circular-determinate-path.multi-color { - stroke: #2196f3; -} -.ui-progress-circular .ui-progress-circular-determinate .ui-progress-circular-determinate-path.accent { - stroke: #d500f9; -} -.ui-progress-circular .ui-progress-circular-determinate .ui-progress-circular-determinate-path.black { - stroke: #212121; -} -.ui-progress-circular .ui-progress-circular-determinate .ui-progress-circular-determinate-path.white { - stroke: #fff; -} -.ui-progress-circular .ui-progress-circular-indeterminate { - -webkit-animation: ui-progress-circular-rotate 1.4s linear infinite; - animation: ui-progress-circular-rotate 1.4s linear infinite; - -webkit-transform-origin: center center; - -ms-transform-origin: center center; - transform-origin: center center; - width: 100%; - height: 100%; - margin: auto; - position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; -} -.ui-progress-circular .ui-progress-circular-indeterminate-path { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - stroke-linecap: round; - -webkit-animation: ui-progress-circular-dash 1.4s ease-in-out infinite; - animation: ui-progress-circular-dash 1.4s ease-in-out infinite; -} -.ui-progress-circular .ui-progress-circular-indeterminate-path.multi-color { - -webkit-animation: ui-progress-circular-dash 1.4s ease-in-out infinite, ui-progress-circular-color 6s ease-in-out infinite; - animation: ui-progress-circular-dash 1.4s ease-in-out infinite, ui-progress-circular-color 6s ease-in-out infinite; -} -.ui-progress-circular .ui-progress-circular-indeterminate-path.primary { - stroke: #2196f3; -} -.ui-progress-circular .ui-progress-circular-indeterminate-path.accent { - stroke: #d500f9; -} -.ui-progress-circular .ui-progress-circular-indeterminate-path.black { - stroke: #212121; -} -.ui-progress-circular .ui-progress-circular-indeterminate-path.white { - stroke: #fff; -} -.ui-progress-circular-toggle-transition { - opacity: 1; - -webkit-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1); - transition-duration: 0.3s; - transition-timing-function: ease; - transition-property: opacity, -webkit-transform; - transition-property: transform, opacity; - transition-property: transform, opacity, -webkit-transform; -} -.ui-progress-circular-toggle-enter, -.ui-progress-circular-toggle-leave { - opacity: 0; - -webkit-transform: scale(0); - -ms-transform: scale(0); - transform: scale(0); -} -@-webkit-keyframes ui-progress-circular-rotate { - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@keyframes ui-progress-circular-rotate { - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@-webkit-keyframes ui-progress-circular-dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} -@keyframes ui-progress-circular-dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - } - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35px; - } - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124px; - } -} -@-webkit-keyframes ui-progress-circular-color { - 100%, 0% { - stroke: #f44336; - } - 40% { - stroke: #2196f3; - } - 66% { - stroke: #4caf50; - } - 80%, 90% { - stroke: #ff9800; - } -} -@keyframes ui-progress-circular-color { - 100%, 0% { - stroke: #f44336; - } - 40% { - stroke: #2196f3; - } - 66% { - stroke: #4caf50; - } - 80%, 90% { - stroke: #ff9800; - } -} -.ui-toolbar { - font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - height: 56px; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - font-size: 18px; - position: relative; -} -.ui-toolbar:not(.ui-toolbar-raised):not(.ui-toolbar-colored) { - border-bottom: 1px solid rgba(0,0,0,0.12); -} -.ui-toolbar.text-color-black { - color: rgba(0,0,0,0.87); -} -.ui-toolbar.text-color-black .ui-toolbar-divider { - border-left-color: rgba(0,0,0,0.15); -} -.ui-toolbar.text-color-white { - color: #fff; -} -.ui-toolbar.text-color-white .ui-toolbar-divider { - border-color: rgba(255,255,255,0.4); -} -.ui-toolbar .ui-icon-button { - width: 48px; - height: 48px; -} -.ui-toolbar .ui-toolbar-preloader { - position: absolute; - height: 3px; - right: 0; - left: 0; - bottom: 0; -} -.ui-toolbar .ui-toolbar-preloader.position-top { - top: 0; -} -.ui-toolbar-raised { - box-shadow: 0 0 2px rgba(0,0,0,0.12), 0 2px 2px rgba(0,0,0,0.2); -} -.ui-toolbar-clear { - background-color: transparent; - box-shadow: none; - border: none; -} -.ui-toolbar-default { - background-color: #fff; -} -.ui-toolbar-colored { - background-color: #2196f3; -} -.ui-toolbar-left { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; -} -.ui-toolbar-nav-icon { - margin-right: 8px; -} -.ui-toolbar-brand-text { - padding-right: 8px; -} -.ui-toolbar-brand { - min-width: 160px; -} -.ui-toolbar-brand-text { - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; -} -.ui-toolbar-center { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; -} -.ui-toolbar-divider { - border-left-width: 1px; - border-left-style: solid; - height: 24px; - margin-right: 24px; -} -.ui-toolbar-right { - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - margin-left: auto; -} -.ui-toolbar-right [slot="actions"] { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; -} -.ui-progress-linear { - position: relative; - overflow: hidden; - display: block; - height: 4px; - width: 100%; - transition-property: height, opacity; - transition-timing-function: ease; - transition-duration: 0.3s; -} -.ui-progress-linear.color-primary { - background-color: rgba(33,150,243,0.4); -} -.ui-progress-linear.color-primary .ui-progress-linear-determinate, -.ui-progress-linear.color-primary .ui-progress-linear-indeterminate { - background-color: #2196f3; -} -.ui-progress-linear.color-accent { - background-color: rgba(213,0,249,0.4); -} -.ui-progress-linear.color-accent .ui-progress-linear-determinate, -.ui-progress-linear.color-accent .ui-progress-linear-indeterminate { - background-color: #d500f9; -} -.ui-progress-linear.color-black { - background-color: rgba(97,97,97,0.4); -} -.ui-progress-linear.color-black .ui-progress-linear-determinate, -.ui-progress-linear.color-black .ui-progress-linear-indeterminate { - background-color: #616161; -} -.ui-progress-linear.color-white { - background-color: rgba(255,255,255,0.4); -} -.ui-progress-linear.color-white .ui-progress-linear-determinate, -.ui-progress-linear.color-white .ui-progress-linear-indeterminate { - background-color: #fff; -} -.ui-progress-linear-determinate { - transition: width 0.3s linear; - position: absolute; - bottom: 0; - left: 0; - top: 0; -} -.ui-progress-linear-indeterminate:before { - background-color: inherit; - will-change: left, right; - position: absolute; - content: ''; - bottom: 0; - top: 0; - left: 0; - -webkit-animation: ui-progress-linear-indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; - animation: ui-progress-linear-indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; -} -.ui-progress-linear-indeterminate:after { - background-color: inherit; - will-change: left, right; - position: absolute; - content: ''; - bottom: 0; - top: 0; - left: 0; - -webkit-animation: ui-progress-linear-indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite; - animation: ui-progress-linear-indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite; - -webkit-animation-delay: 1.15s; - animation-delay: 1.15s; -} -.ui-progress-linear-toggle-leave, -.ui-progress-linear-toggle-enter { - opacity: 0; - height: 0; -} -@-webkit-keyframes ui-progress-linear-indeterminate { - 0% { - left: -35%; - right: 100%; - } - 60% { - left: 100%; - right: -90%; - } - 100% { - left: 100%; - right: -90%; - } -} -@keyframes ui-progress-linear-indeterminate { - 0% { - left: -35%; - right: 100%; - } - 60% { - left: 100%; - right: -90%; - } - 100% { - left: 100%; - right: -90%; - } -} -@-webkit-keyframes ui-progress-linear-indeterminate-short { - 0% { - left: -200%; - right: 100%; - } - 60% { - left: 107%; - right: -8%; - } - 100% { - left: 107%; - right: -8%; - } -} -@keyframes ui-progress-linear-indeterminate-short { - 0% { - left: -200%; - right: 100%; - } - 60% { - left: 107%; - right: -8%; - } - 100% { - left: 107%; - right: -8%; - } -} -.drop-element { - position: absolute; - display: none; - z-index: 60; - max-width: 100%; - max-height: 100%; - transition: opacity 0.2s ease; - opacity: 0; -} -.drop-element, -.drop-element:after, -.drop-element:before, -.drop-element *, -.drop-element *:after, -.drop-element *:before { - box-sizing: border-box; -} -.drop-element.drop-open { - display: block; -} -.drop-element.drop-after-open { - opacity: 1; -} -.ui-icon-button { - background: none; - outline: none; - border: none; - position: relative; - overflow: hidden; - -webkit-mask-image: -webkit-radial-gradient(circle, #fff, #000); - display: -webkit-inline-flex; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - width: 40px; - height: 40px; - border-radius: 50%; -} -.ui-icon-button::-moz-focus-inner { - border: 0; -} -.ui-icon-button[disabled] { - opacity: 0.6; -} -.ui-icon-button:not([disabled]) { - cursor: pointer; -} -.ui-icon-button .ui-dropdown-menu { - display: none; -} -.ui-icon-button-normal.color-primary, -.ui-icon-button-normal.color-accent, -.ui-icon-button-normal.color-success, -.ui-icon-button-normal.color-warning, -.ui-icon-button-normal.color-danger { - color: #fff; -} -.ui-icon-button-normal.color-primary .ui-ripple-ink .ripple.held, -.ui-icon-button-normal.color-accent .ui-ripple-ink .ripple.held, -.ui-icon-button-normal.color-success .ui-ripple-ink .ripple.held, -.ui-icon-button-normal.color-warning .ui-ripple-ink .ripple.held, -.ui-icon-button-normal.color-danger .ui-ripple-ink .ripple.held { - opacity: 0.7; -} -.ui-icon-button-normal.color-default { - background-color: #eee; -} -.ui-icon-button-normal.color-default:hover:not([disabled]), -.ui-icon-button-normal.color-default.dropdown-open { - background-color: #dcdcdc; -} -body[modality="keyboard"] .ui-icon-button-normal.color-default:focus { - background-color: #bebebe; -} -.ui-icon-button-normal.color-default .ui-ripple-ink .ripple.held { - opacity: 0.2; -} -.ui-icon-button-normal.color-default .ui-icon-button-icon { - color: rgba(0,0,0,0.87); -} -.ui-icon-button-normal.color-primary { - background-color: #2196f3; -} -.ui-icon-button-normal.color-primary:hover:not([disabled]), -.ui-icon-button-normal.color-primary.dropdown-open { - background-color: #0c81df; -} -body[modality="keyboard"] .ui-icon-button-normal.color-primary:focus { - background-color: #0b72c4; -} -.ui-icon-button-normal.color-accent { - background-color: #d500f9; -} -.ui-icon-button-normal.color-accent:hover:not([disabled]), -.ui-icon-button-normal.color-accent.dropdown-open { - background-color: #b500d4; -} -body[modality="keyboard"] .ui-icon-button-normal.color-accent:focus { - background-color: #a000bb; -} -.ui-icon-button-normal.color-success { - background-color: #4caf50; -} -.ui-icon-button-normal.color-success:hover:not([disabled]), -.ui-icon-button-normal.color-success.dropdown-open { - background-color: #419544; -} -body[modality="keyboard"] .ui-icon-button-normal.color-success:focus { - background-color: #39833c; -} -.ui-icon-button-normal.color-warning { - background-color: #ff9800; -} -.ui-icon-button-normal.color-warning:hover:not([disabled]), -.ui-icon-button-normal.color-warning.dropdown-open { - background-color: #d98100; -} -body[modality="keyboard"] .ui-icon-button-normal.color-warning:focus { - background-color: #bf7200; -} -.ui-icon-button-normal.color-danger { - background-color: #f44336; -} -.ui-icon-button-normal.color-danger:hover:not([disabled]), -.ui-icon-button-normal.color-danger.dropdown-open { - background-color: #f01d0d; -} -body[modality="keyboard"] .ui-icon-button-normal.color-danger:focus { - background-color: #d4190c; -} -.ui-icon-button-flat.color-default:hover:not([disabled]), -.ui-icon-button-flat.color-primary:hover:not([disabled]), -.ui-icon-button-flat.color-accent:hover:not([disabled]), -.ui-icon-button-flat.color-success:hover:not([disabled]), -.ui-icon-button-flat.color-warning:hover:not([disabled]), -.ui-icon-button-flat.color-danger:hover:not([disabled]), -.ui-icon-button-flat.color-default.dropdown-open, -.ui-icon-button-flat.color-primary.dropdown-open, -.ui-icon-button-flat.color-accent.dropdown-open, -.ui-icon-button-flat.color-success.dropdown-open, -.ui-icon-button-flat.color-warning.dropdown-open, -.ui-icon-button-flat.color-danger.dropdown-open { - background-color: #e7e7e7; -} -.ui-icon-button-flat.color-default { - color: rgba(0,0,0,0.87); -} -body[modality="keyboard"] .ui-icon-button-flat.color-default:focus { - border: 2px solid #b3b3b3; -} -.ui-icon-button-flat.color-default .ui-icon-button-icon { - color: rgba(0,0,0,0.87); -} -.ui-icon-button-flat.color-primary { - color: #2196f3; -} -body[modality="keyboard"] .ui-icon-button-flat.color-primary:focus { - border: 2px solid #2196f3; -} -.ui-icon-button-flat.color-primary .ui-icon-button-icon { - color: #2196f3; -} -.ui-icon-button-flat.color-accent { - color: #d500f9; -} -body[modality="keyboard"] .ui-icon-button-flat.color-accent:focus { - border: 2px solid #d500f9; -} -.ui-icon-button-flat.color-accent .ui-icon-button-icon { - color: #d500f9; -} -.ui-icon-button-flat.color-success { - color: #43a047; -} -body[modality="keyboard"] .ui-icon-button-flat.color-success:focus { - border: 2px solid #43a047; -} -.ui-icon-button-flat.color-success .ui-icon-button-icon { - color: #43a047; -} -.ui-icon-button-flat.color-warning { - color: #ff9800; -} -body[modality="keyboard"] .ui-icon-button-flat.color-warning:focus { - border: 2px solid #ff9800; -} -.ui-icon-button-flat.color-warning .ui-icon-button-icon { - color: #ff9800; -} -.ui-icon-button-flat.color-danger { - color: #f44336; -} -body[modality="keyboard"] .ui-icon-button-flat.color-danger:focus { - border: 2px solid #f44336; -} -.ui-icon-button-flat.color-danger .ui-icon-button-icon { - color: #f44336; -} -.ui-icon-button-clear { - background-color: transparent; -} -body[modality="keyboard"] .ui-icon-button-clear:focus, -.ui-icon-button-clear:hover:not([disabled]), -.ui-icon-button-clear.dropdown-open { - background-color: rgba(0,0,0,0.1); -} -.ui-icon-button-clear.color-white { - color: rgba(0,0,0,0.54); -} -body[modality="keyboard"] .ui-icon-button-clear.color-white:focus { - border: 2px solid rgba(255,255,255,0.8); -} -.ui-icon-button-clear.color-white .ui-icon-button-icon { - color: #fff; -} -.ui-icon-button-clear.color-black { - color: rgba(0,0,0,0.54); -} -body[modality="keyboard"] .ui-icon-button-clear.color-black:focus { - border: 2px solid rgba(0,0,0,0.25); -} -.ui-icon-button-clear.color-black .ui-icon-button-icon { - color: rgba(0,0,0,0.54); -} -.ui-icon-button-icon { - width: 100%; - height: initial; -} -.tooltip-element, -.tooltip-element:after, -.tooltip-element:before, -.tooltip-element *, -.tooltip-element *:after, -.tooltip-element *:before { - box-sizing: border-box; -} -.tooltip-element { - position: absolute; - display: none; - transition: opacity 3s ease; - opacity: 0; -} -.tooltip-element.tooltip-open { - display: block; - opacity: 1; -} -.ui-tooltip { - line-height: 1; -} -.tooltip-element.ui-tooltip-theme { - max-width: 100%; - max-height: 100%; - pointer-events: none; - z-index: 70; -} -.tooltip-element.ui-tooltip-theme .tooltip-content { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - position: relative; - border-radius: 2px; - padding: 0 8px; - height: 26px; - font-family: inherit; - font-size: 13px; - line-height: 1; - background: #212121; - opacity: 0.9; - color: #fff; -} -.tooltip-element.ui-tooltip-theme.tooltip-element-attached-bottom.tooltip-element-attached-center .tooltip-content { - margin-bottom: 4px; -} -.tooltip-element.ui-tooltip-theme.tooltip-element-attached-top.tooltip-element-attached-center .tooltip-content { - margin-top: 4px; -} -.tooltip-element.ui-tooltip-theme.tooltip-element-attached-right.tooltip-element-attached-middle .tooltip-content { - margin-right: 4px; -} -.tooltip-element.ui-tooltip-theme.tooltip-element-attached-left.tooltip-element-attached-middle .tooltip-content { - margin-left: 4px; -} -.tooltip-element.ui-tooltip-theme.tooltip-element-attached-top.tooltip-element-attached-left.tooltip-target-attached-bottom .tooltip-content { - margin-top: 4px; -} -.tooltip-element.ui-tooltip-theme.tooltip-element-attached-top.tooltip-element-attached-right.tooltip-target-attached-bottom .tooltip-content { - margin-top: 4px; -} -.tooltip-element.ui-tooltip-theme.tooltip-element-attached-bottom.tooltip-element-attached-left.tooltip-target-attached-top .tooltip-content { - margin-bottom: 4px; -} -.tooltip-element.ui-tooltip-theme.tooltip-element-attached-bottom.tooltip-element-attached-right.tooltip-target-attached-top .tooltip-content { - margin-bottom: 4px; -} -.tooltip-element.ui-tooltip-theme.tooltip-element-attached-top.tooltip-element-attached-right.tooltip-target-attached-left .tooltip-content { - margin-right: 4px; -} -.tooltip-element.ui-tooltip-theme.tooltip-element-attached-top.tooltip-element-attached-left.tooltip-target-attached-right .tooltip-content { - margin-left: 4px; -} -.tooltip-element.ui-tooltip-theme.tooltip-element-attached-bottom.tooltip-element-attached-right.tooltip-target-attached-left .tooltip-content { - margin-right: 4px; -} -.tooltip-element.ui-tooltip-theme.tooltip-element-attached-bottom.tooltip-element-attached-left.tooltip-target-attached-right .tooltip-content { - margin-left: 4px; -} -.ui-tab { - outline: none; -} -.ui-tabs { - width: 100%; - margin-bottom: 24px; -} -.ui-tabs.fullwidth .ui-tab-header-item { - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; -} -.ui-tabs.raised { - border: none; - box-shadow: 0 0 2px rgba(0,0,0,0.12), 0 2px 2px rgba(0,0,0,0.2); -} -.ui-tabs.raised .ui-tabs-body { - border: none; -} -.ui-tabs-header { - position: relative; - width: 100%; -} -.ui-tabs-header.background-color-default { - background-color: #eee; -} -body[modality="keyboard"] .ui-tabs-header.background-color-default .ui-tab-header-item:focus { - outline: 1px solid #2196f3; -} -body[modality="keyboard"] .ui-tabs-header.background-color-primary .ui-tab-header-item:focus, -body[modality="keyboard"] .ui-tabs-header.background-color-accent .ui-tab-header-item:focus, -body[modality="keyboard"] .ui-tabs-header.background-color-clear .ui-tab-header-item:focus { - outline: 1px solid #fff; -} -.ui-tabs-header.background-color-primary .ui-tab-header-item .ui-ripple-ink .ripple.held, -.ui-tabs-header.background-color-accent .ui-tab-header-item .ui-ripple-ink .ripple.held, -.ui-tabs-header.background-color-clear .ui-tab-header-item .ui-ripple-ink .ripple.held { - opacity: 0.7; -} -.ui-tabs-header.background-color-primary { - background-color: #2196f3; -} -.ui-tabs-header.background-color-accent { - background-color: #d500f9; -} -.ui-tabs-header.background-color-clear { - background-color: transparent; -} -.ui-tabs-header-items { - position: relative; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - list-style: none; - margin: 0; - padding: 0; -} -.ui-tabs-header-items.text-color-black { - color: rgba(0,0,0,0.54); -} -.ui-tabs-header-items.text-color-black .ui-tab-header-item-icon { - color: rgba(0,0,0,0.54); -} -.ui-tabs-header-items.text-color-white { - color: rgba(255,255,255,0.65); -} -.ui-tabs-header-items.text-color-white .ui-tab-header-item-icon { - color: rgba(255,255,255,0.65); -} -.ui-tabs-header-items.text-color-active-primary .ui-tab-header-item.active { - color: #2196f3; -} -.ui-tabs-header-items.text-color-active-primary .ui-tab-header-item.active .ui-tab-header-item-icon { - color: #2196f3; -} -.ui-tabs-header-items.text-color-active-accent .ui-tab-header-item.active { - color: #d500f9; -} -.ui-tabs-header-items.text-color-active-accent .ui-tab-header-item.active .ui-tab-header-item-icon { - color: #d500f9; -} -.ui-tabs-header-items.text-color-active-white .ui-tab-header-item.active { - color: #fff; -} -.ui-tabs-header-items.text-color-active-white .ui-tab-header-item.active .ui-tab-header-item-icon { - color: #fff; -} -.ui-tabs-active-tab-indicator { - position: absolute; - height: 2px; - bottom: 0; - transition: all 0.2s ease; - box-shadow: 0 -1px 2px rgba(0,0,0,0.05); -} -.ui-tabs-active-tab-indicator.color-primary { - background-color: #2196f3; -} -.ui-tabs-active-tab-indicator.color-accent { - background-color: #d500f9; -} -.ui-tabs-active-tab-indicator.color-white { - background-color: #fff; -} -.ui-tabs-body { - background-color: #fff; - border-radius: 0; - border: 1px solid #eee; - border-top: 0; - padding: 16px; - margin: 0; -} -.ui-tab-header-item-text { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -.ui-tab-header-item { - font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - position: relative; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - height: 48px; - padding: 0 12px; - text-transform: uppercase; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - cursor: pointer; - min-width: 80px; -} -.ui-tab-header-item.type-icon-and-text { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - height: 72px; -} -.ui-tab-header-item.type-icon-and-text .ui-tab-header-item-icon { - margin-bottom: 4px; - margin-bottom: 4px; -} -.ui-tab-header-item.disabled { - opacity: 0.4; - cursor: default; -} -.ui-tab-header-item-icon { - width: 24px; - height: 24px; -} -.ui-tab-header-item-icon .ui-icon { - cursor: inherit; -} -.ui-alert { - font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - font-size: 15px; - line-height: 1.4em; - overflow: hidden; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - width: 100%; -} -.ui-alert a { - text-decoration: none; -} -.ui-alert a:hover, -.ui-alert a:focus { - text-decoration: underline; -} -.ui-alert .ui-alert-close-button { - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - width: 32px; - height: 32px; - margin-right: -8px; - margin-top: -4px; - margin-bottom: -4px; - color: rgba(0,0,0,0.38); - margin-left: 8px; -} -.ui-alert .ui-alert-close-button:not([disabled]):hover, -body[modality="keyboard"] .ui-alert .ui-alert-close-button:focus { - color: rgba(0,0,0,0.8); -} -.ui-alert .ui-alert-close-button .ui-icon { - font-size: 18px; - margin: 0; -} -.ui-alert-body { - width: 100%; - min-height: 52px; - padding: 12px 16px; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; -} -.ui-alert-body.error { - background-color: rgba(244,67,54,0.12); -} -.ui-alert-body.error a { - color: #f44336; -} -.ui-alert-body.error .ui-alert-icon { - color: #f44336; -} -.ui-alert-body.success { - background-color: rgba(76,175,80,0.12); -} -.ui-alert-body.success a { - color: #4caf50; -} -.ui-alert-body.success .ui-alert-icon { - color: #4caf50; -} -.ui-alert-body.info { - background-color: rgba(33,150,243,0.12); -} -.ui-alert-body.info a { - color: #2196f3; -} -.ui-alert-body.info .ui-alert-icon { - color: #2196f3; -} -.ui-alert-body.warning { - background-color: rgba(255,152,0,0.12); -} -.ui-alert-body.warning a { - color: #ff9800; -} -.ui-alert-body.warning .ui-alert-icon { - color: #ff9800; -} -.ui-alert-icon { - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - margin-right: 12px; -} -.ui-alert-text { - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - color: rgba(0,0,0,0.75); -} -.ui-alert-toggle-transition { - transition: all 0.3s ease; - margin-top: 0; - margin-bottom: 12px; -} -.ui-alert-toggle-enter, -.ui-alert-toggle-leave { - margin-top: -52px; - opacity: 0; - margin-bottom: 0; -} -.section-ui-autocomplete .ui-button { - margin-bottom: 12px; -} -.ui-autocomplete { - font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - position: relative; - margin-bottom: 12px; - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; -} -.ui-autocomplete:hover:not(.disabled) .ui-autocomplete-label-text { - color: rgba(0,0,0,0.65); -} -.ui-autocomplete:hover:not(.disabled) .ui-autocomplete-input { - border-bottom-color: rgba(0,0,0,0.22); -} -.ui-autocomplete.active:not(.disabled) .ui-autocomplete-label-text, -.ui-autocomplete.active:not(.disabled) .ui-autocomplete-icon { - color: #2196f3; -} -.ui-autocomplete.active:not(.disabled) .ui-autocomplete-input { - border-bottom-width: 2px; - border-bottom-color: #2196f3; -} -.ui-autocomplete.has-label .ui-autocomplete-icon-wrapper { - padding-top: 20px; -} -.ui-autocomplete.has-label .ui-autocomplete-clear-button { - top: 22px; -} -.ui-autocomplete.icon-right .ui-autocomplete-icon-wrapper { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; - margin-left: 8px; - margin-right: 0; -} -.ui-autocomplete.invalid:not(.disabled) .ui-autocomplete-label-text, -.ui-autocomplete.invalid:not(.disabled) .ui-autocomplete-icon { - color: #f44336; -} -.ui-autocomplete.invalid:not(.disabled) .ui-autocomplete-input { - border-bottom-color: #f44336; -} -.ui-autocomplete.disabled .ui-autocomplete-input { - color: rgba(0,0,0,0.38); - border-bottom-style: dashed; -} -.ui-autocomplete.disabled .ui-autocomplete-icon { - opacity: 0.6; -} -.ui-autocomplete.disabled .ui-autocomplete-feedback { - opacity: 0.8; -} -.ui-autocomplete-label { - display: block; - position: relative; - width: 100%; - margin: 0; - padding: 0; -} -.ui-autocomplete-icon-wrapper { - height: 24px; - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - margin-right: 12px; - padding-top: 4px; -} -.ui-autocomplete-icon { - color: rgba(0,0,0,0.54); -} -.ui-autocomplete-content { - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; -} -.ui-autocomplete-label-text { - font-size: 14px; - line-height: 1; - margin-bottom: 2px; - color: rgba(0,0,0,0.54); - transition: color 0.1s ease; -} -.ui-autocomplete-input { - cursor: auto; - background: none; - outline: none; - border: none; - padding: 0; - width: 100%; - height: 32px; - border-bottom-width: 1px; - border-bottom-style: solid; - border-bottom-color: rgba(0,0,0,0.12); - transition: border 0.1s ease; - color: rgba(26,26,26,0.87); - font-weight: normal; - font-size: 16px; - font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; -} -.ui-autocomplete-input::-ms-clear { - display: none; -} -.ui-autocomplete-clear-button { - font-size: 18px; - position: absolute; - right: 0; - top: 6px; - color: rgba(0,0,0,0.38); - cursor: pointer; -} -.ui-autocomplete-clear-button:hover { - color: rgba(0,0,0,0.54); -} -.ui-autocomplete-feedback { - margin: 0; - height: 20px; - overflow: hidden; - position: relative; - font-size: 14px; - padding-top: 4px; -} -.ui-autocomplete-help-text { - color: rgba(0,0,0,0.38); - line-height: 1; -} -.ui-autocomplete-error-text { - position: absolute; - color: #f44336; - line-height: 1; -} -.ui-autocomplete-feedback-toggle-transition { - transition-property: opacity, margin-top; - transition-duration: 0.3s; - opacity: 1; - margin-top: 0; -} -.ui-autocomplete-feedback-toggle-enter, -.ui-autocomplete-feedback-toggle-leave { - opacity: 0; - margin-top: -20px; -} -.ui-autocomplete-suggestions { - min-width: 100%; - display: block; - position: absolute; - padding: 0; - margin: 0; - margin-bottom: 8px; - list-style-type: none; - box-shadow: 1px 2px 8px #757575; - background-color: #fff; - color: rgba(0,0,0,0.87); - transition: left 0.1s ease-in-out; - z-index: 60; -} -.ui-autocomplete-suggestion { - font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - cursor: pointer; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - padding: 8px 12px; - font-weight: normal; - font-size: 15px; -} -.ui-autocomplete-suggestion:hover { - background-color: rgba(0,0,0,0.06); -} -.ui-autocomplete-suggestion.highlighted { - background-color: rgba(0,0,0,0.1); -} -.ui-autocomplete-image { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; -} -.ui-autocomplete-image .image { - width: 32px; - height: 32px; - background-size: cover; - background-position: 50%; - margin-right: 12px; - border-radius: 50%; -} -.section-ui-button .ui-button { - margin-bottom: 12px; - margin-right: 8px; -} -.section-ui-button .demo .group { - margin-bottom: 18px; -} -.section-ui-button .spacer { - height: 72px; -} -.section-ui-checkbox .group { - margin-bottom: 32px; -} -.section-ui-checkbox .group.label-left { - max-width: 200px; -} -.section-ui-checkbox .ui-button { - margin-top: 24px; -} -.ui-checkbox { - font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - font-weight: normal; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - margin: 0; - margin-bottom: 12px; - cursor: default; - position: relative; -} -.ui-checkbox:not(.disabled):not(.checked):hover .ui-checkbox-checkmark:before, -.ui-checkbox:not(.disabled):not(.checked).active .ui-checkbox-checkmark:before { - border-color: rgba(0,0,0,0.54); -} -.ui-checkbox:not(.disabled).checked:hover .ui-checkbox-checkmark:before, -.ui-checkbox:not(.disabled).checked.active .ui-checkbox-checkmark:before { - background-color: #0c81df; - border-color: #0c81df; -} -.ui-checkbox.checked .ui-checkbox-checkmark:before { - background: #2196f3; - border-color: #2196f3; -} -.ui-checkbox.checked .ui-checkbox-checkmark:after { - border-right: 2px solid #fff; - border-bottom: 2px solid #fff; - opacity: 1; -} -.ui-checkbox.checked .ui-checkbox-focus-ring { - background-color: rgba(33,150,243,0.12); -} -.ui-checkbox.label-left .ui-checkbox-label-text { - margin-left: 0; - margin-right: auto; - -webkit-order: -1; - -ms-flex-order: -1; - order: -1; -} -.ui-checkbox.disabled .ui-checkbox-label-text { - color: rgba(0,0,0,0.38); -} -.ui-checkbox.disabled .ui-checkbox-checkmark:before { - border-color: rgba(0,0,0,0.26); -} -.ui-checkbox.disabled.checked .ui-checkbox-checkmark:before { - border: none; - background: rgba(0,0,0,0.26); -} -.ui-checkbox:not(.disabled) .ui-checkbox-label-text { - cursor: pointer; -} -.ui-checkbox-label-text { - margin-left: 8px; - font-size: 15px; -} -.ui-checkbox-checkmark { - position: relative; - height: 20px; - width: 20px; - background: #fff; -} -.ui-checkbox-checkmark:before { - box-sizing: border-box; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - display: block; - content: ""; - border-radius: 2px; - border: 2px solid rgba(0,0,0,0.38); - transition: all 0.3s ease; -} -.ui-checkbox-checkmark:after { - box-sizing: border-box; - position: absolute; - left: 7px; - bottom: 5px; - display: block; - content: ""; - width: 6px; - height: 13px; - -webkit-transform: rotate(45deg); - -ms-transform: rotate(45deg); - transform: rotate(45deg); - opacity: 0; - transition: opacity 0.3s ease; - transition-delay: 0.1s; - box-sizing: border-box; -} -.ui-checkbox-input { - position: absolute; - opacity: 0; -} -body[modality="keyboard"] .ui-checkbox-input:focus + .ui-checkbox-checkmark .ui-checkbox-focus-ring { - opacity: 1; - -webkit-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1); -} -.ui-checkbox-focus-ring { - position: absolute; - width: 48px; - height: 48px; - background-color: rgba(0,0,0,0.1); - margin-left: -14px; - margin-top: -14px; - border-radius: 50%; - transition-property: opacity, -webkit-transform; - transition-property: opacity, transform; - transition-property: opacity, transform, -webkit-transform; - transition-duration: 0.2s; - transition-timing-function: ease; - -webkit-transform: scale(0); - -ms-transform: scale(0); - transform: scale(0); - opacity: 0; -} -.ui-collapsible-header-content { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -.ui-collapsible { - font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - width: 100%; - margin-bottom: 8px; -} -.ui-collapsible-header { - position: relative; - margin: 0; - width: 100%; - border: none; - line-height: 1; - text-align: left; - font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - height: 0; - min-height: 48px; - padding: 8px 16px; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -ms-touch-action: manipulation; - touch-action: manipulation; - cursor: pointer; - font-size: 16px; - background-color: #eee; -} -.ui-collapsible-header:hover:not(.disabled), -body[modality="keyboard"] .ui-collapsible-header:focus { - background-color: #e0e0e0; -} -.ui-collapsible-header.disabled { - opacity: 0.6; - cursor: default; -} -.ui-collapsible-header.disabled .ui-icon { - cursor: default; -} -.ui-collapsible-header .ui-icon { - cursor: pointer; -} -.ui-collapsible-header .ui-ripple-ink .ripple.held { - opacity: 0.01; -} -.ui-collapsible-header-content { - line-height: 1.25em; -} -.ui-collapsible-header-icon { - margin-left: auto; - margin-right: -4px; - color: rgba(0,0,0,0.54); -} -.ui-collapsible-body-wrapper { - overflow: hidden; - height: initial; -} -.ui-collapsible-body { - width: 100%; - padding: 16px; - display: block; - border: 1px solid #eee; - border-top: 0; -} -.ui-collapsible-toggle-transition { - transition: height 0.2s ease; -} -.ui-collapsible-toggle-enter, -.ui-collapsible-toggle-leave { - height: 0 !important; -} -.section-ui-confirm .group { - margin-bottom: 18px; -} -.ui-confirm-message { - font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - font-size: 15px; -} -.ui-modal { - font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - font-size: 14px; -} -.ui-modal.ui-modal-large .ui-modal-container { - width: 848px; -} -.ui-modal.ui-modal-small .ui-modal-container { - width: 320px; -} -body.ui-modal-open { - overflow: hidden; -} -.ui-modal-mask { - position: fixed; - z-index: 50; - top: 0; - left: 0; - width: 100%; - height: 100%; - background-color: rgba(0,0,0,0.5); - display: table; - transition: opacity 0.2s ease; -} -.ui-modal-wrapper { - display: table-cell; - vertical-align: middle; -} -.ui-modal-container { - outline: none; - width: 528px; - margin: 0px auto; - padding: 0; - background-color: #fff; - border-radius: 2px; - box-shadow: 0 2px 8px rgba(0,0,0,0.33); - transition: all 0.2s ease; - max-height: 100vh; - max-width: 100vw; - overflow-x: hidden; - overflow-y: auto; -} -.ui-modal-header { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - padding: 24px 24px 8px; -} -.ui-modal-header .ui-modal-header-text { - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - font-size: 22px; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - margin: 0; - font-weight: normal; -} -.ui-modal-header .ui-modal-close-button { - margin-top: -12px; - margin-right: -8px; - margin-left: auto; -} -.ui-modal-header .ui-modal-close-button:hover:not([disabled]) .ui-icon, -body[modality="keyboard"] .ui-modal-header .ui-modal-close-button:focus .ui-icon { - color: rgba(0,0,0,0.8); -} -.ui-modal-header .ui-modal-close-button .ui-icon { - font-size: 20px; - color: rgba(0,0,0,0.4); -} -.ui-modal-header .ui-modal-close-button[disabled] { - opacity: 0.5; -} -.ui-modal-body { - padding: 16px 24px 24px; -} -.ui-modal-footer { - margin-top: -8px; - padding: 24px; - padding-top: 8px; -} -.ui-modal-footer, -.ui-modal-footer [slot] { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-justify-content: flex-end; - -ms-flex-pack: end; - justify-content: flex-end; -} -.ui-modal-footer .ui-modal-footer-left, -.ui-modal-footer [slot].ui-modal-footer-left { - -webkit-justify-content: flex-start; - -ms-flex-pack: start; - justify-content: flex-start; -} -.ui-modal-footer .ui-button { - margin-left: 8px; -} -.ui-modal-footer .ui-button:first-child { - margin-left: 0; -} -.ui-modal-fade-enter, -.ui-modal-fade-leave { - opacity: 0; -} -.ui-modal-scale-enter, -.ui-modal-scale-leave { - opacity: 0; -} -.ui-modal-scale-enter .ui-modal-container, -.ui-modal-scale-leave .ui-modal-container { - -webkit-transform: scale(1.1); - -ms-transform: scale(1.1); - transform: scale(1.1); -} -.section-ui-fab .group { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - margin-bottom: 16px; - -webkit-align-items: flex-end; - -ms-flex-align: end; - align-items: flex-end; -} -.section-ui-fab .group .ui-fab { - margin-right: 18px; -} -.ui-fab { - position: relative; - outline: none; - border: none; - z-index: 30; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - border-radius: 50%; - box-shadow: 0 2px 5px 0 rgba(0,0,0,0.2), 0 2px 10px 0 rgba(0,0,0,0.16); - transition: box-shadow 0.3s ease; -} -.ui-fab::-moz-focus-inner { - border: 0; -} -.ui-fab:hover:not([disabled]), -body[modality="keyboard"] .ui-fab:focus { - box-shadow: 0 8px 17px 0 rgba(0,0,0,0.25), 0 6px 20px 0 rgba(0,0,0,0.2); -} -.ui-fab:not([disabled]) { - cursor: pointer; -} -.ui-fab.color-default { - background-color: #fff; - color: rgba(0,0,0,0.54); -} -.ui-fab.color-default .ui-fab-icon { - color: rgba(0,0,0,0.54); -} -.ui-fab.color-default .ui-ripple-ink .ripple.held { - opacity: 0.2; -} -.ui-fab.color-primary, -.ui-fab.color-accent { - color: #fff; -} -.ui-fab.color-primary .ui-fab-icon, -.ui-fab.color-accent .ui-fab-icon { - color: #fff; -} -.ui-fab.color-primary .ui-ripple-ink .ripple.held, -.ui-fab.color-accent .ui-ripple-ink .ripple.held { - opacity: 0.7; -} -.ui-fab.color-primary { - background-color: #2196f3; -} -body[modality="keyboard"] .ui-fab.color-primary:focus { - background-color: #0d89ec; -} -.ui-fab.color-accent { - background-color: #d500f9; -} -body[modality="keyboard"] .ui-fab.color-accent:focus { - background-color: #c000e0; -} -.ui-fab .ui-ripple-ink { - border-radius: 50%; -} -.ui-fab-normal { - width: 56px; - height: 56px; -} -.ui-fab-mini { - width: 40px; - height: 40px; -} -.ui-fab-icon { - margin: 0; - width: 100%; - height: initial; -} -.section-ui-icon-button .group { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - margin-bottom: 18px; -} -.section-ui-icon-button .box { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - height: 56px; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - width: 200px; - border: 1px solid #e0e0e0; -} -.section-ui-icon-button .box.colored { - border: none; - background-color: #2196f3; -} -.section-ui-icon-button .box .ui-icon-button { - width: 48px; - height: 48px; - margin-bottom: 0; -} -.section-ui-icon-button .box .ui-icon-button:last-child { - margin-right: 0; -} -.section-ui-icon-button .ui-icon-button { - margin-right: 8px; - margin-bottom: 8px; -} -.section-ui-icon .demo .ui-icon { - color: rgba(0,0,0,0.54); - margin-right: 8px; - margin-bottom: 8px; -} -.section-ui-icon .demo .icon-large .ui-icon { - font-size: 32px; -} -.section-ui-icon .group { - margin-bottom: 16px; -} -.section-ui-icon .group.inline .ui-icon { - margin: 0; -} -.section-ui-menu .link-trigger { - font-size: 16px; - cursor: pointer; -} -.section-ui-modal .group { - margin-bottom: 16px; -} -.section-ui-modal .ui-button { - margin-bottom: 8px; -} -.section-ui-modal .ui-modal-footer .ui-button { - margin-bottom: 0; -} -.section-ui-popover .link-trigger { - font-size: 16px; - cursor: pointer; -} -.ui-popover p { - margin-bottom: 0; -} -.section-ui-preloader .ui-button { - margin-top: 24px; -} -.section-ui-preloader .pull-right { - margin-top: 0; - float: right; -} -.ui-preloader { - position: relative; - width: 100%; -} -.ui-preloader-progressbar { - opacity: 0; - position: absolute; - top: 0; - left: 0; - width: 100%; - background-color: #159756; - -webkit-animation: ui-preloader-background linear 3s infinite; - animation: ui-preloader-background linear 3s infinite; - transition-property: opacity, padding-top; - transition-duration: 0.3s; - transition-timing-function: ease; -} -.ui-preloader-progressbar.loading { - opacity: 1; - padding-top: 3px; -} -.ui-preloader-progressbar::before, -.ui-preloader-progressbar::after { - display: block; - position: absolute; - top: 0; - z-index: 1; - width: 0; - height: 3px; - background: #afa; - -webkit-animation: ui-preloader-front linear 3s infinite; - animation: ui-preloader-front linear 3s infinite; - content: ''; -} -.ui-preloader-progressbar::before { - right: 50%; -} -.ui-preloader-progressbar::after { - left: 50%; -} -@-webkit-keyframes ui-preloader-background { - 0%, 24.9% { - background-color: #159756; - } - 25%, 49.9% { - background-color: #da4733; - } - 50%, 74.9% { - background-color: #3b78e7; - } - 75%, 100% { - background-color: #fdba2c; - } -} -@keyframes ui-preloader-background { - 0%, 24.9% { - background-color: #159756; - } - 25%, 49.9% { - background-color: #da4733; - } - 50%, 74.9% { - background-color: #3b78e7; - } - 75%, 100% { - background-color: #fdba2c; - } -} -@-webkit-keyframes ui-preloader-front { - 0% { - width: 0; - background-color: #da4733; - } - 24.9% { - width: 50%; - background-color: #da4733; - } - 25% { - width: 0; - background-color: #3b78e7; - } - 49.9% { - width: 50%; - background-color: #3b78e7; - } - 50% { - width: 0; - background-color: #fdba2c; - } - 74.9% { - width: 50%; - background-color: #fdba2c; - } - 75% { - width: 0%; - background-color: #159756; - } - 100% { - width: 50%; - background-color: #159756; - } -} -@keyframes ui-preloader-front { - 0% { - width: 0; - background-color: #da4733; - } - 24.9% { - width: 50%; - background-color: #da4733; - } - 25% { - width: 0; - background-color: #3b78e7; - } - 49.9% { - width: 50%; - background-color: #3b78e7; - } - 50% { - width: 0; - background-color: #fdba2c; - } - 74.9% { - width: 50%; - background-color: #fdba2c; - } - 75% { - width: 0%; - background-color: #159756; - } - 100% { - width: 50%; - background-color: #159756; - } -} -.section-ui-progress-circular .group { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; -} -.section-ui-progress-circular .group .ui-progress-circular { - margin-right: 24px; -} -.section-ui-progress-circular .ui-button { - margin-top: 24px; -} -.section-ui-progress-circular .color-wrapper { - background-color: #808080; - display: inline-block; - padding: 8px; -} -.section-ui-progress-circular .color-wrapper .ui-progress-circular { - margin-right: 0; -} -.section-ui-progress-linear .ui-button { - margin-top: 24px; -} -.section-ui-progress-linear .ui-progress-linear { - margin-top: 8px; - margin-bottom: 8px; -} -.section-ui-progress-linear .group .ui-progress-linear { - margin-bottom: 40px; -} -.section-ui-progress-linear .color-wrapper { - background-color: #808080; - padding: 8px 0; -} -.section-ui-progress-linear .color-wrapper .ui-progress-linear { - margin-bottom: 8px; -} -.section-ui-radio .max-width-200 { - max-width: 200px; -} -.ui-radio { - font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - height: 20px; - font-size: 15px; - margin: 0; -} -.ui-radio:hover:not(.disabled) .ui-radio-input:not(:checked) ~ .ui-radio-border { - border: 2px solid rgba(0,0,0,0.54); -} -.ui-radio.label-left .ui-radio-label-text { - -webkit-order: -1; - -ms-flex-order: -1; - order: -1; - margin-right: auto; - margin-left: 0; -} -.ui-radio.disabled { - opacity: 0.5; -} -.ui-radio:not(.disabled) .ui-radio-label-text { - cursor: pointer; -} -.ui-radio-input-wrapper { - position: relative; - width: 20px; - height: 20px; -} -.ui-radio-input { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - outline: none; - margin: 0; - padding: 0; - position: absolute; - height: 1px; - width: 1px; - left: 0; - top: 0; - opacity: 0; -} -.ui-radio-input:checked ~ .ui-radio-border { - border-color: #2196f3; -} -.ui-radio-input:checked ~ .ui-radio-inner-dot { - background-color: #2196f3; - -webkit-transform: scale(0.5); - -ms-transform: scale(0.5); - transform: scale(0.5); - opacity: 1; - z-index: 0; -} -.ui-radio-border { - position: absolute; - top: 0; - left: 0; - width: 20px; - height: 20px; - border-radius: 50%; - border: 2px solid rgba(0,0,0,0.38); - background-color: transparent; - transition: border-color 0.2s; -} -.ui-radio-inner-dot { - position: absolute; - top: 0; - left: 0; - width: 20px; - height: 20px; - border-radius: 50%; - background-color: rgba(0,0,0,0.38); - opacity: 0; - z-index: -1; - -webkit-transform: scale(1.2); - -ms-transform: scale(1.2); - transform: scale(1.2); - transition-property: opacity, background-color, -webkit-transform; - transition-property: transform, opacity, background-color; - transition-property: transform, opacity, background-color, -webkit-transform; - transition-duration: 0.3s; -} -.ui-radio-label-text { - margin-left: 16px; - font-size: 15px; -} -.section-ui-radio-group .ui-button { - margin-top: 24px; -} -.ui-radio-group-help-text { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: default; -} -.ui-radio-group { - font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; -} -.ui-radio-group:not(.disabled):hover .ui-radio-group-label { - color: rgba(0,0,0,0.65); -} -.ui-radio-group:not(.disabled).active .ui-radio-group-label { - color: #0b7ad1; -} -.ui-radio-group.vertical .ui-radio-group-options-wrapper { - height: auto; - margin-top: 8px; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; -} -.ui-radio-group.vertical .ui-radio-group-options-wrapper .ui-radio { - width: 100%; - margin-left: 0; - margin-bottom: 16px; -} -.ui-radio-group.disabled .ui-radio-group-feedback { - opacity: 0.8; -} -.ui-radio-group .ui-radio { - margin-left: 24px; -} -.ui-radio-group .ui-radio:first-child { - margin-left: 0; -} -.ui-radio-group-label { - font-size: 14px; - color: rgba(0,0,0,0.54); - transition: color 0.1s ease; -} -.ui-radio-group-options-wrapper { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - height: 32px; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; -} -.ui-radio-group-feedback { - height: 20px; - overflow: hidden; - padding-top: 4px; - position: relative; - font-size: 14px; -} -.ui-radio-group-help-text { - color: rgba(0,0,0,0.38); - line-height: 1.2; -} -.section-ui-rating .ui-rating-preview { - margin-right: 12px; -} -.section-ui-rating .ui-rating { - margin-bottom: 24px; -} -.section-ui-rating .ui-button { - margin-top: 24px; -} -.ui-rating { - font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - outline: none; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; -} -.ui-rating:hover:not(.disabled) .ui-rating-label { - color: rgba(0,0,0,0.65); -} -.ui-rating.active:not(.disabled) .ui-rating-label { - color: #2196f3; -} -body[modality="keyboard"] .ui-rating:focus .ui-rating-icon-icon { - color: rgba(0,0,0,0.54); -} -body[modality="keyboard"] .ui-rating:focus .ui-rating-icon-icon.selected { - color: rgba(0,0,0,0.54); -} -body[modality="keyboard"] .ui-rating:focus .ui-rating-icon-icon.filled { - color: #0b7ad1; -} -.ui-rating.preview .ui-rating-icon-icon { - cursor: pointer; -} -.ui-rating.preview .ui-rating-icon-icon.selected { - color: rgba(0,0,0,0.38); -} -.ui-rating.preview .ui-rating-icon-icon.filled { - color: #2196f3; -} -.ui-rating.disabled .ui-rating-icons-wrapper { - opacity: 0.6; -} -.ui-rating.disabled .ui-rating-feedback { - opacity: 0.8; -} -.ui-rating .ui-rating-icon-icon.selected { - color: #2196f3; -} -.ui-rating-label { - font-size: 14px; - margin-bottom: 4px; - color: rgba(0,0,0,0.54); - transition: color 0.1s ease; -} -.ui-rating-icons-wrapper { - display: -webkit-inline-flex; - display: -ms-inline-flexbox; - display: inline-flex; -} -.ui-rating-feedback { - height: 20px; - overflow: hidden; - padding-top: 4px; - position: relative; - font-size: 14px; -} -.ui-rating-help-text { - color: rgba(0,0,0,0.38); - line-height: 1; -} -.ui-rating-feedback-toggle-transition { - transition-property: opacity, margin-top; - transition-duration: 0.3s; - margin-top: 0; - opacity: 1; -} -.ui-rating-feedback-toggle-enter, -.ui-rating-feedback-toggle-leave { - margin-top: -20px; - opacity: 0; -} -.ui-rating-icon { - cursor: default; -} -.ui-rating-icon .ui-icon { - color: rgba(0,0,0,0.38); -} -.ui-rating-preview { - display: -webkit-inline-flex; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-flex-basis: 0; - -ms-flex-preferred-size: 0; - flex-basis: 0; - width: auto; -} -.ui-rating-preview .ui-rating-icon-icon.selected { - color: #2196f3; -} -.section-ui-ripple-ink .group { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; -} -.section-ui-ripple-ink .custom-color.color-orange { - color: #ff9800; -} -.section-ui-ripple-ink .custom-color.color-blue { - color: #2196f3; -} -.section-ui-ripple-ink .custom-color .ui-ripple-ink .ripple.held { - opacity: 0.6; -} -.section-ui-ripple-ink .custom-opacity .ui-ripple-ink .ripple.held { - opacity: 0.95; -} -.section-ui-ripple-ink .image-pane { - background-size: cover; - background-position: 50%; - margin-right: 16px; - margin-bottom: 16px; - position: relative; -} -.section-ui-ripple-ink .tv-shows .image-pane { - width: 120px; - height: 180px; -} -.section-ui-ripple-ink .the-simpsons .image-pane { - width: 120px; - height: 120px; - border-radius: 8px; -} -.section-ui-select .ui-select { - max-width: 400px; - margin-bottom: 32px; -} -.section-ui-select .ui-button { - margin-top: 16px; -} -.section-ui-select p.code { - margin-top: -4px; - margin-bottom: 24px; -} -.ui-select { - font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - position: relative; - margin-bottom: 12px; - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - outline: none; -} -.ui-select:hover:not(.disabled) .ui-select-label-text { - color: rgba(0,0,0,0.65); -} -.ui-select:hover:not(.disabled) .ui-select-display { - border-bottom-color: rgba(0,0,0,0.22); -} -.ui-select:hover:not(.disabled) .ui-select-dropdown-icon { - color: rgba(0,0,0,0.54); -} -.ui-select.active:not(.disabled) .ui-select-label-text, -.ui-select.active:not(.disabled) .ui-select-icon { - color: #2196f3; -} -.ui-select.active:not(.disabled) .ui-select-display { - border-bottom-width: 2px; - border-bottom-color: #2196f3; -} -.ui-select.has-label .ui-select-icon-wrapper { - padding-top: 20px; -} -.ui-select.has-label .ui-select-dropdown-icon { - top: 20px; -} -.ui-select.icon-right .ui-select-icon-wrapper { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; - margin-left: 8px; - margin-right: 0; -} -.ui-select.invalid:not(.disabled) .ui-select-label-text, -.ui-select.invalid:not(.disabled) .ui-select-icon { - color: #f44336; -} -.ui-select.invalid:not(.disabled) .ui-select-display { - border-bottom-color: #f44336; -} -.ui-select.disabled .ui-select-display { - cursor: default; - color: rgba(0,0,0,0.38); - border-bottom-style: dashed; -} -.ui-select.disabled .ui-select-dropdown-icon, -.ui-select.disabled .ui-select-value.placeholder { - opacity: 0.6; - color: rgba(0,0,0,0.38); -} -.ui-select.disabled .ui-select-icon { - opacity: 0.6; -} -.ui-select.disabled .ui-select-feedback { - opacity: 0.8; -} -.ui-select-icon-wrapper { - height: 24px; - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - margin-right: 12px; - padding-top: 4px; -} -.ui-select-icon { - color: rgba(0,0,0,0.54); -} -.ui-select-content { - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; -} -.ui-select-label { - outline: none; - display: block; - position: relative; - width: 100%; - margin: 0; - padding: 0; -} -.ui-select-label-text { - font-size: 14px; - line-height: 1; - margin-bottom: 2px; - color: rgba(0,0,0,0.54); - transition: color 0.1s ease; -} -.ui-select-display { - cursor: pointer; - outline: none; - border: none; - padding: 0; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - width: 100%; - height: 0; - min-height: 32px; - border-bottom-width: 1px; - border-bottom-style: solid; - border-bottom-color: rgba(0,0,0,0.12); - transition: border 0.1s ease; - line-height: 1; - color: rgba(26,26,26,0.87); - font-weight: normal; - font-size: 16px; - font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; -} -.ui-select-value { - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - line-height: 1.4; -} -.ui-select-value.placeholder { - color: rgba(0,0,0,0.38); -} -.ui-select-dropdown-icon { - margin-left: auto; - margin-right: -4px; - color: rgba(0,0,0,0.38); -} -.ui-select-dropdown { - outline: none; - width: 100%; - min-width: 180px; - display: block; - position: absolute; - padding: 0; - margin: 0; - margin-bottom: 8px; - list-style-type: none; - box-shadow: 1px 2px 8px #757575; - background-color: #fff; - color: rgba(0,0,0,0.87); - transition: left 0.1s ease-in-out; - z-index: 60; -} -.ui-select-search-input { - margin: 0; - border: none; - outline: none; - background: none; - padding: 0 12px; - width: 100%; - height: 42px; - font-size: 15px; - border-bottom: 1px solid rgba(0,0,0,0.12); -} -.ui-select-search-input::-ms-clear { - display: none; -} -.ui-select-search-spinner { - position: absolute; - top: 8px; - right: 12px; -} -.ui-select-options { - position: relative; - display: block; - min-width: 100%; - max-height: 256px; - overflow-y: auto; - padding: 0; - margin: 0; - list-style-type: none; - background-color: #fff; - color: rgba(0,0,0,0.87); -} -.ui-select-no-results { - padding: 8px 12px; - font-size: 14px; - color: rgba(0,0,0,0.54); - width: 100%; -} -.ui-select-feedback { - margin: 0; - height: 20px; - overflow: hidden; - position: relative; - font-size: 14px; - padding-top: 4px; -} -.ui-select-help-text { - color: rgba(0,0,0,0.38); - line-height: 1; -} -.ui-select-error-text { - position: absolute; - color: #f44336; - line-height: 1; -} -.ui-select-feedback-toggle-transition { - transition-property: opacity, margin-top; - transition-duration: 0.3s; - opacity: 1; - margin-top: 0; -} -.ui-select-feedback-toggle-enter, -.ui-select-feedback-toggle-leave { - opacity: 0; - margin-top: -20px; -} -.ui-select-item-text { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -.ui-select-option { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - cursor: pointer; - overflow: hidden; -} -.ui-select-option.selected { - color: #2196f3; - font-weight: 500; -} -.ui-select-option.selected .ui-select-option-checkbox { - color: #2196f3; -} -.ui-select-option.highlighted { - color: #fff; - background-color: #42a5f5; -} -.ui-select-option.highlighted .ui-select-option-checkbox { - color: #fff; -} -.ui-select-option-content { - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - max-height: 42px; - padding: 6px 12px; - font-weight: normal; - font-size: 15px; -} -.ui-select-option-checkbox { - color: rgba(0,0,0,0.54); - margin-right: 8px; -} -.ui-select-image { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; -} -.ui-select-item-text { - width: 0; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; -} -.ui-select-item-image { - width: 32px; - height: 32px; - background-size: cover; - background-position: 50%; - margin-right: 12px; - border-radius: 50%; -} -.section-ui-slider .demo { - max-width: 500px; -} -.section-ui-slider .ui-slider { - margin-bottom: 8px; -} -.section-ui-slider .ui-button { - margin-top: 24px; -} -.ui-slider { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - position: relative; - outline: none; - width: 100%; -} -.ui-slider:hover:not(.disabled) .ui-slider-thumb { - -webkit-transform: scale(1.1); - -ms-transform: scale(1.1); - transform: scale(1.1); -} -.ui-slider:hover:not(.disabled) .ui-slider-label { - color: rgba(0,0,0,0.65); -} -.ui-slider:focus:not(.disabled) .ui-slider-thumb, -.ui-slider.dragging:not(.disabled) .ui-slider-thumb { - -webkit-transform: scale(1.1); - -ms-transform: scale(1.1); - transform: scale(1.1); -} -.ui-slider:focus:not(.disabled) .ui-slider-focus-ring, -.ui-slider.dragging:not(.disabled) .ui-slider-focus-ring { - -webkit-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1); -} -.ui-slider.active:not(.disabled) .ui-slider-label, -.ui-slider.active:not(.disabled) .ui-slider-icon { - color: #2196f3; -} -.ui-slider.has-label .ui-slider-icon-wrapper { - padding-top: 34px; -} -.ui-slider.disabled .ui-slider-track-fill { - background-color: transparent; -} -.ui-slider.disabled .ui-slider-thumb { - border: 2px solid #fff; - background-color: #ddd; -} -.ui-slider.disabled .ui-slider-icon { - opacity: 0.6; -} -.ui-slider:not(.disabled) .ui-slider-wrapper { - cursor: pointer; -} -.ui-slider-wrapper { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - position: relative; - width: 100%; - height: 38px; -} -.ui-slider-icon-wrapper { - height: 24px; - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - margin-right: 12px; - padding-top: 7px; -} -.ui-slider-icon { - color: rgba(0,0,0,0.54); -} -.ui-slider-content { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - position: relative; - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; -} -.ui-slider-label { - font-size: 14px; - color: rgba(0,0,0,0.54); - transition: color 0.1s ease; -} -.ui-slider-containment { - position: absolute; - left: 0; - right: 0; - margin-left: -20.5px; - margin-right: -20.5px; -} -.ui-slider-track { - width: 100%; - position: relative; - height: 3px; - background-color: rgba(0,0,0,0.12); -} -.ui-slider-track-fill { - position: absolute; - top: 0; - height: 3px; - background-color: #2196f3; -} -.ui-slider-thumb-container { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - position: absolute; - top: 0; - left: 0; - margin-left: -20.5px; - width: 38px; - height: 38px; -} -.ui-slider-thumb { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - width: 16px; - height: 16px; - border-radius: 50%; - background-color: #2196f3; - transition: -webkit-transform 0.2s linear; - transition: transform 0.2s linear; - transition: transform 0.2s linear, -webkit-transform 0.2s linear; - -webkit-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1); -} -.ui-slider-focus-ring { - position: absolute; - top: 0; - left: 0; - width: 38px; - height: 38px; - border-radius: 50%; - background-color: rgba(33,150,243,0.38); - transition: -webkit-transform 0.2s ease; - transition: transform 0.2s ease; - transition: transform 0.2s ease, -webkit-transform 0.2s ease; - -webkit-transform: scale(0); - -ms-transform: scale(0); - transform: scale(0); -} -.section-ui-snackbar .preview-pane { - position: relative; - height: 148px; - border: 2px solid #777; -} -.section-ui-snackbar .preview-controls { - margin-top: 24px; - max-width: 400px; -} -.section-ui-snackbar .ui-button { - margin-top: 16px; -} -.section-ui-snackbar .ui-textbox, -.section-ui-snackbar .ui-radio-group { - margin-bottom: 18px; -} -.section-ui-snackbar .ui-switch { - margin-bottom: 8px; -} -.ui-switch { - font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - position: relative; - height: 32px; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; -} -.ui-switch.checked .ui-switch-track { - background-color: rgba(33,150,243,0.5); -} -.ui-switch.checked .ui-switch-thumb { - left: 14px; - background-color: #2196f3; -} -.ui-switch.checked .ui-switch-focus-ring { - left: 3px; - background-color: rgba(33,150,243,0.12); -} -.ui-switch.label-left .ui-switch-label-text { - margin-left: 0; - margin-right: auto; - -webkit-order: -1; - -ms-flex-order: -1; - order: -1; -} -.ui-switch.disabled .ui-switch-label-text { - color: rgba(0,0,0,0.38); -} -.ui-switch.disabled .ui-switch-thumb { - background-color: #bdbdbd; - box-shadow: 0 1px 3px rgba(0,0,0,0.2); -} -.ui-switch.disabled .ui-switch-track { - background-color: rgba(0,0,0,0.12); -} -.ui-switch:not(.disabled) .ui-switch-label-text { - cursor: pointer; -} -.ui-switch-container { - position: relative; - width: 34px; - height: 20px; -} -.ui-switch-track { - position: absolute; - top: 3px; - height: 14px; - width: 34px; - background-color: rgba(0,0,0,0.26); - border-radius: 8px; - transition: background-color 0.1s linear; -} -.ui-switch-thumb { - position: absolute; - top: 0; - left: 0; - width: 20px; - height: 20px; - border-radius: 50%; - background-color: #fafafa; - box-shadow: 0 1px 3px rgba(0,0,0,0.4); - transition: all 0.2s ease; -} -.ui-switch-focus-ring { - position: absolute; - top: -11px; - left: -11px; - z-index: -1; - border-radius: 50%; - width: 42px; - height: 42px; - background-color: rgba(0,0,0,0.1); - -webkit-transform: scale(0); - -ms-transform: scale(0); - transform: scale(0); - opacity: 0; - transition: all 0.2s ease; -} -.ui-switch-input { - position: absolute; - opacity: 0; -} -body[modality="keyboard"] .ui-switch-input:focus ~ .ui-switch-focus-ring { - -webkit-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1); - opacity: 1; -} -.ui-switch-label-text { - margin-left: 16px; - font-size: 15px; -} -.ui-textbox { - font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - margin-bottom: 12px; -} -.ui-textbox:hover:not(.disabled):not(.invalid) .ui-textbox-label-text { - color: rgba(0,0,0,0.65); -} -.ui-textbox:hover:not(.disabled):not(.invalid) .ui-textbox-input, -.ui-textbox:hover:not(.disabled):not(.invalid) .ui-textbox-textarea { - border-bottom-color: rgba(0,0,0,0.22); -} -.ui-textbox.active:not(.disabled) .ui-textbox-input, -.ui-textbox.active:not(.disabled) .ui-textbox-textarea { - border-bottom-width: 2px; -} -.ui-textbox.active:not(.disabled):not(.invalid) .ui-textbox-label-text, -.ui-textbox.active:not(.disabled):not(.invalid) .ui-textbox-icon { - color: #2196f3; -} -.ui-textbox.active:not(.disabled):not(.invalid) .ui-textbox-input, -.ui-textbox.active:not(.disabled):not(.invalid) .ui-textbox-textarea { - border-bottom-color: #2196f3; -} -.ui-textbox.has-label .ui-textbox-icon-wrapper { - padding-top: 20px; -} -.ui-textbox.icon-right .ui-textbox-icon-wrapper { - -webkit-order: 1; - -ms-flex-order: 1; - order: 1; - margin-left: 8px; - margin-right: 0; -} -.ui-textbox.is-multi-line .ui-textbox-label-text { - margin-bottom: 8px; -} -.ui-textbox.has-counter .ui-textbox-feedback { - padding-right: 48px; -} -.ui-textbox.invalid .ui-textbox-label-text, -.ui-textbox.invalid .ui-textbox-icon, -.ui-textbox.invalid .ui-textbox-counter { - color: #f44336; -} -.ui-textbox.invalid .ui-textbox-input, -.ui-textbox.invalid .ui-textbox-textarea { - border-bottom-color: #f44336; -} -.ui-textbox.disabled .ui-textbox-input, -.ui-textbox.disabled .ui-textbox-textarea { - color: rgba(0,0,0,0.38); - border-bottom-style: dotted; - border-bottom-width: 2px; -} -.ui-textbox.disabled .ui-textbox-icon { - opacity: 0.6; -} -.ui-textbox.disabled .ui-textbox-feedback { - opacity: 0.8; -} -.ui-textbox-label { - width: 100%; - margin: 0; - padding: 0; -} -.ui-textbox-icon-wrapper { - height: 24px; - -webkit-flex-shrink: 0; - -ms-flex-negative: 0; - flex-shrink: 0; - margin-right: 12px; - padding-top: 4px; -} -.ui-textbox-icon { - color: rgba(0,0,0,0.54); -} -.ui-textbox-content { - -webkit-flex-grow: 1; - -ms-flex-positive: 1; - flex-grow: 1; -} -.ui-textbox-label-text { - font-size: 14px; - line-height: 1; - margin-bottom: 2px; - color: rgba(0,0,0,0.54); - transition: color 0.1s ease; -} -.ui-textbox-input, -.ui-textbox-textarea { - cursor: auto; - background: none; - outline: none; - border: none; - padding: 0; - display: block; - width: 100%; - border-bottom-width: 1px; - border-bottom-style: solid; - border-bottom-color: rgba(0,0,0,0.12); - transition: border 0.1s ease; - color: rgba(26,26,26,0.87); - font-weight: normal; - font-size: 16px; - font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; -} -.ui-textbox-input { - height: 32px; -} -.ui-textbox-textarea { - resize: vertical; - overflow-x: hidden; - padding-bottom: 8px; -} -.ui-textbox-feedback { - margin: 0; - min-height: 20px; - overflow: hidden; - position: relative; - font-size: 14px; - padding-top: 2px; -} -.ui-textbox-help-text, -.ui-textbox-counter { - color: rgba(0,0,0,0.38); - line-height: 1.2; -} -.ui-textbox-error-text { - position: absolute; - color: #f44336; - line-height: 1.2; -} -.ui-textbox-counter { - position: absolute; - right: 0; - top: 2px; -} -.ui-textbox-feedback-toggle-transition { - transition-property: opacity, margin-top; - transition-duration: 0.3s; - margin-top: 0; - opacity: 1; -} -.ui-textbox-feedback-toggle-enter, -.ui-textbox-feedback-toggle-leave { - margin-top: -20px; - opacity: 0; -} -.ui-snackbar { - font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - display: -webkit-inline-flex; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; - min-width: 288px; - max-width: 568px; - min-height: 48px; - padding: 14px 24px; - border-radius: 2px; - background-color: #323232; - box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); -} -.ui-snackbar-text { - line-height: 1.5; - font-size: 14px; - color: #fff; - cursor: default; -} -.ui-snackbar-action { - margin: -9px -12px -9px auto; - padding-left: 48px; -} -.ui-snackbar-action .ui-snackbar-action-button { - margin: 0; - padding: 12px; - min-height: initial; - min-width: initial; -} -.ui-snackbar-action .ui-snackbar-action-button:hover { - background-color: rgba(255,255,255,0.05); -} -.ui-snackbar-toggle-transition { - transition: -webkit-transform 0.3s ease; - transition: transform 0.3s ease; - transition: transform 0.3s ease, -webkit-transform 0.3s ease; -} -.ui-snackbar-toggle-transition .ui-snackbar-text, -.ui-snackbar-toggle-transition .ui-snackbar-action { - opacity: 1; - transition: opacity 0.3s ease; -} -.ui-snackbar-toggle-enter, -.ui-snackbar-toggle-leave { - -webkit-transform: translateY(84px); - -ms-transform: translateY(84px); - transform: translateY(84px); -} -.ui-snackbar-toggle-enter .ui-snackbar-text, -.ui-snackbar-toggle-leave .ui-snackbar-text, -.ui-snackbar-toggle-enter .ui-snackbar-action, -.ui-snackbar-toggle-leave .ui-snackbar-action { - opacity: 0; -} -.ui-snackbar-container { - position: absolute; - overflow: hidden; - bottom: 0; - left: 8px; -} -.ui-snackbar-container.position-right { - left: initial; - right: 8px; -} -.ui-snackbar-container.position-center { - left: 8px; - right: 8px; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; -} -.ui-snackbar-container .ui-snackbar { - margin: 4px 4px 12px 4px; -} -.section-ui-switch .ui-switch { - margin-bottom: 8px; -} -.section-ui-switch .group { - margin-bottom: 32px; -} -.section-ui-switch .group.label-left { - max-width: 200px; -} -.section-ui-switch .ui-button { - margin-top: 24px; -} -.section-ui-textbox .ui-button.m-t-8 { - margin-top: 8px; -} -.section-ui-textbox .ui-button.m-t-24 { - margin-top: 24px; -} -.section-ui-toolbar .group { - margin-bottom: 48px; -} -.section-ui-toolbar .photo-cover { - background-position: 50%; - background-size: cover; - height: 300px; -} -.section-ui-toolbar .photo-1 { - background-image: url("http://i.imgur.com/Fln32Fv.jpg"); -} -.section-ui-toolbar .photo-2 { - background-image: url("http://i.imgur.com/vFBagiE.jpg"); -} -.section-ui-toolbar .toolbar-with-tabs .ui-tabs { - margin-top: -1px; -} -.section-ui-tooltip .group { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; -} -.section-ui-tooltip .image-pane { - background-size: cover; - background-position: 50%; - margin-right: 16px; - margin-bottom: 16px; - position: relative; -} -.section-ui-tooltip .the-simpsons .image-pane { - width: 120px; - height: 120px; - border-radius: 8px; -} +.section-heading{font-size:34px;font-weight:400;line-height:1.176em}h3{font-size:24px;line-height:1.33em}body,h3{font-weight:400}body{font-size:14px;line-height:1.71em;letter-spacing:.01em}table{border-collapse:collapse;border-spacing:0;background-color:transparent}td,th{padding:0}caption{padding-top:8px;padding-bottom:8px;color:#777}caption,th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;float:none;display:table-column}table td[class*=col-],table th[class*=col-]{position:static;float:none;display:table-cell}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace;font-size:1em;font-family:Menlo,Monaco,Consolas,Courier New,monospace}code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}code,kbd{padding:2px 4px;font-size:90%}kbd{color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.no-wrap{white-space:nowrap!important}*{box-sizing:border-box;font-family:inherit}#app,body,html{max-width:100vw;margin:0;padding:0}body{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;line-height:1.85em}.sidebar-overlay{width:100vw;height:100vh;position:fixed;z-index:39;background-color:rgba(0,0,0,.4)}.sidebar-overlay-transition{transition:opacity .3s ease;opacity:1}.sidebar-overlay-enter,.sidebar-overlay-leave{opacity:0}.sidebar{width:272px;height:100vh;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;overflow-y:auto;position:fixed;background-color:#fff;box-shadow:0 0 3px rgba(0,0,0,.35),0 2px 2px rgba(0,0,0,.2);z-index:5}.sidebar.mobile{z-index:40}.sidebar .brand{height:64px;padding:0 16px;color:rgba(0,0,0,.87);border-bottom:1px solid #eee;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.sidebar .brand .title{font-size:28px;font-weight:400;margin:0}.sidebar .brand .version{margin-left:8px;font-size:.5em;display:inline-block;vertical-align:super}.sidebar .subhead{padding:16px;font-size:14px;padding-top:12px;line-height:1.71em;color:rgba(0,0,0,.75);border-bottom:1px solid #eee}.sidebar .subhead .ui-button{margin-top:16px}.sidebar .subhead p:first-child{margin-top:0}.sidebar .subhead p:last-child{margin-bottom:0}.sidebar .menu{margin:0;padding:0;padding-bottom:16px}.sidebar .menu .menu-header{padding:12px 16px;font-weight:500;font-size:16px}.sidebar .menu .menu-item{display:block;padding:8px 16px;padding-left:40px;color:rgba(0,0,0,.87);cursor:pointer;text-decoration:none}.sidebar .menu .menu-item:focus,.sidebar .menu .menu-item:hover{background-color:#eee}.sidebar .menu .menu-item.active{background-color:#f5f5f5;color:#1976d2;font-weight:500}.sidebar-toggle-transition{transition:left .3s ease;left:0}.sidebar-toggle-enter,.sidebar-toggle-leave{left:-272px}.page{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-left:272px}.container{width:100%;max-width:960px;padding-left:56px;padding-right:56px}.section{margin-bottom:40px}.section-heading{border-bottom:1px solid rgba(0,0,0,.12);padding-bottom:8px}h3{font-weight:400;margin-top:32px}h4{font-size:18px;font-weight:700}a{text-decoration:none;color:#1976d2}a:focus,a:hover{text-decoration:underline}.table{margin-bottom:0}.table th{min-width:100px}.table td{padding-top:10px;padding-bottom:10px}.table td.new-prop:after{content:'New';background-color:#2196f3}.table td.changed-prop:after,.table td.new-prop:after{display:inline-block;color:#fff;font-size:10px;padding:2px 4px;border-radius:2px;margin-left:8px}.table td.changed-prop:after{content:'Changed';background-color:#e91e63}.table p:first-child{margin-top:0}.table p:last-child{margin-bottom:0}.table li{margin-bottom:10px}.table li:last-child{margin-bottom:0}#app{display:-webkit-flex;display:-ms-flexbox;display:flex}#app .page-toolbar{z-index:20;height:64px;display:none;background-color:#fff}@media screen and (max-width:720px){#app .page-toolbar{display:-webkit-flex;display:-ms-flexbox;display:flex;position:fixed;width:100vw}#app .sidebar.desktop{display:none}#app .container,#app .page{width:100vw;max-width:100vw;margin:0}#app .container{padding:64px 18px 0}}.view-source-link{font-size:.6em;display:inline-block;margin-left:8px}.section-heading .view-source-link{font-size:.45em}a.ui-button{text-decoration:none}.m-b-0{margin-bottom:0}.ui-button{font-size:14px;text-transform:uppercase;font-weight:500;line-height:1.71em;letter-spacing:.02em}.drop-element{position:absolute;display:none;z-index:60;max-width:100%;max-height:100%;transition:opacity .2s ease;opacity:0}.drop-element,.drop-element *,.drop-element:after,.drop-element :after,.drop-element:before,.drop-element :before{box-sizing:border-box}.drop-element.drop-open{display:block}.drop-element.drop-after-open{opacity:1}.ui-button{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1;background:none;overflow:hidden;outline:none;border:none;position:relative;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-ms-touch-action:manipulation;touch-action:manipulation;cursor:default;border-radius:2px;padding:8px 16px;min-width:80px;height:40px}.ui-button::-moz-focus-inner{border:0}.ui-button.autofocus:focus,body[modality=keyboard] .ui-button:focus{outline-style:solid}.ui-button[disabled]{opacity:.6}.ui-button:not([disabled]){cursor:pointer}.ui-button .ui-button-dropdown-menu{display:none}.ui-button .ui-button-spinner{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ui-button-raised{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2);transition:box-shadow .1s}.ui-button-raised.autofocus:focus,body[modality=keyboard] .ui-button-raised:focus{outline:none;box-shadow:0 0 5px rgba(0,0,0,.22),0 3px 6px rgba(0,0,0,.3)}.ui-button-normal.autofocus:focus,body[modality=keyboard] .ui-button-normal:focus{outline-width:2px;outline-offset:2px}.ui-button-normal.color-accent,.ui-button-normal.color-danger,.ui-button-normal.color-primary,.ui-button-normal.color-success,.ui-button-normal.color-warning{color:#fff}.ui-button-normal.color-accent .ui-ripple-ink .ripple.held,.ui-button-normal.color-danger .ui-ripple-ink .ripple.held,.ui-button-normal.color-primary .ui-ripple-ink .ripple.held,.ui-button-normal.color-success .ui-ripple-ink .ripple.held,.ui-button-normal.color-warning .ui-ripple-ink .ripple.held{opacity:.7}.ui-button-normal.color-default{color:rgba(0,0,0,.87);background-color:#eee}.ui-button-normal.color-default.dropdown-open,.ui-button-normal.color-default:hover:not([disabled]){background-color:#dcdcdc}.ui-button-normal.color-default.autofocus:focus,body[modality=keyboard] .ui-button-normal.color-default:focus{background-color:#cacaca;outline-color:#a7a7a7}.ui-button-normal.color-default .ui-ripple-ink .ripple.held{opacity:.2}.ui-button-normal.color-default .ui-button-dropdown-icon,.ui-button-normal.color-default .ui-button-icon{color:rgba(0,0,0,.54)}.ui-button-normal.color-primary{background-color:#2196f3}.ui-button-normal.color-primary.dropdown-open,.ui-button-normal.color-primary:hover:not([disabled]){background-color:#0c81df}.ui-button-normal.color-primary.autofocus:focus,body[modality=keyboard] .ui-button-normal.color-primary:focus{background-color:#0b7ad1;outline-color:#0b7ad1}.ui-button-normal.color-accent{background-color:#d500f9}.ui-button-normal.color-accent.dropdown-open,.ui-button-normal.color-accent:hover:not([disabled]){background-color:#b500d4}.ui-button-normal.color-accent.autofocus:focus,body[modality=keyboard] .ui-button-normal.color-accent:focus{background-color:#aa00c7;outline-color:#aa00c7}.ui-button-normal.color-success{background-color:#4caf50}.ui-button-normal.color-success.dropdown-open,.ui-button-normal.color-success:hover:not([disabled]){background-color:#419544}.ui-button-normal.color-success.autofocus:focus,body[modality=keyboard] .ui-button-normal.color-success:focus{background-color:#3d8c40;outline-color:#3d8c40}.ui-button-normal.color-warning{background-color:#ff9800}.ui-button-normal.color-warning.dropdown-open,.ui-button-normal.color-warning:hover:not([disabled]){background-color:#d98100}.ui-button-normal.color-warning.autofocus:focus,body[modality=keyboard] .ui-button-normal.color-warning:focus{background-color:#cc7a00;outline-color:#cc7a00}.ui-button-normal.color-danger{background-color:#f44336}.ui-button-normal.color-danger.dropdown-open,.ui-button-normal.color-danger:hover:not([disabled]){background-color:#f01d0d}.ui-button-normal.color-danger.autofocus:focus,body[modality=keyboard] .ui-button-normal.color-danger:focus{background-color:#e21b0c;outline-color:#e21b0c}.ui-button-flat{background-color:transparent}.ui-button-flat.dropdown-open,.ui-button-flat:hover:not([disabled]){background-color:#e7e7e7}.ui-button-flat.autofocus:focus,body[modality=keyboard] .ui-button-flat:focus{outline-width:2px;outline-offset:0}.ui-button-flat.color-default{color:rgba(0,0,0,.87)}.ui-button-flat.color-default .ui-button-icon{color:rgba(0,0,0,.54)}.ui-button-flat.color-default.autofocus:focus,body[modality=keyboard] .ui-button-flat.color-default:focus{outline-color:#b3b3b3}.ui-button-flat.color-primary{color:#2196f3}.ui-button-flat.color-accent{color:#d500f9}.ui-button-flat.color-success{color:#43a047}.ui-button-flat.color-warning{color:#ff9800}.ui-button-flat.color-danger{color:#f44336}.ui-button-icon{font-size:18px;margin-right:4px;margin-left:-4px}.ui-button-icon.position-right{-webkit-order:1;-ms-flex-order:1;order:1;margin-left:4px;margin-right:-4px}.ui-button-content{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.ui-button-content.invisible{visibility:hidden}.ui-button-dropdown-icon{font-size:18px;margin-right:-8px;margin-left:1px}.ui-button-group{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.ui-icon{font-size:24px;width:1em;height:1em;display:inline-block;cursor:inherit;vertical-align:middle}.ui-menu{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;padding:4px 0;outline:none;list-style:none;background-color:#fff;box-shadow:0 2px 4px -1px rgba(0,0,0,.3),0 4px 5px 0 rgba(0,0,0,.15),0 1px 10px 0 rgba(0,0,0,.13);min-width:168px;max-width:272px;max-height:100vh;overflow-y:auto;overflow-x:hidden}.ui-menu.has-secondary-text{min-width:208px;max-width:304px}.ui-menu-option{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.ui-menu-option-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-menu-option{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;position:relative;display:block;height:40px}.ui-menu-option.divider{display:block;width:100%;margin:6px 0;padding:0;height:1px;background-color:rgba(0,0,0,.08)}.ui-menu-option:not(.divider){width:100%;text-decoration:none;color:rgba(0,0,0,.87);font-size:14px;font-weight:400;outline:none}.ui-menu-option:not(.divider):hover:not(.disabled){background-color:rgba(0,0,0,.06)}body[modality=keyboard] .ui-menu-option:not(.divider):focus{background-color:rgba(0,0,0,.1)}.ui-menu-option:not(.divider).disabled{opacity:.5;color:rgba(0,0,0,.54)}.ui-menu-option:not(.divider).disabled .ui-menu-option-secondary-text{color:rgba(0,0,0,.54)}.ui-menu-option:not(.divider):not(.disabled){cursor:pointer}.ui-menu-option-content.ui-menu-default{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:8px 16px}.ui-menu-option-icon{margin-right:16px;font-size:18px;color:rgba(0,0,0,.54)}.ui-menu-option-text{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.ui-menu-option-secondary-text{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;margin-left:4px;font-size:13px;color:rgba(0,0,0,.38)}.ui-ripple-ink{display:block;overflow:hidden;border-radius:inherit;position:absolute;top:0;left:0;right:0;bottom:0;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.ui-ripple-ink .ripple{position:absolute;width:0;height:0;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-radius:50%;background-color:currentColor;background-clip:padding-box;opacity:.2;-webkit-transform:scale(0);transform:scale(0);transition:opacity .4s ease-out,-webkit-transform .4s ease-out;transition:transform .4s ease-out,opacity .4s ease-out;transition:transform .4s ease-out,opacity .4s ease-out,-webkit-transform .4s ease-out}.ui-ripple-ink .ripple.held{opacity:.4;-webkit-transform:scale(1);transform:scale(1)}.ui-ripple-ink .ripple.done{opacity:0!important}.ui-popover{padding:16px;outline:none;background-color:#fff;box-shadow:0 2px 4px -1px rgba(0,0,0,.3),0 4px 5px 0 rgba(0,0,0,.15),0 1px 10px 0 rgba(0,0,0,.13)}.ui-progress-circular{position:relative}.ui-progress-circular .ui-progress-circular-determinate{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.ui-progress-circular .ui-progress-circular-determinate .ui-progress-circular-determinate-path{stroke-dashoffset:0;transition:stroke-dashoffset .3s ease}.ui-progress-circular .ui-progress-circular-determinate .ui-progress-circular-determinate-path.multi-color,.ui-progress-circular .ui-progress-circular-determinate .ui-progress-circular-determinate-path.primary{stroke:#2196f3}.ui-progress-circular .ui-progress-circular-determinate .ui-progress-circular-determinate-path.accent{stroke:#d500f9}.ui-progress-circular .ui-progress-circular-determinate .ui-progress-circular-determinate-path.black{stroke:#212121}.ui-progress-circular .ui-progress-circular-determinate .ui-progress-circular-determinate-path.white{stroke:#fff}.ui-progress-circular .ui-progress-circular-indeterminate{-webkit-animation:ui-progress-circular-rotate 1.4s linear infinite;animation:ui-progress-circular-rotate 1.4s linear infinite;-webkit-transform-origin:center center;transform-origin:center center;width:100%;height:100%;margin:auto;position:absolute;top:0;bottom:0;left:0;right:0}.ui-progress-circular .ui-progress-circular-indeterminate-path{stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;-webkit-animation:ui-progress-circular-dash 1.4s ease-in-out infinite;animation:ui-progress-circular-dash 1.4s ease-in-out infinite}.ui-progress-circular .ui-progress-circular-indeterminate-path.multi-color{-webkit-animation:ui-progress-circular-dash 1.4s ease-in-out infinite,ui-progress-circular-color 6s ease-in-out infinite;animation:ui-progress-circular-dash 1.4s ease-in-out infinite,ui-progress-circular-color 6s ease-in-out infinite}.ui-progress-circular .ui-progress-circular-indeterminate-path.primary{stroke:#2196f3}.ui-progress-circular .ui-progress-circular-indeterminate-path.accent{stroke:#d500f9}.ui-progress-circular .ui-progress-circular-indeterminate-path.black{stroke:#212121}.ui-progress-circular .ui-progress-circular-indeterminate-path.white{stroke:#fff}.ui-progress-circular-toggle-transition{opacity:1;-webkit-transform:scale(1);transform:scale(1);transition-duration:.3s;transition-timing-function:ease;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform}.ui-progress-circular-toggle-enter,.ui-progress-circular-toggle-leave{opacity:0;-webkit-transform:scale(0);transform:scale(0)}@-webkit-keyframes ui-progress-circular-rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes ui-progress-circular-rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes ui-progress-circular-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dashoffset:-35px}50%,to{stroke-dasharray:89,200}to{stroke-dashoffset:-124px}}@keyframes ui-progress-circular-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dashoffset:-35px}50%,to{stroke-dasharray:89,200}to{stroke-dashoffset:-124px}}@-webkit-keyframes ui-progress-circular-color{0%,to{stroke:#f44336}40%{stroke:#2196f3}66%{stroke:#4caf50}80%,90%{stroke:#ff9800}}@keyframes ui-progress-circular-color{0%,to{stroke:#f44336}40%{stroke:#2196f3}66%{stroke:#4caf50}80%,90%{stroke:#ff9800}}.ui-toolbar{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;display:-webkit-flex;display:-ms-flexbox;display:flex;height:56px;-webkit-align-items:center;-ms-flex-align:center;align-items:center;font-size:18px;position:relative}.ui-toolbar:not(.ui-toolbar-raised):not(.ui-toolbar-colored){border-bottom:1px solid rgba(0,0,0,.12)}.ui-toolbar.text-color-black{color:rgba(0,0,0,.87)}.ui-toolbar.text-color-black .ui-toolbar-divider{border-left-color:rgba(0,0,0,.15)}.ui-toolbar.text-color-white{color:#fff}.ui-toolbar.text-color-white .ui-toolbar-divider{border-color:hsla(0,0%,100%,.4)}.ui-toolbar .ui-icon-button{width:48px;height:48px}.ui-toolbar .ui-toolbar-preloader{position:absolute;height:3px;right:0;left:0;bottom:0}.ui-toolbar .ui-toolbar-preloader.position-top{top:0}.ui-toolbar-raised{box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}.ui-toolbar-clear{background-color:transparent;box-shadow:none;border:none}.ui-toolbar-default{background-color:#fff}.ui-toolbar-colored{background-color:#2196f3}.ui-toolbar-left{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.ui-toolbar-nav-icon{margin-right:8px}.ui-toolbar-brand-text{padding-right:8px}.ui-toolbar-brand{min-width:160px}.ui-toolbar-brand-text,.ui-toolbar-center{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.ui-toolbar-center{display:-webkit-flex;display:-ms-flexbox;display:flex}.ui-toolbar-divider{border-left-width:1px;border-left-style:solid;height:24px;margin-right:24px}.ui-toolbar-right{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;margin-left:auto}.ui-toolbar-right [slot=actions]{display:-webkit-flex;display:-ms-flexbox;display:flex}.ui-progress-linear{position:relative;overflow:hidden;display:block;height:4px;width:100%;transition-property:height,opacity;transition-timing-function:ease;transition-duration:.3s}.ui-progress-linear.color-primary{background-color:rgba(33,150,243,.4)}.ui-progress-linear.color-primary .ui-progress-linear-determinate,.ui-progress-linear.color-primary .ui-progress-linear-indeterminate{background-color:#2196f3}.ui-progress-linear.color-accent{background-color:rgba(213,0,249,.4)}.ui-progress-linear.color-accent .ui-progress-linear-determinate,.ui-progress-linear.color-accent .ui-progress-linear-indeterminate{background-color:#d500f9}.ui-progress-linear.color-black{background-color:rgba(97,97,97,.4)}.ui-progress-linear.color-black .ui-progress-linear-determinate,.ui-progress-linear.color-black .ui-progress-linear-indeterminate{background-color:#616161}.ui-progress-linear.color-white{background-color:hsla(0,0%,100%,.4)}.ui-progress-linear.color-white .ui-progress-linear-determinate,.ui-progress-linear.color-white .ui-progress-linear-indeterminate{background-color:#fff}.ui-progress-linear-determinate{transition:width .3s linear;position:absolute;bottom:0;left:0;top:0}.ui-progress-linear-indeterminate:before{-webkit-animation:ui-progress-linear-indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:ui-progress-linear-indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.ui-progress-linear-indeterminate:after,.ui-progress-linear-indeterminate:before{background-color:inherit;will-change:left,right;position:absolute;content:'';bottom:0;top:0;left:0}.ui-progress-linear-indeterminate:after{-webkit-animation:ui-progress-linear-indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation:ui-progress-linear-indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}.ui-progress-linear-toggle-enter,.ui-progress-linear-toggle-leave{opacity:0;height:0}@-webkit-keyframes ui-progress-linear-indeterminate{0%{left:-35%;right:100%}60%,to{left:100%;right:-90%}}@keyframes ui-progress-linear-indeterminate{0%{left:-35%;right:100%}60%,to{left:100%;right:-90%}}@-webkit-keyframes ui-progress-linear-indeterminate-short{0%{left:-200%;right:100%}60%,to{left:107%;right:-8%}}@keyframes ui-progress-linear-indeterminate-short{0%{left:-200%;right:100%}60%,to{left:107%;right:-8%}}.drop-element{position:absolute;display:none;z-index:60;max-width:100%;max-height:100%;transition:opacity .2s ease;opacity:0}.drop-element,.drop-element *,.drop-element:after,.drop-element :after,.drop-element:before,.drop-element :before{box-sizing:border-box}.drop-element.drop-open{display:block}.drop-element.drop-after-open{opacity:1}.ui-icon-button{background:none;outline:none;border:none;position:relative;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000);display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:40px;height:40px;border-radius:50%}.ui-icon-button::-moz-focus-inner{border:0}.ui-icon-button[disabled]{opacity:.6}.ui-icon-button:not([disabled]){cursor:pointer}.ui-icon-button .ui-dropdown-menu{display:none}.ui-icon-button-normal.color-accent,.ui-icon-button-normal.color-danger,.ui-icon-button-normal.color-primary,.ui-icon-button-normal.color-success,.ui-icon-button-normal.color-warning{color:#fff}.ui-icon-button-normal.color-accent .ui-ripple-ink .ripple.held,.ui-icon-button-normal.color-danger .ui-ripple-ink .ripple.held,.ui-icon-button-normal.color-primary .ui-ripple-ink .ripple.held,.ui-icon-button-normal.color-success .ui-ripple-ink .ripple.held,.ui-icon-button-normal.color-warning .ui-ripple-ink .ripple.held{opacity:.7}.ui-icon-button-normal.color-default{background-color:#eee}.ui-icon-button-normal.color-default.dropdown-open,.ui-icon-button-normal.color-default:hover:not([disabled]){background-color:#dcdcdc}body[modality=keyboard] .ui-icon-button-normal.color-default:focus{background-color:#bebebe}.ui-icon-button-normal.color-default .ui-ripple-ink .ripple.held{opacity:.2}.ui-icon-button-normal.color-default .ui-icon-button-icon{color:rgba(0,0,0,.87)}.ui-icon-button-normal.color-primary{background-color:#2196f3}.ui-icon-button-normal.color-primary.dropdown-open,.ui-icon-button-normal.color-primary:hover:not([disabled]){background-color:#0c81df}body[modality=keyboard] .ui-icon-button-normal.color-primary:focus{background-color:#0b72c4}.ui-icon-button-normal.color-accent{background-color:#d500f9}.ui-icon-button-normal.color-accent.dropdown-open,.ui-icon-button-normal.color-accent:hover:not([disabled]){background-color:#b500d4}body[modality=keyboard] .ui-icon-button-normal.color-accent:focus{background-color:#a000bb}.ui-icon-button-normal.color-success{background-color:#4caf50}.ui-icon-button-normal.color-success.dropdown-open,.ui-icon-button-normal.color-success:hover:not([disabled]){background-color:#419544}body[modality=keyboard] .ui-icon-button-normal.color-success:focus{background-color:#39833c}.ui-icon-button-normal.color-warning{background-color:#ff9800}.ui-icon-button-normal.color-warning.dropdown-open,.ui-icon-button-normal.color-warning:hover:not([disabled]){background-color:#d98100}body[modality=keyboard] .ui-icon-button-normal.color-warning:focus{background-color:#bf7200}.ui-icon-button-normal.color-danger{background-color:#f44336}.ui-icon-button-normal.color-danger.dropdown-open,.ui-icon-button-normal.color-danger:hover:not([disabled]){background-color:#f01d0d}body[modality=keyboard] .ui-icon-button-normal.color-danger:focus{background-color:#d4190c}.ui-icon-button-flat.color-accent.dropdown-open,.ui-icon-button-flat.color-accent:hover:not([disabled]),.ui-icon-button-flat.color-danger.dropdown-open,.ui-icon-button-flat.color-danger:hover:not([disabled]),.ui-icon-button-flat.color-default.dropdown-open,.ui-icon-button-flat.color-default:hover:not([disabled]),.ui-icon-button-flat.color-primary.dropdown-open,.ui-icon-button-flat.color-primary:hover:not([disabled]),.ui-icon-button-flat.color-success.dropdown-open,.ui-icon-button-flat.color-success:hover:not([disabled]),.ui-icon-button-flat.color-warning.dropdown-open,.ui-icon-button-flat.color-warning:hover:not([disabled]){background-color:#e7e7e7}.ui-icon-button-flat.color-default{color:rgba(0,0,0,.87)}body[modality=keyboard] .ui-icon-button-flat.color-default:focus{border:2px solid #b3b3b3}.ui-icon-button-flat.color-default .ui-icon-button-icon{color:rgba(0,0,0,.87)}.ui-icon-button-flat.color-primary{color:#2196f3}body[modality=keyboard] .ui-icon-button-flat.color-primary:focus{border:2px solid #2196f3}.ui-icon-button-flat.color-primary .ui-icon-button-icon{color:#2196f3}.ui-icon-button-flat.color-accent{color:#d500f9}body[modality=keyboard] .ui-icon-button-flat.color-accent:focus{border:2px solid #d500f9}.ui-icon-button-flat.color-accent .ui-icon-button-icon{color:#d500f9}.ui-icon-button-flat.color-success{color:#43a047}body[modality=keyboard] .ui-icon-button-flat.color-success:focus{border:2px solid #43a047}.ui-icon-button-flat.color-success .ui-icon-button-icon{color:#43a047}.ui-icon-button-flat.color-warning{color:#ff9800}body[modality=keyboard] .ui-icon-button-flat.color-warning:focus{border:2px solid #ff9800}.ui-icon-button-flat.color-warning .ui-icon-button-icon{color:#ff9800}.ui-icon-button-flat.color-danger{color:#f44336}body[modality=keyboard] .ui-icon-button-flat.color-danger:focus{border:2px solid #f44336}.ui-icon-button-flat.color-danger .ui-icon-button-icon{color:#f44336}.ui-icon-button-clear{background-color:transparent}.ui-icon-button-clear.dropdown-open,.ui-icon-button-clear:hover:not([disabled]),body[modality=keyboard] .ui-icon-button-clear:focus{background-color:rgba(0,0,0,.1)}.ui-icon-button-clear.color-white{color:rgba(0,0,0,.54)}body[modality=keyboard] .ui-icon-button-clear.color-white:focus{border:2px solid hsla(0,0%,100%,.8)}.ui-icon-button-clear.color-white .ui-icon-button-icon{color:#fff}.ui-icon-button-clear.color-black{color:rgba(0,0,0,.54)}body[modality=keyboard] .ui-icon-button-clear.color-black:focus{border:2px solid rgba(0,0,0,.25)}.ui-icon-button-clear.color-black .ui-icon-button-icon{color:rgba(0,0,0,.54)}.ui-icon-button-icon{width:100%;height:initial}.tooltip-element,.tooltip-element *,.tooltip-element:after,.tooltip-element :after,.tooltip-element:before,.tooltip-element :before{box-sizing:border-box}.tooltip-element{position:absolute;display:none;transition:opacity 3s ease;opacity:0}.tooltip-element.tooltip-open{display:block;opacity:1}.ui-tooltip{line-height:1}.tooltip-element.ui-tooltip-theme{max-width:100%;max-height:100%;pointer-events:none;z-index:70}.tooltip-element.ui-tooltip-theme .tooltip-content{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:relative;border-radius:2px;padding:0 8px;height:26px;font-family:inherit;font-size:13px;line-height:1;background:#212121;opacity:.9;color:#fff}.tooltip-element.ui-tooltip-theme.tooltip-element-attached-bottom.tooltip-element-attached-center .tooltip-content{margin-bottom:4px}.tooltip-element.ui-tooltip-theme.tooltip-element-attached-top.tooltip-element-attached-center .tooltip-content{margin-top:4px}.tooltip-element.ui-tooltip-theme.tooltip-element-attached-right.tooltip-element-attached-middle .tooltip-content{margin-right:4px}.tooltip-element.ui-tooltip-theme.tooltip-element-attached-left.tooltip-element-attached-middle .tooltip-content{margin-left:4px}.tooltip-element.ui-tooltip-theme.tooltip-element-attached-top.tooltip-element-attached-left.tooltip-target-attached-bottom .tooltip-content,.tooltip-element.ui-tooltip-theme.tooltip-element-attached-top.tooltip-element-attached-right.tooltip-target-attached-bottom .tooltip-content{margin-top:4px}.tooltip-element.ui-tooltip-theme.tooltip-element-attached-bottom.tooltip-element-attached-left.tooltip-target-attached-top .tooltip-content,.tooltip-element.ui-tooltip-theme.tooltip-element-attached-bottom.tooltip-element-attached-right.tooltip-target-attached-top .tooltip-content{margin-bottom:4px}.tooltip-element.ui-tooltip-theme.tooltip-element-attached-top.tooltip-element-attached-right.tooltip-target-attached-left .tooltip-content{margin-right:4px}.tooltip-element.ui-tooltip-theme.tooltip-element-attached-top.tooltip-element-attached-left.tooltip-target-attached-right .tooltip-content{margin-left:4px}.tooltip-element.ui-tooltip-theme.tooltip-element-attached-bottom.tooltip-element-attached-right.tooltip-target-attached-left .tooltip-content{margin-right:4px}.tooltip-element.ui-tooltip-theme.tooltip-element-attached-bottom.tooltip-element-attached-left.tooltip-target-attached-right .tooltip-content{margin-left:4px}.ui-tab{outline:none}.ui-tabs{width:100%;margin-bottom:24px}.ui-tabs.fullwidth .ui-tab-header-item{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.ui-tabs.raised{border:none;box-shadow:0 0 2px rgba(0,0,0,.12),0 2px 2px rgba(0,0,0,.2)}.ui-tabs.raised .ui-tabs-body{border:none}.ui-tabs-header{position:relative;width:100%}.ui-tabs-header.background-color-default{background-color:#eee}body[modality=keyboard] .ui-tabs-header.background-color-default .ui-tab-header-item:focus{outline:1px solid #2196f3}body[modality=keyboard] .ui-tabs-header.background-color-accent .ui-tab-header-item:focus,body[modality=keyboard] .ui-tabs-header.background-color-clear .ui-tab-header-item:focus,body[modality=keyboard] .ui-tabs-header.background-color-primary .ui-tab-header-item:focus{outline:1px solid #fff}.ui-tabs-header.background-color-accent .ui-tab-header-item .ui-ripple-ink .ripple.held,.ui-tabs-header.background-color-clear .ui-tab-header-item .ui-ripple-ink .ripple.held,.ui-tabs-header.background-color-primary .ui-tab-header-item .ui-ripple-ink .ripple.held{opacity:.7}.ui-tabs-header.background-color-primary{background-color:#2196f3}.ui-tabs-header.background-color-accent{background-color:#d500f9}.ui-tabs-header.background-color-clear{background-color:transparent}.ui-tabs-header-items{position:relative;display:-webkit-flex;display:-ms-flexbox;display:flex;list-style:none;margin:0;padding:0}.ui-tabs-header-items.text-color-black,.ui-tabs-header-items.text-color-black .ui-tab-header-item-icon{color:rgba(0,0,0,.54)}.ui-tabs-header-items.text-color-white,.ui-tabs-header-items.text-color-white .ui-tab-header-item-icon{color:hsla(0,0%,100%,.65)}.ui-tabs-header-items.text-color-active-primary .ui-tab-header-item.active,.ui-tabs-header-items.text-color-active-primary .ui-tab-header-item.active .ui-tab-header-item-icon{color:#2196f3}.ui-tabs-header-items.text-color-active-accent .ui-tab-header-item.active,.ui-tabs-header-items.text-color-active-accent .ui-tab-header-item.active .ui-tab-header-item-icon{color:#d500f9}.ui-tabs-header-items.text-color-active-white .ui-tab-header-item.active,.ui-tabs-header-items.text-color-active-white .ui-tab-header-item.active .ui-tab-header-item-icon{color:#fff}.ui-tabs-active-tab-indicator{position:absolute;height:2px;bottom:0;transition:all .2s ease;box-shadow:0 -1px 2px rgba(0,0,0,.05)}.ui-tabs-active-tab-indicator.color-primary{background-color:#2196f3}.ui-tabs-active-tab-indicator.color-accent{background-color:#d500f9}.ui-tabs-active-tab-indicator.color-white,.ui-tabs-body{background-color:#fff}.ui-tabs-body{border-radius:0;border:1px solid #eee;border-top:0;padding:16px;margin:0}.ui-tab-header-item-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-tab-header-item{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;position:relative;display:-webkit-flex;display:-ms-flexbox;display:flex;height:48px;padding:0 12px;text-transform:uppercase;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;cursor:pointer;min-width:80px}.ui-tab-header-item.type-icon-and-text{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;height:72px}.ui-tab-header-item.type-icon-and-text .ui-tab-header-item-icon{margin-bottom:4px}.ui-tab-header-item.disabled{opacity:.4;cursor:default}.ui-tab-header-item-icon{width:24px;height:24px}.ui-tab-header-item-icon .ui-icon{cursor:inherit}.ui-alert{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;line-height:1.4em;overflow:hidden;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%}.ui-alert a{text-decoration:none}.ui-alert a:focus,.ui-alert a:hover{text-decoration:underline}.ui-alert .ui-alert-close-button{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:32px;height:32px;color:rgba(0,0,0,.38);margin:-4px -8px -4px 8px}.ui-alert .ui-alert-close-button:not([disabled]):hover,body[modality=keyboard] .ui-alert .ui-alert-close-button:focus{color:rgba(0,0,0,.8)}.ui-alert .ui-alert-close-button .ui-icon{font-size:18px;margin:0}.ui-alert-body{width:100%;min-height:52px;padding:12px 16px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.ui-alert-body.error{background-color:rgba(244,67,54,.12)}.ui-alert-body.error .ui-alert-icon,.ui-alert-body.error a{color:#f44336}.ui-alert-body.success{background-color:rgba(76,175,80,.12)}.ui-alert-body.success .ui-alert-icon,.ui-alert-body.success a{color:#4caf50}.ui-alert-body.info{background-color:rgba(33,150,243,.12)}.ui-alert-body.info .ui-alert-icon,.ui-alert-body.info a{color:#2196f3}.ui-alert-body.warning{background-color:rgba(255,152,0,.12)}.ui-alert-body.warning .ui-alert-icon,.ui-alert-body.warning a{color:#ff9800}.ui-alert-icon{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;margin-right:12px}.ui-alert-text{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;color:rgba(0,0,0,.75)}.ui-alert-toggle-transition{transition:all .3s ease;margin-top:0;margin-bottom:12px}.ui-alert-toggle-enter,.ui-alert-toggle-leave{margin-top:-52px;opacity:0;margin-bottom:0}.section-ui-autocomplete .ui-button{margin-bottom:12px}.ui-autocomplete{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative;margin-bottom:12px;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.ui-autocomplete:hover:not(.disabled) .ui-autocomplete-label-text{color:rgba(0,0,0,.65)}.ui-autocomplete:hover:not(.disabled) .ui-autocomplete-input{border-bottom-color:rgba(0,0,0,.22)}.ui-autocomplete.active:not(.disabled) .ui-autocomplete-icon,.ui-autocomplete.active:not(.disabled) .ui-autocomplete-label-text{color:#2196f3}.ui-autocomplete.active:not(.disabled) .ui-autocomplete-input{border-bottom-width:2px;border-bottom-color:#2196f3}.ui-autocomplete.has-label .ui-autocomplete-icon-wrapper{padding-top:20px}.ui-autocomplete.has-label .ui-autocomplete-clear-button{top:22px}.ui-autocomplete.icon-right .ui-autocomplete-icon-wrapper{-webkit-order:1;-ms-flex-order:1;order:1;margin-left:8px;margin-right:0}.ui-autocomplete.invalid:not(.disabled) .ui-autocomplete-icon,.ui-autocomplete.invalid:not(.disabled) .ui-autocomplete-label-text{color:#f44336}.ui-autocomplete.invalid:not(.disabled) .ui-autocomplete-input{border-bottom-color:#f44336}.ui-autocomplete.disabled .ui-autocomplete-input{color:rgba(0,0,0,.38);border-bottom-style:dashed}.ui-autocomplete.disabled .ui-autocomplete-icon{opacity:.6}.ui-autocomplete.disabled .ui-autocomplete-feedback{opacity:.8}.ui-autocomplete-label{display:block;position:relative;width:100%;margin:0;padding:0}.ui-autocomplete-icon-wrapper{height:24px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;margin-right:12px;padding-top:4px}.ui-autocomplete-icon{color:rgba(0,0,0,.54)}.ui-autocomplete-content{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.ui-autocomplete-label-text{font-size:14px;line-height:1;margin-bottom:2px;color:rgba(0,0,0,.54);transition:color .1s ease}.ui-autocomplete-input{cursor:auto;background:none;outline:none;border:none;padding:0;width:100%;height:32px;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgba(0,0,0,.12);transition:border .1s ease;color:rgba(26,26,26,.87);font-weight:400;font-size:16px;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.ui-autocomplete-input::-ms-clear{display:none}.ui-autocomplete-clear-button{font-size:18px;position:absolute;right:0;top:6px;color:rgba(0,0,0,.38);cursor:pointer}.ui-autocomplete-clear-button:hover{color:rgba(0,0,0,.54)}.ui-autocomplete-feedback{margin:0;height:20px;overflow:hidden;position:relative;font-size:14px;padding-top:4px}.ui-autocomplete-help-text{color:rgba(0,0,0,.38);line-height:1}.ui-autocomplete-error-text{position:absolute;color:#f44336;line-height:1}.ui-autocomplete-feedback-toggle-transition{transition-property:opacity,margin-top;transition-duration:.3s;opacity:1;margin-top:0}.ui-autocomplete-feedback-toggle-enter,.ui-autocomplete-feedback-toggle-leave{opacity:0;margin-top:-20px}.ui-autocomplete-suggestions{min-width:100%;display:block;position:absolute;padding:0;margin:0;margin-bottom:8px;list-style-type:none;box-shadow:1px 2px 8px #757575;background-color:#fff;color:rgba(0,0,0,.87);transition:left .1s ease-in-out;z-index:60}.ui-autocomplete-suggestion{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:8px 12px;font-weight:400;font-size:15px}.ui-autocomplete-suggestion:hover{background-color:rgba(0,0,0,.06)}.ui-autocomplete-suggestion.highlighted{background-color:rgba(0,0,0,.1)}.ui-autocomplete-image{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.ui-autocomplete-image .image{width:32px;height:32px;background-size:cover;background-position:50%;margin-right:12px;border-radius:50%}.section-ui-button .ui-button{margin-bottom:12px;margin-right:8px}.section-ui-button .demo .group{margin-bottom:18px}.section-ui-button .spacer{height:72px}.section-ui-checkbox .group{margin-bottom:32px}.section-ui-checkbox .group.label-left{max-width:200px}.section-ui-checkbox .ui-button{margin-top:24px}.ui-checkbox{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-weight:400;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin:0;margin-bottom:12px;cursor:default;position:relative}.ui-checkbox:not(.disabled):not(.checked).active .ui-checkbox-checkmark:before,.ui-checkbox:not(.disabled):not(.checked):hover .ui-checkbox-checkmark:before{border-color:rgba(0,0,0,.54)}.ui-checkbox:not(.disabled).checked.active .ui-checkbox-checkmark:before,.ui-checkbox:not(.disabled).checked:hover .ui-checkbox-checkmark:before{background-color:#0c81df;border-color:#0c81df}.ui-checkbox.checked .ui-checkbox-checkmark:before{background:#2196f3;border-color:#2196f3}.ui-checkbox.checked .ui-checkbox-checkmark:after{border-right:2px solid #fff;border-bottom:2px solid #fff;opacity:1}.ui-checkbox.checked .ui-checkbox-focus-ring{background-color:rgba(33,150,243,.12)}.ui-checkbox.label-left .ui-checkbox-label-text{margin-left:0;margin-right:auto;-webkit-order:-1;-ms-flex-order:-1;order:-1}.ui-checkbox.disabled .ui-checkbox-label-text{color:rgba(0,0,0,.38)}.ui-checkbox.disabled .ui-checkbox-checkmark:before{border-color:rgba(0,0,0,.26)}.ui-checkbox.disabled.checked .ui-checkbox-checkmark:before{border:none;background:rgba(0,0,0,.26)}.ui-checkbox:not(.disabled) .ui-checkbox-label-text{cursor:pointer}.ui-checkbox-label-text{margin-left:8px;font-size:15px}.ui-checkbox-checkmark{position:relative;height:20px;width:20px;background:#fff}.ui-checkbox-checkmark:before{left:0;top:0;width:100%;height:100%;border-radius:2px;border:2px solid rgba(0,0,0,.38);transition:all .3s ease}.ui-checkbox-checkmark:after,.ui-checkbox-checkmark:before{box-sizing:border-box;position:absolute;display:block;content:""}.ui-checkbox-checkmark:after{left:7px;bottom:5px;width:6px;height:13px;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0;transition:opacity .3s ease;transition-delay:.1s}.ui-checkbox-input{position:absolute;opacity:0}body[modality=keyboard] .ui-checkbox-input:focus+.ui-checkbox-checkmark .ui-checkbox-focus-ring{opacity:1;-webkit-transform:scale(1);transform:scale(1)}.ui-checkbox-focus-ring{position:absolute;width:48px;height:48px;background-color:rgba(0,0,0,.1);margin-left:-14px;margin-top:-14px;border-radius:50%;transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform;transition-duration:.2s;transition-timing-function:ease;-webkit-transform:scale(0);transform:scale(0);opacity:0}.ui-collapsible-header-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-collapsible{margin-bottom:8px}.ui-collapsible,.ui-collapsible-header{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;width:100%}.ui-collapsible-header{position:relative;margin:0;border:none;line-height:1;text-align:left;display:-webkit-flex;display:-ms-flexbox;display:flex;height:0;min-height:48px;padding:8px 16px;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;font-size:16px;background-color:#eee}.ui-collapsible-header:hover:not(.disabled),body[modality=keyboard] .ui-collapsible-header:focus{background-color:#e0e0e0}.ui-collapsible-header.disabled{opacity:.6;cursor:default}.ui-collapsible-header.disabled .ui-icon{cursor:default}.ui-collapsible-header .ui-icon{cursor:pointer}.ui-collapsible-header .ui-ripple-ink .ripple.held{opacity:.01}.ui-collapsible-header-content{line-height:1.25em}.ui-collapsible-header-icon{margin-left:auto;margin-right:-4px;color:rgba(0,0,0,.54)}.ui-collapsible-body-wrapper{overflow:hidden;height:initial}.ui-collapsible-body{width:100%;padding:16px;display:block;border:1px solid #eee;border-top:0}.ui-collapsible-toggle-transition{transition:height .2s ease}.ui-collapsible-toggle-enter,.ui-collapsible-toggle-leave{height:0!important}.section-ui-confirm .group{margin-bottom:18px}.ui-confirm-message{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px}.ui-modal{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:14px}.ui-modal.ui-modal-large .ui-modal-container{width:848px}.ui-modal.ui-modal-small .ui-modal-container{width:320px}body.ui-modal-open{overflow:hidden}.ui-modal-mask{position:fixed;z-index:50;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:table;transition:opacity .2s ease}.ui-modal-wrapper{display:table-cell;vertical-align:middle}.ui-modal-container{outline:none;width:528px;margin:0 auto;padding:0;background-color:#fff;border-radius:2px;box-shadow:0 2px 8px rgba(0,0,0,.33);transition:all .2s ease;max-height:100vh;max-width:100vw;overflow-x:hidden;overflow-y:auto}.ui-modal-header{padding:24px 24px 8px}.ui-modal-header,.ui-modal-header .ui-modal-header-text{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.ui-modal-header .ui-modal-header-text{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;font-size:22px;margin:0;font-weight:400}.ui-modal-header .ui-modal-close-button{margin-top:-12px;margin-right:-8px;margin-left:auto}.ui-modal-header .ui-modal-close-button:hover:not([disabled]) .ui-icon,body[modality=keyboard] .ui-modal-header .ui-modal-close-button:focus .ui-icon{color:rgba(0,0,0,.8)}.ui-modal-header .ui-modal-close-button .ui-icon{font-size:20px;color:rgba(0,0,0,.4)}.ui-modal-header .ui-modal-close-button[disabled]{opacity:.5}.ui-modal-body{padding:16px 24px 24px}.ui-modal-footer{margin-top:-8px;padding:24px;padding-top:8px}.ui-modal-footer,.ui-modal-footer [slot]{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.ui-modal-footer .ui-modal-footer-left,.ui-modal-footer [slot].ui-modal-footer-left{-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.ui-modal-footer .ui-button{margin-left:8px}.ui-modal-footer .ui-button:first-child{margin-left:0}.ui-modal-fade-enter,.ui-modal-fade-leave,.ui-modal-scale-enter,.ui-modal-scale-leave{opacity:0}.ui-modal-scale-enter .ui-modal-container,.ui-modal-scale-leave .ui-modal-container{-webkit-transform:scale(1.1);transform:scale(1.1)}.section-ui-fab .group{display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:16px;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.section-ui-fab .group .ui-fab{margin-right:18px}.ui-fab{position:relative;outline:none;border:none;z-index:30;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;border-radius:50%;box-shadow:0 2px 5px 0 rgba(0,0,0,.2),0 2px 10px 0 rgba(0,0,0,.16);transition:box-shadow .3s ease}.ui-fab::-moz-focus-inner{border:0}.ui-fab:hover:not([disabled]),body[modality=keyboard] .ui-fab:focus{box-shadow:0 8px 17px 0 rgba(0,0,0,.25),0 6px 20px 0 rgba(0,0,0,.2)}.ui-fab:not([disabled]){cursor:pointer}.ui-fab.color-default{background-color:#fff;color:rgba(0,0,0,.54)}.ui-fab.color-default .ui-fab-icon{color:rgba(0,0,0,.54)}.ui-fab.color-default .ui-ripple-ink .ripple.held{opacity:.2}.ui-fab.color-accent,.ui-fab.color-accent .ui-fab-icon,.ui-fab.color-primary,.ui-fab.color-primary .ui-fab-icon{color:#fff}.ui-fab.color-accent .ui-ripple-ink .ripple.held,.ui-fab.color-primary .ui-ripple-ink .ripple.held{opacity:.7}.ui-fab.color-primary{background-color:#2196f3}body[modality=keyboard] .ui-fab.color-primary:focus{background-color:#0d89ec}.ui-fab.color-accent{background-color:#d500f9}body[modality=keyboard] .ui-fab.color-accent:focus{background-color:#c000e0}.ui-fab .ui-ripple-ink{border-radius:50%}.ui-fab-normal{width:56px;height:56px}.ui-fab-mini{width:40px;height:40px}.ui-fab-icon{margin:0;width:100%;height:initial}.section-ui-icon-button .group{display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:18px}.section-ui-icon-button .box{display:-webkit-flex;display:-ms-flexbox;display:flex;height:56px;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:200px;border:1px solid #e0e0e0}.section-ui-icon-button .box.colored{border:none;background-color:#2196f3}.section-ui-icon-button .box .ui-icon-button{width:48px;height:48px;margin-bottom:0}.section-ui-icon-button .box .ui-icon-button:last-child{margin-right:0}.section-ui-icon-button .ui-icon-button{margin-right:8px;margin-bottom:8px}.section-ui-icon .demo .ui-icon{color:rgba(0,0,0,.54);margin-right:8px;margin-bottom:8px}.section-ui-icon .demo .icon-large .ui-icon{font-size:32px}.section-ui-icon .group{margin-bottom:16px}.section-ui-icon .group.inline .ui-icon{margin:0}.section-ui-menu .link-trigger{font-size:16px;cursor:pointer}.section-ui-modal .group{margin-bottom:16px}.section-ui-modal .ui-button{margin-bottom:8px}.section-ui-modal .ui-modal-footer .ui-button{margin-bottom:0}.section-ui-popover .link-trigger{font-size:16px;cursor:pointer}.ui-popover p{margin-bottom:0}.section-ui-preloader .ui-button{margin-top:24px}.section-ui-preloader .pull-right{margin-top:0;float:right}.ui-preloader{position:relative;width:100%}.ui-preloader-progressbar{opacity:0;position:absolute;top:0;left:0;width:100%;background-color:#159756;-webkit-animation:ui-preloader-background linear 3s infinite;animation:ui-preloader-background linear 3s infinite;transition-property:opacity,padding-top;transition-duration:.3s;transition-timing-function:ease}.ui-preloader-progressbar.loading{opacity:1;padding-top:3px}.ui-preloader-progressbar:after,.ui-preloader-progressbar:before{display:block;position:absolute;top:0;z-index:1;width:0;height:3px;background:#afa;-webkit-animation:ui-preloader-front linear 3s infinite;animation:ui-preloader-front linear 3s infinite;content:''}.ui-preloader-progressbar:before{right:50%}.ui-preloader-progressbar:after{left:50%}@-webkit-keyframes ui-preloader-background{0%,24.9%{background-color:#159756}25%,49.9%{background-color:#da4733}50%,74.9%{background-color:#3b78e7}75%,to{background-color:#fdba2c}}@keyframes ui-preloader-background{0%,24.9%{background-color:#159756}25%,49.9%{background-color:#da4733}50%,74.9%{background-color:#3b78e7}75%,to{background-color:#fdba2c}}@-webkit-keyframes ui-preloader-front{0%{width:0}0%,24.9%{background-color:#da4733}24.9%{width:50%}25%{width:0}25%,49.9%{background-color:#3b78e7}49.9%{width:50%}50%{width:0}50%,74.9%{background-color:#fdba2c}74.9%{width:50%}75%{width:0}75%,to{background-color:#159756}to{width:50%}}@keyframes ui-preloader-front{0%{width:0}0%,24.9%{background-color:#da4733}24.9%{width:50%}25%{width:0}25%,49.9%{background-color:#3b78e7}49.9%{width:50%}50%{width:0}50%,74.9%{background-color:#fdba2c}74.9%{width:50%}75%{width:0}75%,to{background-color:#159756}to{width:50%}}.section-ui-progress-circular .group{display:-webkit-flex;display:-ms-flexbox;display:flex}.section-ui-progress-circular .group .ui-progress-circular{margin-right:24px}.section-ui-progress-circular .ui-button{margin-top:24px}.section-ui-progress-circular .color-wrapper{background-color:gray;display:inline-block;padding:8px}.section-ui-progress-circular .color-wrapper .ui-progress-circular{margin-right:0}.section-ui-progress-linear .ui-button{margin-top:24px}.section-ui-progress-linear .ui-progress-linear{margin-top:8px;margin-bottom:8px}.section-ui-progress-linear .group .ui-progress-linear{margin-bottom:40px}.section-ui-progress-linear .color-wrapper{background-color:gray;padding:8px 0}.section-ui-progress-linear .color-wrapper .ui-progress-linear{margin-bottom:8px}.section-ui-radio .max-width-200{max-width:200px}.ui-radio{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:20px;font-size:15px;margin:0}.ui-radio:hover:not(.disabled) .ui-radio-input:not(:checked)~.ui-radio-border{border:2px solid rgba(0,0,0,.54)}.ui-radio.label-left .ui-radio-label-text{-webkit-order:-1;-ms-flex-order:-1;order:-1;margin-right:auto;margin-left:0}.ui-radio.disabled{opacity:.5}.ui-radio:not(.disabled) .ui-radio-label-text{cursor:pointer}.ui-radio-input-wrapper{position:relative;width:20px;height:20px}.ui-radio-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;margin:0;padding:0;position:absolute;height:1px;width:1px;left:0;top:0;opacity:0}.ui-radio-input:checked~.ui-radio-border{border-color:#2196f3}.ui-radio-input:checked~.ui-radio-inner-dot{background-color:#2196f3;-webkit-transform:scale(.5);transform:scale(.5);opacity:1;z-index:0}.ui-radio-border{border-radius:50%;border:2px solid rgba(0,0,0,.38);background-color:transparent;transition:border-color .2s}.ui-radio-border,.ui-radio-inner-dot{position:absolute;top:0;left:0;width:20px;height:20px}.ui-radio-inner-dot{border-radius:50%;background-color:rgba(0,0,0,.38);opacity:0;z-index:-1;-webkit-transform:scale(1.2);transform:scale(1.2);transition-property:opacity,background-color,-webkit-transform;transition-property:transform,opacity,background-color;transition-property:transform,opacity,background-color,-webkit-transform;transition-duration:.3s}.ui-radio-label-text{margin-left:16px;font-size:15px}.section-ui-radio-group .ui-button{margin-top:24px}.ui-radio-group-help-text{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.ui-radio-group{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.ui-radio-group:not(.disabled):hover .ui-radio-group-label{color:rgba(0,0,0,.65)}.ui-radio-group:not(.disabled).active .ui-radio-group-label{color:#0b7ad1}.ui-radio-group.vertical .ui-radio-group-options-wrapper{height:auto;margin-top:8px;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ui-radio-group.vertical .ui-radio-group-options-wrapper .ui-radio{width:100%;margin-left:0;margin-bottom:16px}.ui-radio-group.disabled .ui-radio-group-feedback{opacity:.8}.ui-radio-group .ui-radio{margin-left:24px}.ui-radio-group .ui-radio:first-child{margin-left:0}.ui-radio-group-label{font-size:14px;color:rgba(0,0,0,.54);transition:color .1s ease}.ui-radio-group-options-wrapper{display:-webkit-flex;display:-ms-flexbox;display:flex;height:32px;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.ui-radio-group-feedback{height:20px;overflow:hidden;padding-top:4px;position:relative;font-size:14px}.ui-radio-group-help-text{color:rgba(0,0,0,.38);line-height:1.2}.section-ui-rating .ui-rating-preview{margin-right:12px}.section-ui-rating .ui-rating{margin-bottom:24px}.section-ui-rating .ui-button{margin-top:24px}.ui-rating{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;outline:none;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ui-rating:hover:not(.disabled) .ui-rating-label{color:rgba(0,0,0,.65)}.ui-rating.active:not(.disabled) .ui-rating-label{color:#2196f3}body[modality=keyboard] .ui-rating:focus .ui-rating-icon-icon,body[modality=keyboard] .ui-rating:focus .ui-rating-icon-icon.selected{color:rgba(0,0,0,.54)}body[modality=keyboard] .ui-rating:focus .ui-rating-icon-icon.filled{color:#0b7ad1}.ui-rating.preview .ui-rating-icon-icon{cursor:pointer}.ui-rating.preview .ui-rating-icon-icon.selected{color:rgba(0,0,0,.38)}.ui-rating.preview .ui-rating-icon-icon.filled{color:#2196f3}.ui-rating.disabled .ui-rating-icons-wrapper{opacity:.6}.ui-rating.disabled .ui-rating-feedback{opacity:.8}.ui-rating .ui-rating-icon-icon.selected{color:#2196f3}.ui-rating-label{font-size:14px;margin-bottom:4px;color:rgba(0,0,0,.54);transition:color .1s ease}.ui-rating-icons-wrapper{display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex}.ui-rating-feedback{height:20px;overflow:hidden;padding-top:4px;position:relative;font-size:14px}.ui-rating-help-text{color:rgba(0,0,0,.38);line-height:1}.ui-rating-feedback-toggle-transition{transition-property:opacity,margin-top;transition-duration:.3s;margin-top:0;opacity:1}.ui-rating-feedback-toggle-enter,.ui-rating-feedback-toggle-leave{margin-top:-20px;opacity:0}.ui-rating-icon{cursor:default}.ui-rating-icon .ui-icon{color:rgba(0,0,0,.38)}.ui-rating-preview{display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;width:auto}.ui-rating-preview .ui-rating-icon-icon.selected{color:#2196f3}.section-ui-ripple-ink .group{display:-webkit-flex;display:-ms-flexbox;display:flex}.section-ui-ripple-ink .custom-color.color-orange{color:#ff9800}.section-ui-ripple-ink .custom-color.color-blue{color:#2196f3}.section-ui-ripple-ink .custom-color .ui-ripple-ink .ripple.held{opacity:.6}.section-ui-ripple-ink .custom-opacity .ui-ripple-ink .ripple.held{opacity:.95}.section-ui-ripple-ink .image-pane{background-size:cover;background-position:50%;margin-right:16px;margin-bottom:16px;position:relative}.section-ui-ripple-ink .tv-shows .image-pane{width:120px;height:180px}.section-ui-ripple-ink .the-simpsons .image-pane{width:120px;height:120px;border-radius:8px}.section-ui-select .ui-select{max-width:400px;margin-bottom:32px}.section-ui-select .ui-button{margin-top:16px}.section-ui-select p.code{margin-top:-4px;margin-bottom:24px}.ui-select{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative;margin-bottom:12px;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;outline:none}.ui-select:hover:not(.disabled) .ui-select-label-text{color:rgba(0,0,0,.65)}.ui-select:hover:not(.disabled) .ui-select-display{border-bottom-color:rgba(0,0,0,.22)}.ui-select:hover:not(.disabled) .ui-select-dropdown-icon{color:rgba(0,0,0,.54)}.ui-select.active:not(.disabled) .ui-select-icon,.ui-select.active:not(.disabled) .ui-select-label-text{color:#2196f3}.ui-select.active:not(.disabled) .ui-select-display{border-bottom-width:2px;border-bottom-color:#2196f3}.ui-select.has-label .ui-select-icon-wrapper{padding-top:20px}.ui-select.has-label .ui-select-dropdown-icon{top:20px}.ui-select.icon-right .ui-select-icon-wrapper{-webkit-order:1;-ms-flex-order:1;order:1;margin-left:8px;margin-right:0}.ui-select.invalid:not(.disabled) .ui-select-icon,.ui-select.invalid:not(.disabled) .ui-select-label-text{color:#f44336}.ui-select.invalid:not(.disabled) .ui-select-display{border-bottom-color:#f44336}.ui-select.disabled .ui-select-display{cursor:default;color:rgba(0,0,0,.38);border-bottom-style:dashed}.ui-select.disabled .ui-select-dropdown-icon,.ui-select.disabled .ui-select-value.placeholder{opacity:.6;color:rgba(0,0,0,.38)}.ui-select.disabled .ui-select-icon{opacity:.6}.ui-select.disabled .ui-select-feedback{opacity:.8}.ui-select-icon-wrapper{height:24px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;margin-right:12px;padding-top:4px}.ui-select-icon{color:rgba(0,0,0,.54)}.ui-select-content{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.ui-select-label{outline:none;display:block;position:relative;width:100%;margin:0;padding:0}.ui-select-label-text{font-size:14px;line-height:1;margin-bottom:2px;color:rgba(0,0,0,.54);transition:color .1s ease}.ui-select-display{cursor:pointer;outline:none;border:none;padding:0;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:100%;height:0;min-height:32px;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgba(0,0,0,.12);transition:border .1s ease;line-height:1;color:rgba(26,26,26,.87);font-weight:400;font-size:16px;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.ui-select-value{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;line-height:1.4}.ui-select-value.placeholder{color:rgba(0,0,0,.38)}.ui-select-dropdown-icon{margin-left:auto;margin-right:-4px;color:rgba(0,0,0,.38)}.ui-select-dropdown{outline:none;width:100%;min-width:180px;display:block;position:absolute;padding:0;margin:0;margin-bottom:8px;list-style-type:none;box-shadow:1px 2px 8px #757575;background-color:#fff;color:rgba(0,0,0,.87);transition:left .1s ease-in-out;z-index:60}.ui-select-search-input{margin:0;border:none;outline:none;background:none;padding:0 12px;width:100%;height:42px;font-size:15px;border-bottom:1px solid rgba(0,0,0,.12)}.ui-select-search-input::-ms-clear{display:none}.ui-select-search-spinner{position:absolute;top:8px;right:12px}.ui-select-options{position:relative;display:block;min-width:100%;max-height:256px;overflow-y:auto;padding:0;margin:0;list-style-type:none;background-color:#fff;color:rgba(0,0,0,.87)}.ui-select-no-results{padding:8px 12px;font-size:14px;color:rgba(0,0,0,.54);width:100%}.ui-select-feedback{margin:0;height:20px;overflow:hidden;position:relative;font-size:14px;padding-top:4px}.ui-select-help-text{color:rgba(0,0,0,.38);line-height:1}.ui-select-error-text{position:absolute;color:#f44336;line-height:1}.ui-select-feedback-toggle-transition{transition-property:opacity,margin-top;transition-duration:.3s;opacity:1;margin-top:0}.ui-select-feedback-toggle-enter,.ui-select-feedback-toggle-leave{opacity:0;margin-top:-20px}.ui-select-item-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-select-option{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;cursor:pointer;overflow:hidden}.ui-select-option.selected{color:#2196f3;font-weight:500}.ui-select-option.selected .ui-select-option-checkbox{color:#2196f3}.ui-select-option.highlighted{color:#fff;background-color:#42a5f5}.ui-select-option.highlighted .ui-select-option-checkbox{color:#fff}.ui-select-option-content{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-flex;display:-ms-flexbox;display:flex;max-height:42px;padding:6px 12px;font-weight:400;font-size:15px}.ui-select-option-checkbox{color:rgba(0,0,0,.54);margin-right:8px}.ui-select-image{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.ui-select-item-text{width:0;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.ui-select-item-image{width:32px;height:32px;background-size:cover;background-position:50%;margin-right:12px;border-radius:50%}.section-ui-slider .demo{max-width:500px}.section-ui-slider .ui-slider{margin-bottom:8px}.section-ui-slider .ui-button{margin-top:24px}.ui-slider{display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative;outline:none;width:100%}.ui-slider:hover:not(.disabled) .ui-slider-thumb{-webkit-transform:scale(1.1);transform:scale(1.1)}.ui-slider:hover:not(.disabled) .ui-slider-label{color:rgba(0,0,0,.65)}.ui-slider.dragging:not(.disabled) .ui-slider-thumb,.ui-slider:focus:not(.disabled) .ui-slider-thumb{-webkit-transform:scale(1.1);transform:scale(1.1)}.ui-slider.dragging:not(.disabled) .ui-slider-focus-ring,.ui-slider:focus:not(.disabled) .ui-slider-focus-ring{-webkit-transform:scale(1);transform:scale(1)}.ui-slider.active:not(.disabled) .ui-slider-icon,.ui-slider.active:not(.disabled) .ui-slider-label{color:#2196f3}.ui-slider.has-label .ui-slider-icon-wrapper{padding-top:34px}.ui-slider.disabled .ui-slider-track-fill{background-color:transparent}.ui-slider.disabled .ui-slider-thumb{border:2px solid #fff;background-color:#ddd}.ui-slider.disabled .ui-slider-icon{opacity:.6}.ui-slider:not(.disabled) .ui-slider-wrapper{cursor:pointer}.ui-slider-wrapper{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:relative;width:100%;height:38px}.ui-slider-icon-wrapper{height:24px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;margin-right:12px;padding-top:7px}.ui-slider-icon{color:rgba(0,0,0,.54)}.ui-slider-content{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;position:relative;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.ui-slider-label{font-size:14px;color:rgba(0,0,0,.54);transition:color .1s ease}.ui-slider-containment{position:absolute;left:0;right:0;margin-left:-20.5px;margin-right:-20.5px}.ui-slider-track{width:100%;position:relative;height:3px;background-color:rgba(0,0,0,.12)}.ui-slider-track-fill{position:absolute;top:0;height:3px;background-color:#2196f3}.ui-slider-thumb-container{position:absolute;top:0;left:0;margin-left:-20.5px;width:38px;height:38px}.ui-slider-thumb,.ui-slider-thumb-container{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.ui-slider-thumb{width:16px;height:16px;border-radius:50%;background-color:#2196f3;transition:-webkit-transform .2s linear;transition:transform .2s linear;transition:transform .2s linear,-webkit-transform .2s linear;-webkit-transform:scale(1);transform:scale(1)}.ui-slider-focus-ring{position:absolute;top:0;left:0;width:38px;height:38px;border-radius:50%;background-color:rgba(33,150,243,.38);transition:-webkit-transform .2s ease;transition:transform .2s ease;transition:transform .2s ease,-webkit-transform .2s ease;-webkit-transform:scale(0);transform:scale(0)}.section-ui-snackbar .preview-pane{position:relative;height:148px;border:2px solid #777}.section-ui-snackbar .preview-controls{margin-top:24px;max-width:400px}.section-ui-snackbar .ui-button{margin-top:16px}.section-ui-snackbar .ui-radio-group,.section-ui-snackbar .ui-textbox{margin-bottom:18px}.section-ui-snackbar .ui-switch{margin-bottom:8px}.ui-switch{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;position:relative;height:32px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.ui-switch.checked .ui-switch-track{background-color:rgba(33,150,243,.5)}.ui-switch.checked .ui-switch-thumb{left:14px;background-color:#2196f3}.ui-switch.checked .ui-switch-focus-ring{left:3px;background-color:rgba(33,150,243,.12)}.ui-switch.label-left .ui-switch-label-text{margin-left:0;margin-right:auto;-webkit-order:-1;-ms-flex-order:-1;order:-1}.ui-switch.disabled .ui-switch-label-text{color:rgba(0,0,0,.38)}.ui-switch.disabled .ui-switch-thumb{background-color:#bdbdbd;box-shadow:0 1px 3px rgba(0,0,0,.2)}.ui-switch.disabled .ui-switch-track{background-color:rgba(0,0,0,.12)}.ui-switch:not(.disabled) .ui-switch-label-text{cursor:pointer}.ui-switch-container{position:relative;width:34px;height:20px}.ui-switch-track{position:absolute;top:3px;height:14px;width:34px;background-color:rgba(0,0,0,.26);border-radius:8px;transition:background-color .1s linear}.ui-switch-thumb{top:0;left:0;width:20px;height:20px;background-color:#fafafa;box-shadow:0 1px 3px rgba(0,0,0,.4)}.ui-switch-focus-ring,.ui-switch-thumb{position:absolute;border-radius:50%;transition:all .2s ease}.ui-switch-focus-ring{top:-11px;left:-11px;z-index:-1;width:42px;height:42px;background-color:rgba(0,0,0,.1);-webkit-transform:scale(0);transform:scale(0);opacity:0}.ui-switch-input{position:absolute;opacity:0}body[modality=keyboard] .ui-switch-input:focus~.ui-switch-focus-ring{-webkit-transform:scale(1);transform:scale(1);opacity:1}.ui-switch-label-text{margin-left:16px;font-size:15px}.ui-textbox{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;margin-bottom:12px}.ui-textbox:hover:not(.disabled):not(.invalid) .ui-textbox-label-text{color:rgba(0,0,0,.65)}.ui-textbox:hover:not(.disabled):not(.invalid) .ui-textbox-input,.ui-textbox:hover:not(.disabled):not(.invalid) .ui-textbox-textarea{border-bottom-color:rgba(0,0,0,.22)}.ui-textbox.active:not(.disabled) .ui-textbox-input,.ui-textbox.active:not(.disabled) .ui-textbox-textarea{border-bottom-width:2px}.ui-textbox.active:not(.disabled):not(.invalid) .ui-textbox-icon,.ui-textbox.active:not(.disabled):not(.invalid) .ui-textbox-label-text{color:#2196f3}.ui-textbox.active:not(.disabled):not(.invalid) .ui-textbox-input,.ui-textbox.active:not(.disabled):not(.invalid) .ui-textbox-textarea{border-bottom-color:#2196f3}.ui-textbox.has-label .ui-textbox-icon-wrapper{padding-top:20px}.ui-textbox.icon-right .ui-textbox-icon-wrapper{-webkit-order:1;-ms-flex-order:1;order:1;margin-left:8px;margin-right:0}.ui-textbox.is-multi-line .ui-textbox-label-text{margin-bottom:8px}.ui-textbox.has-counter .ui-textbox-feedback{padding-right:48px}.ui-textbox.invalid .ui-textbox-counter,.ui-textbox.invalid .ui-textbox-icon,.ui-textbox.invalid .ui-textbox-label-text{color:#f44336}.ui-textbox.invalid .ui-textbox-input,.ui-textbox.invalid .ui-textbox-textarea{border-bottom-color:#f44336}.ui-textbox.disabled .ui-textbox-input,.ui-textbox.disabled .ui-textbox-textarea{color:rgba(0,0,0,.38);border-bottom-style:dotted;border-bottom-width:2px}.ui-textbox.disabled .ui-textbox-icon{opacity:.6}.ui-textbox.disabled .ui-textbox-feedback{opacity:.8}.ui-textbox-label{width:100%;margin:0;padding:0}.ui-textbox-icon-wrapper{height:24px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;margin-right:12px;padding-top:4px}.ui-textbox-icon{color:rgba(0,0,0,.54)}.ui-textbox-content{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.ui-textbox-label-text{font-size:14px;line-height:1;margin-bottom:2px;color:rgba(0,0,0,.54);transition:color .1s ease}.ui-textbox-input,.ui-textbox-textarea{cursor:auto;background:none;outline:none;border:none;padding:0;display:block;width:100%;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgba(0,0,0,.12);transition:border .1s ease;color:rgba(26,26,26,.87);font-weight:400;font-size:16px;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.ui-textbox-input{height:32px}.ui-textbox-textarea{resize:vertical;overflow-x:hidden;padding-bottom:8px}.ui-textbox-feedback{margin:0;min-height:20px;overflow:hidden;position:relative;font-size:14px;padding-top:2px}.ui-textbox-counter,.ui-textbox-help-text{color:rgba(0,0,0,.38);line-height:1.2}.ui-textbox-error-text{position:absolute;color:#f44336;line-height:1.2}.ui-textbox-counter{position:absolute;right:0;top:2px}.ui-textbox-feedback-toggle-transition{transition-property:opacity,margin-top;transition-duration:.3s;margin-top:0;opacity:1}.ui-textbox-feedback-toggle-enter,.ui-textbox-feedback-toggle-leave{margin-top:-20px;opacity:0}.ui-snackbar{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;min-width:288px;max-width:568px;min-height:48px;padding:14px 24px;border-radius:2px;background-color:#323232;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.ui-snackbar-text{line-height:1.5;font-size:14px;color:#fff;cursor:default}.ui-snackbar-action{margin:-9px -12px -9px auto;padding-left:48px}.ui-snackbar-action .ui-snackbar-action-button{margin:0;padding:12px;min-height:initial;min-width:initial}.ui-snackbar-action .ui-snackbar-action-button:hover{background-color:hsla(0,0%,100%,.05)}.ui-snackbar-toggle-transition{transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease}.ui-snackbar-toggle-transition .ui-snackbar-action,.ui-snackbar-toggle-transition .ui-snackbar-text{opacity:1;transition:opacity .3s ease}.ui-snackbar-toggle-enter,.ui-snackbar-toggle-leave{-webkit-transform:translateY(84px);transform:translateY(84px)}.ui-snackbar-toggle-enter .ui-snackbar-action,.ui-snackbar-toggle-enter .ui-snackbar-text,.ui-snackbar-toggle-leave .ui-snackbar-action,.ui-snackbar-toggle-leave .ui-snackbar-text{opacity:0}.ui-snackbar-container{position:absolute;overflow:hidden;bottom:0;left:8px}.ui-snackbar-container.position-right{left:initial;right:8px}.ui-snackbar-container.position-center{left:8px;right:8px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.ui-snackbar-container .ui-snackbar{margin:4px 4px 12px}.section-ui-switch .ui-switch{margin-bottom:8px}.section-ui-switch .group{margin-bottom:32px}.section-ui-switch .group.label-left{max-width:200px}.section-ui-switch .ui-button{margin-top:24px}.section-ui-textbox .ui-button.m-t-8{margin-top:8px}.section-ui-textbox .ui-button.m-t-24{margin-top:24px}.section-ui-toolbar .group{margin-bottom:48px}.section-ui-toolbar .photo-cover{background-position:50%;background-size:cover;height:300px}.section-ui-toolbar .photo-1{background-image:url("http://i.imgur.com/Fln32Fv.jpg")}.section-ui-toolbar .photo-2{background-image:url("http://i.imgur.com/vFBagiE.jpg")}.section-ui-toolbar .toolbar-with-tabs .ui-tabs{margin-top:-1px}.section-ui-tooltip .group{display:-webkit-flex;display:-ms-flexbox;display:flex}.section-ui-tooltip .image-pane{background-size:cover;background-position:50%;margin-right:16px;margin-bottom:16px;position:relative}.section-ui-tooltip .the-simpsons .image-pane{width:120px;height:120px;border-radius:8px} \ No newline at end of file diff --git a/docs/docs.bundle.js b/docs/docs.bundle.js index dd41bf35..2e9478bd 100644 --- a/docs/docs.bundle.js +++ b/docs/docs.bundle.js @@ -1,1891 +1,65 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; - -/******/ // The require function -/******/ function __webpack_require__(moduleId) { - -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) -/******/ return installedModules[moduleId].exports; - -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ exports: {}, -/******/ id: moduleId, -/******/ loaded: false -/******/ }; - -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); - -/******/ // Flag the module as loaded -/******/ module.loaded = true; - -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } - - -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; - -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; - -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; - -/******/ // Load entry module and return exports -/******/ return __webpack_require__(0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ function(module, exports, __webpack_require__) { - - eval("'use strict';\n\n__webpack_require__(1);\n\nvar _vue = __webpack_require__(2);\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _App = __webpack_require__(4);\n\nvar _App2 = _interopRequireDefault(_App);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nnew _vue2.default({\n el: 'body',\n components: {\n App: _App2.default\n }\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMtZG9jcy9tYWluLmpzPzRlMjciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFLQSxrQkFBUTtBQUNKLFFBQUksTUFBSjtBQUNBLGdCQUFZO0FBQ1IsMEJBRFE7S0FBWjtDQUZKIiwiZmlsZSI6IjAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJy4uL3NyYy9oZWxwZXJzL21vZGFsaXR5JztcclxuXHJcbmltcG9ydCBWdWUgZnJvbSAndnVlJztcclxuaW1wb3J0IEFwcCBmcm9tICcuL0FwcC52dWUnO1xyXG5cclxubmV3IFZ1ZSh7XHJcbiAgICBlbDogJ2JvZHknLFxyXG4gICAgY29tcG9uZW50czoge1xyXG4gICAgICAgIEFwcFxyXG4gICAgfVxyXG59KTtcclxuXG5cblxuLyoqIFdFQlBBQ0sgRk9PVEVSICoqXG4gKiogLi9zcmMtZG9jcy9tYWluLmpzXG4gKiovIl0sInNvdXJjZVJvb3QiOiIifQ=="); - -/***/ }, -/* 1 */ -/***/ function(module, exports) { - - eval("'use strict';\n\ndocument.addEventListener('DOMContentLoaded', function () {\n var hadKeyboardEvent = false;\n var keyboardModalityWhitelist = ['input:not([type])', 'input[type=text]', 'input[type=number]', 'input[type=date]', 'input[type=time]', 'input[type=datetime]', 'textarea', '[role=textbox]', '[supports-modality=keyboard]'].join(',');\n\n var isHandlingKeyboardThrottle;\n\n var matcher = function () {\n var el = document.body;\n\n if (el.matchesSelector) {\n return el.matchesSelector;\n }\n\n if (el.webkitMatchesSelector) {\n return el.webkitMatchesSelector;\n }\n\n if (el.mozMatchesSelector) {\n return el.mozMatchesSelector;\n }\n\n if (el.msMatchesSelector) {\n return el.msMatchesSelector;\n }\n\n console.error('Couldn\\'t find any matchesSelector method on document.body.');\n }();\n\n var disableFocusRingByDefault = function disableFocusRingByDefault() {\n var css = 'body:not([modality=keyboard]) :focus { outline: none; }';\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n\n style.type = 'text/css';\n style.id = 'disable-focus-ring';\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n\n head.insertBefore(style, head.firstChild);\n };\n\n var focusTriggersKeyboardModality = function focusTriggersKeyboardModality(el) {\n var triggers = false;\n\n if (matcher) {\n triggers = matcher.call(el, keyboardModalityWhitelist) && matcher.call(el, ':not([readonly])');\n }\n\n return triggers;\n };\n\n disableFocusRingByDefault();\n\n document.body.addEventListener('keydown', function () {\n hadKeyboardEvent = true;\n\n if (isHandlingKeyboardThrottle) {\n clearTimeout(isHandlingKeyboardThrottle);\n }\n\n isHandlingKeyboardThrottle = setTimeout(function () {\n hadKeyboardEvent = false;\n }, 100);\n }, true);\n\n document.body.addEventListener('focus', function (e) {\n if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {\n document.body.setAttribute('modality', 'keyboard');\n }\n }, true);\n\n document.body.addEventListener('blur', function () {\n document.body.removeAttribute('modality');\n }, true);\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvaGVscGVycy9tb2RhbGl0eS5qcz9kZWZmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBSUEsU0FBUyxnQkFBVCxDQUEwQixrQkFBMUIsRUFBOEMsWUFBVztBQUNyRCxRQUFJLG1CQUFtQixLQUFuQixDQURpRDtBQUVyRCxRQUFJLDRCQUE0QixDQUM1QixtQkFENEIsRUFFNUIsa0JBRjRCLEVBRzVCLG9CQUg0QixFQUk1QixrQkFKNEIsRUFLNUIsa0JBTDRCLEVBTTVCLHNCQU40QixFQU81QixVQVA0QixFQVE1QixnQkFSNEIsRUFTNUIsOEJBVDRCLEVBVTlCLElBVjhCLENBVXpCLEdBVnlCLENBQTVCLENBRmlEOztBQWNyRCxRQUFJLDBCQUFKLENBZHFEOztBQWdCckQsUUFBSSxVQUFXLFlBQVc7QUFDdEIsWUFBSSxLQUFLLFNBQVMsSUFBVCxDQURhOztBQUd0QixZQUFJLEdBQUcsZUFBSCxFQUFvQjtBQUNwQixtQkFBTyxHQUFHLGVBQUgsQ0FEYTtTQUF4Qjs7QUFJQSxZQUFJLEdBQUcscUJBQUgsRUFBMEI7QUFDMUIsbUJBQU8sR0FBRyxxQkFBSCxDQURtQjtTQUE5Qjs7QUFJQSxZQUFJLEdBQUcsa0JBQUgsRUFBdUI7QUFDdkIsbUJBQU8sR0FBRyxrQkFBSCxDQURnQjtTQUEzQjs7QUFJQSxZQUFJLEdBQUcsaUJBQUgsRUFBc0I7QUFDdEIsbUJBQU8sR0FBRyxpQkFBSCxDQURlO1NBQTFCOztBQUlBLGdCQUFRLEtBQVIsQ0FBYyw2REFBZCxFQW5Cc0I7S0FBWCxFQUFYLENBaEJpRDs7QUFzQ3JELFFBQUksNEJBQTRCLFNBQTVCLHlCQUE0QixHQUFXO0FBQ3ZDLFlBQUksTUFBTSx5REFBTixDQURtQztBQUV2QyxZQUFJLE9BQU8sU0FBUyxJQUFULElBQWlCLFNBQVMsb0JBQVQsQ0FBOEIsTUFBOUIsRUFBc0MsQ0FBdEMsQ0FBakIsQ0FGNEI7QUFHdkMsWUFBSSxRQUFRLFNBQVMsYUFBVCxDQUF1QixPQUF2QixDQUFSLENBSG1DOztBQUt2QyxjQUFNLElBQU4sR0FBYSxVQUFiLENBTHVDO0FBTXZDLGNBQU0sRUFBTixHQUFXLG9CQUFYLENBTnVDOztBQVF2QyxZQUFJLE1BQU0sVUFBTixFQUFrQjtBQUNsQixrQkFBTSxVQUFOLENBQWlCLE9BQWpCLEdBQTJCLEdBQTNCLENBRGtCO1NBQXRCLE1BRU87QUFDSCxrQkFBTSxXQUFOLENBQWtCLFNBQVMsY0FBVCxDQUF3QixHQUF4QixDQUFsQixFQURHO1NBRlA7O0FBTUEsYUFBSyxZQUFMLENBQWtCLEtBQWxCLEVBQXlCLEtBQUssVUFBTCxDQUF6QixDQWR1QztLQUFYLENBdENxQjs7QUF1RHJELFFBQUksZ0NBQWdDLFNBQWhDLDZCQUFnQyxDQUFTLEVBQVQsRUFBYTtBQUM3QyxZQUFJLFdBQVcsS0FBWCxDQUR5Qzs7QUFHN0MsWUFBSSxPQUFKLEVBQWE7QUFDVCx1QkFBVyxRQUFRLElBQVIsQ0FBYSxFQUFiLEVBQWlCLHlCQUFqQixLQUNQLFFBQVEsSUFBUixDQUFhLEVBQWIsRUFBaUIsa0JBQWpCLENBRE8sQ0FERjtTQUFiOztBQUtBLGVBQU8sUUFBUCxDQVI2QztLQUFiLENBdkRpQjs7QUFrRXJELGdDQWxFcUQ7O0FBb0VyRCxhQUFTLElBQVQsQ0FBYyxnQkFBZCxDQUErQixTQUEvQixFQUEwQyxZQUFXO0FBQ2pELDJCQUFtQixJQUFuQixDQURpRDs7QUFHakQsWUFBSSwwQkFBSixFQUFnQztBQUM1Qix5QkFBYSwwQkFBYixFQUQ0QjtTQUFoQzs7QUFJQSxxQ0FBNkIsV0FBVyxZQUFXO0FBQy9DLCtCQUFtQixLQUFuQixDQUQrQztTQUFYLEVBRXJDLEdBRjBCLENBQTdCLENBUGlEO0tBQVgsRUFVdkMsSUFWSCxFQXBFcUQ7O0FBZ0ZyRCxhQUFTLElBQVQsQ0FBYyxnQkFBZCxDQUErQixPQUEvQixFQUF3QyxVQUFTLENBQVQsRUFBWTtBQUNoRCxZQUFJLG9CQUFvQiw4QkFBOEIsRUFBRSxNQUFGLENBQWxELEVBQTZEO0FBQzdELHFCQUFTLElBQVQsQ0FBYyxZQUFkLENBQTJCLFVBQTNCLEVBQXVDLFVBQXZDLEVBRDZEO1NBQWpFO0tBRG9DLEVBSXJDLElBSkgsRUFoRnFEOztBQXNGckQsYUFBUyxJQUFULENBQWMsZ0JBQWQsQ0FBK0IsTUFBL0IsRUFBdUMsWUFBVztBQUM5QyxpQkFBUyxJQUFULENBQWMsZUFBZCxDQUE4QixVQUE5QixFQUQ4QztLQUFYLEVBRXBDLElBRkgsRUF0RnFEO0NBQVgsQ0FBOUMiLCJmaWxlIjoiMS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBBZGFwdGVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2FsaWNlL21vZGFsaXR5XHJcbiAqIFZlcnNpb246IDEuMC4yXHJcbiAqL1xyXG5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgZnVuY3Rpb24oKSB7XHJcbiAgICB2YXIgaGFkS2V5Ym9hcmRFdmVudCA9IGZhbHNlO1xyXG4gICAgdmFyIGtleWJvYXJkTW9kYWxpdHlXaGl0ZWxpc3QgPSBbXHJcbiAgICAgICAgJ2lucHV0Om5vdChbdHlwZV0pJyxcclxuICAgICAgICAnaW5wdXRbdHlwZT10ZXh0XScsXHJcbiAgICAgICAgJ2lucHV0W3R5cGU9bnVtYmVyXScsXHJcbiAgICAgICAgJ2lucHV0W3R5cGU9ZGF0ZV0nLFxyXG4gICAgICAgICdpbnB1dFt0eXBlPXRpbWVdJyxcclxuICAgICAgICAnaW5wdXRbdHlwZT1kYXRldGltZV0nLFxyXG4gICAgICAgICd0ZXh0YXJlYScsXHJcbiAgICAgICAgJ1tyb2xlPXRleHRib3hdJyxcclxuICAgICAgICAnW3N1cHBvcnRzLW1vZGFsaXR5PWtleWJvYXJkXSdcclxuICAgIF0uam9pbignLCcpO1xyXG5cclxuICAgIHZhciBpc0hhbmRsaW5nS2V5Ym9hcmRUaHJvdHRsZTtcclxuXHJcbiAgICB2YXIgbWF0Y2hlciA9IChmdW5jdGlvbigpIHtcclxuICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5ib2R5O1xyXG5cclxuICAgICAgICBpZiAoZWwubWF0Y2hlc1NlbGVjdG9yKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBlbC5tYXRjaGVzU2VsZWN0b3I7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZWwud2Via2l0TWF0Y2hlc1NlbGVjdG9yKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBlbC53ZWJraXRNYXRjaGVzU2VsZWN0b3I7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZWwubW96TWF0Y2hlc1NlbGVjdG9yKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBlbC5tb3pNYXRjaGVzU2VsZWN0b3I7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZWwubXNNYXRjaGVzU2VsZWN0b3IpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGVsLm1zTWF0Y2hlc1NlbGVjdG9yO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc29sZS5lcnJvcignQ291bGRuXFwndCBmaW5kIGFueSBtYXRjaGVzU2VsZWN0b3IgbWV0aG9kIG9uIGRvY3VtZW50LmJvZHkuJyk7XHJcbiAgICB9KCkpO1xyXG5cclxuICAgIHZhciBkaXNhYmxlRm9jdXNSaW5nQnlEZWZhdWx0ID0gZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgdmFyIGNzcyA9ICdib2R5Om5vdChbbW9kYWxpdHk9a2V5Ym9hcmRdKSA6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9JztcclxuICAgICAgICB2YXIgaGVhZCA9IGRvY3VtZW50LmhlYWQgfHwgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXTtcclxuICAgICAgICB2YXIgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xyXG5cclxuICAgICAgICBzdHlsZS50eXBlID0gJ3RleHQvY3NzJztcclxuICAgICAgICBzdHlsZS5pZCA9ICdkaXNhYmxlLWZvY3VzLXJpbmcnO1xyXG5cclxuICAgICAgICBpZiAoc3R5bGUuc3R5bGVTaGVldCkge1xyXG4gICAgICAgICAgICBzdHlsZS5zdHlsZVNoZWV0LmNzc1RleHQgPSBjc3M7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgc3R5bGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoZWFkLmluc2VydEJlZm9yZShzdHlsZSwgaGVhZC5maXJzdENoaWxkKTtcclxuICAgIH07XHJcblxyXG4gICAgdmFyIGZvY3VzVHJpZ2dlcnNLZXlib2FyZE1vZGFsaXR5ID0gZnVuY3Rpb24oZWwpIHtcclxuICAgICAgICB2YXIgdHJpZ2dlcnMgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgaWYgKG1hdGNoZXIpIHtcclxuICAgICAgICAgICAgdHJpZ2dlcnMgPSBtYXRjaGVyLmNhbGwoZWwsIGtleWJvYXJkTW9kYWxpdHlXaGl0ZWxpc3QpICYmXHJcbiAgICAgICAgICAgICAgICBtYXRjaGVyLmNhbGwoZWwsICc6bm90KFtyZWFkb25seV0pJyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdHJpZ2dlcnM7XHJcbiAgICB9O1xyXG5cclxuICAgIGRpc2FibGVGb2N1c1JpbmdCeURlZmF1bHQoKTtcclxuXHJcbiAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBmdW5jdGlvbigpIHtcclxuICAgICAgICBoYWRLZXlib2FyZEV2ZW50ID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgaWYgKGlzSGFuZGxpbmdLZXlib2FyZFRocm90dGxlKSB7XHJcbiAgICAgICAgICAgIGNsZWFyVGltZW91dChpc0hhbmRsaW5nS2V5Ym9hcmRUaHJvdHRsZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpc0hhbmRsaW5nS2V5Ym9hcmRUaHJvdHRsZSA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgICAgIGhhZEtleWJvYXJkRXZlbnQgPSBmYWxzZTtcclxuICAgICAgICB9LCAxMDApO1xyXG4gICAgfSwgdHJ1ZSk7XHJcblxyXG4gICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsIGZ1bmN0aW9uKGUpIHtcclxuICAgICAgICBpZiAoaGFkS2V5Ym9hcmRFdmVudCB8fCBmb2N1c1RyaWdnZXJzS2V5Ym9hcmRNb2RhbGl0eShlLnRhcmdldCkpIHtcclxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoJ21vZGFsaXR5JywgJ2tleWJvYXJkJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgdHJ1ZSk7XHJcblxyXG4gICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVBdHRyaWJ1dGUoJ21vZGFsaXR5Jyk7XHJcbiAgICB9LCB0cnVlKTtcclxufSk7XHJcblxuXG5cbi8qKiBXRUJQQUNLIEZPT1RFUiAqKlxuICoqIC4vc3JjL2hlbHBlcnMvbW9kYWxpdHkuanNcbiAqKi8iXSwic291cmNlUm9vdCI6IiJ9"); - -/***/ }, -/* 2 */ -/***/ function(module, exports, __webpack_require__) { - - eval("/* WEBPACK VAR INJECTION */(function(global, process) {/*!\n * Vue.js v1.0.21\n * (c) 2016 Evan You\n * Released under the MIT License.\n */\n'use strict';\n\nfunction set(obj, key, val) {\n if (hasOwn(obj, key)) {\n obj[key] = val;\n return;\n }\n if (obj._isVue) {\n set(obj._data, key, val);\n return;\n }\n var ob = obj.__ob__;\n if (!ob) {\n obj[key] = val;\n return;\n }\n ob.convert(key, val);\n ob.dep.notify();\n if (ob.vms) {\n var i = ob.vms.length;\n while (i--) {\n var vm = ob.vms[i];\n vm._proxy(key);\n vm._digest();\n }\n }\n return val;\n}\n\n/**\n * Delete a property and trigger change if necessary.\n *\n * @param {Object} obj\n * @param {String} key\n */\n\nfunction del(obj, key) {\n if (!hasOwn(obj, key)) {\n return;\n }\n delete obj[key];\n var ob = obj.__ob__;\n if (!ob) {\n return;\n }\n ob.dep.notify();\n if (ob.vms) {\n var i = ob.vms.length;\n while (i--) {\n var vm = ob.vms[i];\n vm._unproxy(key);\n vm._digest();\n }\n }\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n/**\n * Check whether the object has the property.\n *\n * @param {Object} obj\n * @param {String} key\n * @return {Boolean}\n */\n\nfunction hasOwn(obj, key) {\n return hasOwnProperty.call(obj, key);\n}\n\n/**\n * Check if an expression is a literal value.\n *\n * @param {String} exp\n * @return {Boolean}\n */\n\nvar literalValueRE = /^\\s?(true|false|-?[\\d\\.]+|'[^']*'|\"[^\"]*\")\\s?$/;\n\nfunction isLiteral(exp) {\n return literalValueRE.test(exp);\n}\n\n/**\n * Check if a string starts with $ or _\n *\n * @param {String} str\n * @return {Boolean}\n */\n\nfunction isReserved(str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F;\n}\n\n/**\n * Guard text output, make sure undefined outputs\n * empty string\n *\n * @param {*} value\n * @return {String}\n */\n\nfunction _toString(value) {\n return value == null ? '' : value.toString();\n}\n\n/**\n * Check and convert possible numeric strings to numbers\n * before setting back to data\n *\n * @param {*} value\n * @return {*|Number}\n */\n\nfunction toNumber(value) {\n if (typeof value !== 'string') {\n return value;\n } else {\n var parsed = Number(value);\n return isNaN(parsed) ? value : parsed;\n }\n}\n\n/**\n * Convert string boolean literals into real booleans.\n *\n * @param {*} value\n * @return {*|Boolean}\n */\n\nfunction toBoolean(value) {\n return value === 'true' ? true : value === 'false' ? false : value;\n}\n\n/**\n * Strip quotes from a string\n *\n * @param {String} str\n * @return {String | false}\n */\n\nfunction stripQuotes(str) {\n var a = str.charCodeAt(0);\n var b = str.charCodeAt(str.length - 1);\n return a === b && (a === 0x22 || a === 0x27) ? str.slice(1, -1) : str;\n}\n\n/**\n * Camelize a hyphen-delmited string.\n *\n * @param {String} str\n * @return {String}\n */\n\nvar camelizeRE = /-(\\w)/g;\n\nfunction camelize(str) {\n return str.replace(camelizeRE, toUpper);\n}\n\nfunction toUpper(_, c) {\n return c ? c.toUpperCase() : '';\n}\n\n/**\n * Hyphenate a camelCase string.\n *\n * @param {String} str\n * @return {String}\n */\n\nvar hyphenateRE = /([a-z\\d])([A-Z])/g;\n\nfunction hyphenate(str) {\n return str.replace(hyphenateRE, '$1-$2').toLowerCase();\n}\n\n/**\n * Converts hyphen/underscore/slash delimitered names into\n * camelized classNames.\n *\n * e.g. my-component => MyComponent\n * some_else => SomeElse\n * some/comp => SomeComp\n *\n * @param {String} str\n * @return {String}\n */\n\nvar classifyRE = /(?:^|[-_\\/])(\\w)/g;\n\nfunction classify(str) {\n return str.replace(classifyRE, toUpper);\n}\n\n/**\n * Simple bind, faster than native\n *\n * @param {Function} fn\n * @param {Object} ctx\n * @return {Function}\n */\n\nfunction bind(fn, ctx) {\n return function (a) {\n var l = arguments.length;\n return l ? l > 1 ? fn.apply(ctx, arguments) : fn.call(ctx, a) : fn.call(ctx);\n };\n}\n\n/**\n * Convert an Array-like object to a real Array.\n *\n * @param {Array-like} list\n * @param {Number} [start] - start index\n * @return {Array}\n */\n\nfunction toArray(list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret;\n}\n\n/**\n * Mix properties into target object.\n *\n * @param {Object} to\n * @param {Object} from\n */\n\nfunction extend(to, from) {\n var keys = Object.keys(from);\n var i = keys.length;\n while (i--) {\n to[keys[i]] = from[keys[i]];\n }\n return to;\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n *\n * @param {*} obj\n * @return {Boolean}\n */\n\nfunction isObject(obj) {\n return obj !== null && typeof obj === 'object';\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n *\n * @param {*} obj\n * @return {Boolean}\n */\n\nvar toString = Object.prototype.toString;\nvar OBJECT_STRING = '[object Object]';\n\nfunction isPlainObject(obj) {\n return toString.call(obj) === OBJECT_STRING;\n}\n\n/**\n * Array type check.\n *\n * @param {*} obj\n * @return {Boolean}\n */\n\nvar isArray = Array.isArray;\n\n/**\n * Define a property.\n *\n * @param {Object} obj\n * @param {String} key\n * @param {*} val\n * @param {Boolean} [enumerable]\n */\n\nfunction def(obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Debounce a function so it only gets called after the\n * input stops arriving after the given wait period.\n *\n * @param {Function} func\n * @param {Number} wait\n * @return {Function} - the debounced function\n */\n\nfunction _debounce(func, wait) {\n var timeout, args, context, timestamp, result;\n var later = function later() {\n var last = Date.now() - timestamp;\n if (last < wait && last >= 0) {\n timeout = setTimeout(later, wait - last);\n } else {\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n }\n };\n return function () {\n context = this;\n args = arguments;\n timestamp = Date.now();\n if (!timeout) {\n timeout = setTimeout(later, wait);\n }\n return result;\n };\n}\n\n/**\n * Manual indexOf because it's slightly faster than\n * native.\n *\n * @param {Array} arr\n * @param {*} obj\n */\n\nfunction indexOf(arr, obj) {\n var i = arr.length;\n while (i--) {\n if (arr[i] === obj) return i;\n }\n return -1;\n}\n\n/**\n * Make a cancellable version of an async callback.\n *\n * @param {Function} fn\n * @return {Function}\n */\n\nfunction cancellable(fn) {\n var cb = function cb() {\n if (!cb.cancelled) {\n return fn.apply(this, arguments);\n }\n };\n cb.cancel = function () {\n cb.cancelled = true;\n };\n return cb;\n}\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n *\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n */\n\nfunction looseEqual(a, b) {\n /* eslint-disable eqeqeq */\n return a == b || (isObject(a) && isObject(b) ? JSON.stringify(a) === JSON.stringify(b) : false);\n /* eslint-enable eqeqeq */\n}\n\nvar hasProto = ('__proto__' in {});\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined' && Object.prototype.toString.call(window) !== '[object Object]';\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n// UA sniffing for working around browser-specific quirks\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isAndroid = UA && UA.indexOf('android') > 0;\n\nvar transitionProp = undefined;\nvar transitionEndEvent = undefined;\nvar animationProp = undefined;\nvar animationEndEvent = undefined;\n\n// Transition property/event sniffing\nif (inBrowser && !isIE9) {\n var isWebkitTrans = window.ontransitionend === undefined && window.onwebkittransitionend !== undefined;\n var isWebkitAnim = window.onanimationend === undefined && window.onwebkitanimationend !== undefined;\n transitionProp = isWebkitTrans ? 'WebkitTransition' : 'transition';\n transitionEndEvent = isWebkitTrans ? 'webkitTransitionEnd' : 'transitionend';\n animationProp = isWebkitAnim ? 'WebkitAnimation' : 'animation';\n animationEndEvent = isWebkitAnim ? 'webkitAnimationEnd' : 'animationend';\n}\n\n/**\n * Defer a task to execute it asynchronously. Ideally this\n * should be executed as a microtask, so we leverage\n * MutationObserver if it's available, and fallback to\n * setTimeout(0).\n *\n * @param {Function} cb\n * @param {Object} ctx\n */\n\nvar nextTick = (function () {\n var callbacks = [];\n var pending = false;\n var timerFunc;\n function nextTickHandler() {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks = [];\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n }\n\n /* istanbul ignore if */\n if (typeof MutationObserver !== 'undefined') {\n var counter = 1;\n var observer = new MutationObserver(nextTickHandler);\n var textNode = document.createTextNode(counter);\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = counter;\n };\n } else {\n // webpack attempts to inject a shim for setImmediate\n // if it is used as a global, so we have to work around that to\n // avoid bundling unnecessary code.\n var context = inBrowser ? window : typeof global !== 'undefined' ? global : {};\n timerFunc = context.setImmediate || setTimeout;\n }\n return function (cb, ctx) {\n var func = ctx ? function () {\n cb.call(ctx);\n } : cb;\n callbacks.push(func);\n if (pending) return;\n pending = true;\n timerFunc(nextTickHandler, 0);\n };\n})();\n\nfunction Cache(limit) {\n this.size = 0;\n this.limit = limit;\n this.head = this.tail = undefined;\n this._keymap = Object.create(null);\n}\n\nvar p = Cache.prototype;\n\n/**\n * Put into the cache associated with .\n * Returns the entry which was removed to make room for\n * the new entry. Otherwise undefined is returned.\n * (i.e. if there was enough room already).\n *\n * @param {String} key\n * @param {*} value\n * @return {Entry|undefined}\n */\n\np.put = function (key, value) {\n var removed;\n if (this.size === this.limit) {\n removed = this.shift();\n }\n\n var entry = this.get(key, true);\n if (!entry) {\n entry = {\n key: key\n };\n this._keymap[key] = entry;\n if (this.tail) {\n this.tail.newer = entry;\n entry.older = this.tail;\n } else {\n this.head = entry;\n }\n this.tail = entry;\n this.size++;\n }\n entry.value = value;\n\n return removed;\n};\n\n/**\n * Purge the least recently used (oldest) entry from the\n * cache. Returns the removed entry or undefined if the\n * cache was empty.\n */\n\np.shift = function () {\n var entry = this.head;\n if (entry) {\n this.head = this.head.newer;\n this.head.older = undefined;\n entry.newer = entry.older = undefined;\n this._keymap[entry.key] = undefined;\n this.size--;\n }\n return entry;\n};\n\n/**\n * Get and register recent use of . Returns the value\n * associated with or undefined if not in cache.\n *\n * @param {String} key\n * @param {Boolean} returnEntry\n * @return {Entry|*}\n */\n\np.get = function (key, returnEntry) {\n var entry = this._keymap[key];\n if (entry === undefined) return;\n if (entry === this.tail) {\n return returnEntry ? entry : entry.value;\n }\n // HEAD--------------TAIL\n // <.older .newer>\n // <--- add direction --\n // A B C E\n if (entry.newer) {\n if (entry === this.head) {\n this.head = entry.newer;\n }\n entry.newer.older = entry.older; // C <-- E.\n }\n if (entry.older) {\n entry.older.newer = entry.newer; // C. --> E\n }\n entry.newer = undefined; // D --x\n entry.older = this.tail; // D. --> E\n if (this.tail) {\n this.tail.newer = entry; // E. <-- D\n }\n this.tail = entry;\n return returnEntry ? entry : entry.value;\n};\n\nvar cache$1 = new Cache(1000);\nvar filterTokenRE = /[^\\s'\"]+|'[^']*'|\"[^\"]*\"/g;\nvar reservedArgRE = /^in$|^-?\\d+/;\n\n/**\n * Parser state\n */\n\nvar str;\nvar dir;\nvar c;\nvar prev;\nvar i;\nvar l;\nvar lastFilterIndex;\nvar inSingle;\nvar inDouble;\nvar curly;\nvar square;\nvar paren;\n/**\n * Push a filter to the current directive object\n */\n\nfunction pushFilter() {\n var exp = str.slice(lastFilterIndex, i).trim();\n var filter;\n if (exp) {\n filter = {};\n var tokens = exp.match(filterTokenRE);\n filter.name = tokens[0];\n if (tokens.length > 1) {\n filter.args = tokens.slice(1).map(processFilterArg);\n }\n }\n if (filter) {\n (dir.filters = dir.filters || []).push(filter);\n }\n lastFilterIndex = i + 1;\n}\n\n/**\n * Check if an argument is dynamic and strip quotes.\n *\n * @param {String} arg\n * @return {Object}\n */\n\nfunction processFilterArg(arg) {\n if (reservedArgRE.test(arg)) {\n return {\n value: toNumber(arg),\n dynamic: false\n };\n } else {\n var stripped = stripQuotes(arg);\n var dynamic = stripped === arg;\n return {\n value: dynamic ? arg : stripped,\n dynamic: dynamic\n };\n }\n}\n\n/**\n * Parse a directive value and extract the expression\n * and its filters into a descriptor.\n *\n * Example:\n *\n * \"a + 1 | uppercase\" will yield:\n * {\n * expression: 'a + 1',\n * filters: [\n * { name: 'uppercase', args: null }\n * ]\n * }\n *\n * @param {String} s\n * @return {Object}\n */\n\nfunction parseDirective(s) {\n var hit = cache$1.get(s);\n if (hit) {\n return hit;\n }\n\n // reset parser state\n str = s;\n inSingle = inDouble = false;\n curly = square = paren = 0;\n lastFilterIndex = 0;\n dir = {};\n\n for (i = 0, l = str.length; i < l; i++) {\n prev = c;\n c = str.charCodeAt(i);\n if (inSingle) {\n // check single quote\n if (c === 0x27 && prev !== 0x5C) inSingle = !inSingle;\n } else if (inDouble) {\n // check double quote\n if (c === 0x22 && prev !== 0x5C) inDouble = !inDouble;\n } else if (c === 0x7C && // pipe\n str.charCodeAt(i + 1) !== 0x7C && str.charCodeAt(i - 1) !== 0x7C) {\n if (dir.expression == null) {\n // first filter, end of expression\n lastFilterIndex = i + 1;\n dir.expression = str.slice(0, i).trim();\n } else {\n // already has filter\n pushFilter();\n }\n } else {\n switch (c) {\n case 0x22:\n inDouble = true;break; // \"\n case 0x27:\n inSingle = true;break; // '\n case 0x28:\n paren++;break; // (\n case 0x29:\n paren--;break; // )\n case 0x5B:\n square++;break; // [\n case 0x5D:\n square--;break; // ]\n case 0x7B:\n curly++;break; // {\n case 0x7D:\n curly--;break; // }\n }\n }\n }\n\n if (dir.expression == null) {\n dir.expression = str.slice(0, i).trim();\n } else if (lastFilterIndex !== 0) {\n pushFilter();\n }\n\n cache$1.put(s, dir);\n return dir;\n}\n\nvar directive = Object.freeze({\n parseDirective: parseDirective\n});\n\nvar regexEscapeRE = /[-.*+?^${}()|[\\]\\/\\\\]/g;\nvar cache = undefined;\nvar tagRE = undefined;\nvar htmlRE = undefined;\n/**\n * Escape a string so it can be used in a RegExp\n * constructor.\n *\n * @param {String} str\n */\n\nfunction escapeRegex(str) {\n return str.replace(regexEscapeRE, '\\\\$&');\n}\n\nfunction compileRegex() {\n var open = escapeRegex(config.delimiters[0]);\n var close = escapeRegex(config.delimiters[1]);\n var unsafeOpen = escapeRegex(config.unsafeDelimiters[0]);\n var unsafeClose = escapeRegex(config.unsafeDelimiters[1]);\n tagRE = new RegExp(unsafeOpen + '((?:.|\\\\n)+?)' + unsafeClose + '|' + open + '((?:.|\\\\n)+?)' + close, 'g');\n htmlRE = new RegExp('^' + unsafeOpen + '.*' + unsafeClose + '$');\n // reset cache\n cache = new Cache(1000);\n}\n\n/**\n * Parse a template text string into an array of tokens.\n *\n * @param {String} text\n * @return {Array | null}\n * - {String} type\n * - {String} value\n * - {Boolean} [html]\n * - {Boolean} [oneTime]\n */\n\nfunction parseText(text) {\n if (!cache) {\n compileRegex();\n }\n var hit = cache.get(text);\n if (hit) {\n return hit;\n }\n if (!tagRE.test(text)) {\n return null;\n }\n var tokens = [];\n var lastIndex = tagRE.lastIndex = 0;\n var match, index, html, value, first, oneTime;\n /* eslint-disable no-cond-assign */\n while (match = tagRE.exec(text)) {\n /* eslint-enable no-cond-assign */\n index = match.index;\n // push text token\n if (index > lastIndex) {\n tokens.push({\n value: text.slice(lastIndex, index)\n });\n }\n // tag token\n html = htmlRE.test(match[0]);\n value = html ? match[1] : match[2];\n first = value.charCodeAt(0);\n oneTime = first === 42; // *\n value = oneTime ? value.slice(1) : value;\n tokens.push({\n tag: true,\n value: value.trim(),\n html: html,\n oneTime: oneTime\n });\n lastIndex = index + match[0].length;\n }\n if (lastIndex < text.length) {\n tokens.push({\n value: text.slice(lastIndex)\n });\n }\n cache.put(text, tokens);\n return tokens;\n}\n\n/**\n * Format a list of tokens into an expression.\n * e.g. tokens parsed from 'a {{b}} c' can be serialized\n * into one single expression as '\"a \" + b + \" c\"'.\n *\n * @param {Array} tokens\n * @param {Vue} [vm]\n * @return {String}\n */\n\nfunction tokensToExp(tokens, vm) {\n if (tokens.length > 1) {\n return tokens.map(function (token) {\n return formatToken(token, vm);\n }).join('+');\n } else {\n return formatToken(tokens[0], vm, true);\n }\n}\n\n/**\n * Format a single token.\n *\n * @param {Object} token\n * @param {Vue} [vm]\n * @param {Boolean} [single]\n * @return {String}\n */\n\nfunction formatToken(token, vm, single) {\n return token.tag ? token.oneTime && vm ? '\"' + vm.$eval(token.value) + '\"' : inlineFilters(token.value, single) : '\"' + token.value + '\"';\n}\n\n/**\n * For an attribute with multiple interpolation tags,\n * e.g. attr=\"some-{{thing | filter}}\", in order to combine\n * the whole thing into a single watchable expression, we\n * have to inline those filters. This function does exactly\n * that. This is a bit hacky but it avoids heavy changes\n * to directive parser and watcher mechanism.\n *\n * @param {String} exp\n * @param {Boolean} single\n * @return {String}\n */\n\nvar filterRE = /[^|]\\|[^|]/;\nfunction inlineFilters(exp, single) {\n if (!filterRE.test(exp)) {\n return single ? exp : '(' + exp + ')';\n } else {\n var dir = parseDirective(exp);\n if (!dir.filters) {\n return '(' + exp + ')';\n } else {\n return 'this._applyFilters(' + dir.expression + // value\n ',null,' + // oldValue (null for read)\n JSON.stringify(dir.filters) + // filter descriptors\n ',false)'; // write?\n }\n }\n}\n\nvar text = Object.freeze({\n compileRegex: compileRegex,\n parseText: parseText,\n tokensToExp: tokensToExp\n});\n\nvar delimiters = ['{{', '}}'];\nvar unsafeDelimiters = ['{{{', '}}}'];\n\nvar config = Object.defineProperties({\n\n /**\n * Whether to print debug messages.\n * Also enables stack trace for warnings.\n *\n * @type {Boolean}\n */\n\n debug: false,\n\n /**\n * Whether to suppress warnings.\n *\n * @type {Boolean}\n */\n\n silent: false,\n\n /**\n * Whether to use async rendering.\n */\n\n async: true,\n\n /**\n * Whether to warn against errors caught when evaluating\n * expressions.\n */\n\n warnExpressionErrors: true,\n\n /**\n * Whether to allow devtools inspection.\n * Disabled by default in production builds.\n */\n\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Internal flag to indicate the delimiters have been\n * changed.\n *\n * @type {Boolean}\n */\n\n _delimitersChanged: true,\n\n /**\n * List of asset types that a component can own.\n *\n * @type {Array}\n */\n\n _assetTypes: ['component', 'directive', 'elementDirective', 'filter', 'transition', 'partial'],\n\n /**\n * prop binding modes\n */\n\n _propBindingModes: {\n ONE_WAY: 0,\n TWO_WAY: 1,\n ONE_TIME: 2\n },\n\n /**\n * Max circular updates allowed in a batcher flush cycle.\n */\n\n _maxUpdateCount: 100\n\n}, {\n delimiters: { /**\n * Interpolation delimiters. Changing these would trigger\n * the text parser to re-compile the regular expressions.\n *\n * @type {Array}\n */\n\n get: function get() {\n return delimiters;\n },\n set: function set(val) {\n delimiters = val;\n compileRegex();\n },\n configurable: true,\n enumerable: true\n },\n unsafeDelimiters: {\n get: function get() {\n return unsafeDelimiters;\n },\n set: function set(val) {\n unsafeDelimiters = val;\n compileRegex();\n },\n configurable: true,\n enumerable: true\n }\n});\n\nvar warn = undefined;\nvar formatComponentName = undefined;\n\nif (process.env.NODE_ENV !== 'production') {\n (function () {\n var hasConsole = typeof console !== 'undefined';\n\n warn = function (msg, vm) {\n if (hasConsole && !config.silent) {\n console.error('[Vue warn]: ' + msg + (vm ? formatComponentName(vm) : ''));\n }\n };\n\n formatComponentName = function (vm) {\n var name = vm._isVue ? vm.$options.name : vm.name;\n return name ? ' (found in component: <' + hyphenate(name) + '>)' : '';\n };\n })();\n}\n\n/**\n * Append with transition.\n *\n * @param {Element} el\n * @param {Element} target\n * @param {Vue} vm\n * @param {Function} [cb]\n */\n\nfunction appendWithTransition(el, target, vm, cb) {\n applyTransition(el, 1, function () {\n target.appendChild(el);\n }, vm, cb);\n}\n\n/**\n * InsertBefore with transition.\n *\n * @param {Element} el\n * @param {Element} target\n * @param {Vue} vm\n * @param {Function} [cb]\n */\n\nfunction beforeWithTransition(el, target, vm, cb) {\n applyTransition(el, 1, function () {\n before(el, target);\n }, vm, cb);\n}\n\n/**\n * Remove with transition.\n *\n * @param {Element} el\n * @param {Vue} vm\n * @param {Function} [cb]\n */\n\nfunction removeWithTransition(el, vm, cb) {\n applyTransition(el, -1, function () {\n remove(el);\n }, vm, cb);\n}\n\n/**\n * Apply transitions with an operation callback.\n *\n * @param {Element} el\n * @param {Number} direction\n * 1: enter\n * -1: leave\n * @param {Function} op - the actual DOM operation\n * @param {Vue} vm\n * @param {Function} [cb]\n */\n\nfunction applyTransition(el, direction, op, vm, cb) {\n var transition = el.__v_trans;\n if (!transition ||\n // skip if there are no js hooks and CSS transition is\n // not supported\n !transition.hooks && !transitionEndEvent ||\n // skip transitions for initial compile\n !vm._isCompiled ||\n // if the vm is being manipulated by a parent directive\n // during the parent's compilation phase, skip the\n // animation.\n vm.$parent && !vm.$parent._isCompiled) {\n op();\n if (cb) cb();\n return;\n }\n var action = direction > 0 ? 'enter' : 'leave';\n transition[action](op, cb);\n}\n\nvar transition = Object.freeze({\n appendWithTransition: appendWithTransition,\n beforeWithTransition: beforeWithTransition,\n removeWithTransition: removeWithTransition,\n applyTransition: applyTransition\n});\n\n/**\n * Query an element selector if it's not an element already.\n *\n * @param {String|Element} el\n * @return {Element}\n */\n\nfunction query(el) {\n if (typeof el === 'string') {\n var selector = el;\n el = document.querySelector(el);\n if (!el) {\n process.env.NODE_ENV !== 'production' && warn('Cannot find element: ' + selector);\n }\n }\n return el;\n}\n\n/**\n * Check if a node is in the document.\n * Note: document.documentElement.contains should work here\n * but always returns false for comment nodes in phantomjs,\n * making unit tests difficult. This is fixed by doing the\n * contains() check on the node's parentNode instead of\n * the node itself.\n *\n * @param {Node} node\n * @return {Boolean}\n */\n\nfunction inDoc(node) {\n var doc = document.documentElement;\n var parent = node && node.parentNode;\n return doc === node || doc === parent || !!(parent && parent.nodeType === 1 && doc.contains(parent));\n}\n\n/**\n * Get and remove an attribute from a node.\n *\n * @param {Node} node\n * @param {String} _attr\n */\n\nfunction getAttr(node, _attr) {\n var val = node.getAttribute(_attr);\n if (val !== null) {\n node.removeAttribute(_attr);\n }\n return val;\n}\n\n/**\n * Get an attribute with colon or v-bind: prefix.\n *\n * @param {Node} node\n * @param {String} name\n * @return {String|null}\n */\n\nfunction getBindAttr(node, name) {\n var val = getAttr(node, ':' + name);\n if (val === null) {\n val = getAttr(node, 'v-bind:' + name);\n }\n return val;\n}\n\n/**\n * Check the presence of a bind attribute.\n *\n * @param {Node} node\n * @param {String} name\n * @return {Boolean}\n */\n\nfunction hasBindAttr(node, name) {\n return node.hasAttribute(name) || node.hasAttribute(':' + name) || node.hasAttribute('v-bind:' + name);\n}\n\n/**\n * Insert el before target\n *\n * @param {Element} el\n * @param {Element} target\n */\n\nfunction before(el, target) {\n target.parentNode.insertBefore(el, target);\n}\n\n/**\n * Insert el after target\n *\n * @param {Element} el\n * @param {Element} target\n */\n\nfunction after(el, target) {\n if (target.nextSibling) {\n before(el, target.nextSibling);\n } else {\n target.parentNode.appendChild(el);\n }\n}\n\n/**\n * Remove el from DOM\n *\n * @param {Element} el\n */\n\nfunction remove(el) {\n el.parentNode.removeChild(el);\n}\n\n/**\n * Prepend el to target\n *\n * @param {Element} el\n * @param {Element} target\n */\n\nfunction prepend(el, target) {\n if (target.firstChild) {\n before(el, target.firstChild);\n } else {\n target.appendChild(el);\n }\n}\n\n/**\n * Replace target with el\n *\n * @param {Element} target\n * @param {Element} el\n */\n\nfunction replace(target, el) {\n var parent = target.parentNode;\n if (parent) {\n parent.replaceChild(el, target);\n }\n}\n\n/**\n * Add event listener shorthand.\n *\n * @param {Element} el\n * @param {String} event\n * @param {Function} cb\n * @param {Boolean} [useCapture]\n */\n\nfunction on(el, event, cb, useCapture) {\n el.addEventListener(event, cb, useCapture);\n}\n\n/**\n * Remove event listener shorthand.\n *\n * @param {Element} el\n * @param {String} event\n * @param {Function} cb\n */\n\nfunction off(el, event, cb) {\n el.removeEventListener(event, cb);\n}\n\n/**\n * For IE9 compat: when both class and :class are present\n * getAttribute('class') returns wrong value...\n *\n * @param {Element} el\n * @return {String}\n */\n\nfunction getClass(el) {\n var classname = el.className;\n if (typeof classname === 'object') {\n classname = classname.baseVal || '';\n }\n return classname;\n}\n\n/**\n * In IE9, setAttribute('class') will result in empty class\n * if the element also has the :class attribute; However in\n * PhantomJS, setting `className` does not work on SVG elements...\n * So we have to do a conditional check here.\n *\n * @param {Element} el\n * @param {String} cls\n */\n\nfunction setClass(el, cls) {\n /* istanbul ignore if */\n if (isIE9 && !/svg$/.test(el.namespaceURI)) {\n el.className = cls;\n } else {\n el.setAttribute('class', cls);\n }\n}\n\n/**\n * Add class with compatibility for IE & SVG\n *\n * @param {Element} el\n * @param {String} cls\n */\n\nfunction addClass(el, cls) {\n if (el.classList) {\n el.classList.add(cls);\n } else {\n var cur = ' ' + getClass(el) + ' ';\n if (cur.indexOf(' ' + cls + ' ') < 0) {\n setClass(el, (cur + cls).trim());\n }\n }\n}\n\n/**\n * Remove class with compatibility for IE & SVG\n *\n * @param {Element} el\n * @param {String} cls\n */\n\nfunction removeClass(el, cls) {\n if (el.classList) {\n el.classList.remove(cls);\n } else {\n var cur = ' ' + getClass(el) + ' ';\n var tar = ' ' + cls + ' ';\n while (cur.indexOf(tar) >= 0) {\n cur = cur.replace(tar, ' ');\n }\n setClass(el, cur.trim());\n }\n if (!el.className) {\n el.removeAttribute('class');\n }\n}\n\n/**\n * Extract raw content inside an element into a temporary\n * container div\n *\n * @param {Element} el\n * @param {Boolean} asFragment\n * @return {Element|DocumentFragment}\n */\n\nfunction extractContent(el, asFragment) {\n var child;\n var rawContent;\n /* istanbul ignore if */\n if (isTemplate(el) && isFragment(el.content)) {\n el = el.content;\n }\n if (el.hasChildNodes()) {\n trimNode(el);\n rawContent = asFragment ? document.createDocumentFragment() : document.createElement('div');\n /* eslint-disable no-cond-assign */\n while (child = el.firstChild) {\n /* eslint-enable no-cond-assign */\n rawContent.appendChild(child);\n }\n }\n return rawContent;\n}\n\n/**\n * Trim possible empty head/tail text and comment\n * nodes inside a parent.\n *\n * @param {Node} node\n */\n\nfunction trimNode(node) {\n var child;\n /* eslint-disable no-sequences */\n while ((child = node.firstChild, isTrimmable(child))) {\n node.removeChild(child);\n }\n while ((child = node.lastChild, isTrimmable(child))) {\n node.removeChild(child);\n }\n /* eslint-enable no-sequences */\n}\n\nfunction isTrimmable(node) {\n return node && (node.nodeType === 3 && !node.data.trim() || node.nodeType === 8);\n}\n\n/**\n * Check if an element is a template tag.\n * Note if the template appears inside an SVG its tagName\n * will be in lowercase.\n *\n * @param {Element} el\n */\n\nfunction isTemplate(el) {\n return el.tagName && el.tagName.toLowerCase() === 'template';\n}\n\n/**\n * Create an \"anchor\" for performing dom insertion/removals.\n * This is used in a number of scenarios:\n * - fragment instance\n * - v-html\n * - v-if\n * - v-for\n * - component\n *\n * @param {String} content\n * @param {Boolean} persist - IE trashes empty textNodes on\n * cloneNode(true), so in certain\n * cases the anchor needs to be\n * non-empty to be persisted in\n * templates.\n * @return {Comment|Text}\n */\n\nfunction createAnchor(content, persist) {\n var anchor = config.debug ? document.createComment(content) : document.createTextNode(persist ? ' ' : '');\n anchor.__v_anchor = true;\n return anchor;\n}\n\n/**\n * Find a component ref attribute that starts with $.\n *\n * @param {Element} node\n * @return {String|undefined}\n */\n\nvar refRE = /^v-ref:/;\n\nfunction findRef(node) {\n if (node.hasAttributes()) {\n var attrs = node.attributes;\n for (var i = 0, l = attrs.length; i < l; i++) {\n var name = attrs[i].name;\n if (refRE.test(name)) {\n return camelize(name.replace(refRE, ''));\n }\n }\n }\n}\n\n/**\n * Map a function to a range of nodes .\n *\n * @param {Node} node\n * @param {Node} end\n * @param {Function} op\n */\n\nfunction mapNodeRange(node, end, op) {\n var next;\n while (node !== end) {\n next = node.nextSibling;\n op(node);\n node = next;\n }\n op(end);\n}\n\n/**\n * Remove a range of nodes with transition, store\n * the nodes in a fragment with correct ordering,\n * and call callback when done.\n *\n * @param {Node} start\n * @param {Node} end\n * @param {Vue} vm\n * @param {DocumentFragment} frag\n * @param {Function} cb\n */\n\nfunction removeNodeRange(start, end, vm, frag, cb) {\n var done = false;\n var removed = 0;\n var nodes = [];\n mapNodeRange(start, end, function (node) {\n if (node === end) done = true;\n nodes.push(node);\n removeWithTransition(node, vm, onRemoved);\n });\n function onRemoved() {\n removed++;\n if (done && removed >= nodes.length) {\n for (var i = 0; i < nodes.length; i++) {\n frag.appendChild(nodes[i]);\n }\n cb && cb();\n }\n }\n}\n\n/**\n * Check if a node is a DocumentFragment.\n *\n * @param {Node} node\n * @return {Boolean}\n */\n\nfunction isFragment(node) {\n return node && node.nodeType === 11;\n}\n\n/**\n * Get outerHTML of elements, taking care\n * of SVG elements in IE as well.\n *\n * @param {Element} el\n * @return {String}\n */\n\nfunction getOuterHTML(el) {\n if (el.outerHTML) {\n return el.outerHTML;\n } else {\n var container = document.createElement('div');\n container.appendChild(el.cloneNode(true));\n return container.innerHTML;\n }\n}\n\nvar commonTagRE = /^(div|p|span|img|a|b|i|br|ul|ol|li|h1|h2|h3|h4|h5|h6|code|pre|table|th|td|tr|form|label|input|select|option|nav|article|section|header|footer)$/i;\nvar reservedTagRE = /^(slot|partial|component)$/i;\n\nvar isUnknownElement = undefined;\nif (process.env.NODE_ENV !== 'production') {\n isUnknownElement = function (el, tag) {\n if (tag.indexOf('-') > -1) {\n // http://stackoverflow.com/a/28210364/1070244\n return el.constructor === window.HTMLUnknownElement || el.constructor === window.HTMLElement;\n } else {\n return (/HTMLUnknownElement/.test(el.toString()) &&\n // Chrome returns unknown for several HTML5 elements.\n // https://code.google.com/p/chromium/issues/detail?id=540526\n !/^(data|time|rtc|rb)$/.test(tag)\n );\n }\n };\n}\n\n/**\n * Check if an element is a component, if yes return its\n * component id.\n *\n * @param {Element} el\n * @param {Object} options\n * @return {Object|undefined}\n */\n\nfunction checkComponentAttr(el, options) {\n var tag = el.tagName.toLowerCase();\n var hasAttrs = el.hasAttributes();\n if (!commonTagRE.test(tag) && !reservedTagRE.test(tag)) {\n if (resolveAsset(options, 'components', tag)) {\n return { id: tag };\n } else {\n var is = hasAttrs && getIsBinding(el);\n if (is) {\n return is;\n } else if (process.env.NODE_ENV !== 'production') {\n var expectedTag = options._componentNameMap && options._componentNameMap[tag];\n if (expectedTag) {\n warn('Unknown custom element: <' + tag + '> - ' + 'did you mean <' + expectedTag + '>? ' + 'HTML is case-insensitive, remember to use kebab-case in templates.');\n } else if (isUnknownElement(el, tag)) {\n warn('Unknown custom element: <' + tag + '> - did you ' + 'register the component correctly? For recursive components, ' + 'make sure to provide the \"name\" option.');\n }\n }\n }\n } else if (hasAttrs) {\n return getIsBinding(el);\n }\n}\n\n/**\n * Get \"is\" binding from an element.\n *\n * @param {Element} el\n * @return {Object|undefined}\n */\n\nfunction getIsBinding(el) {\n // dynamic syntax\n var exp = getAttr(el, 'is');\n if (exp != null) {\n return { id: exp };\n } else {\n exp = getBindAttr(el, 'is');\n if (exp != null) {\n return { id: exp, dynamic: true };\n }\n }\n}\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n *\n * All strategy functions follow the same signature:\n *\n * @param {*} parentVal\n * @param {*} childVal\n * @param {Vue} [vm]\n */\n\nvar strats = config.optionMergeStrategies = Object.create(null);\n\n/**\n * Helper that recursively merges two data objects together.\n */\n\nfunction mergeData(to, from) {\n var key, toVal, fromVal;\n for (key in from) {\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (isObject(toVal) && isObject(fromVal)) {\n mergeData(toVal, fromVal);\n }\n }\n return to;\n}\n\n/**\n * Data\n */\n\nstrats.data = function (parentVal, childVal, vm) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal;\n }\n if (typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn('The \"data\" option should be a function ' + 'that returns a per-instance value in component ' + 'definitions.', vm);\n return parentVal;\n }\n if (!parentVal) {\n return childVal;\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn() {\n return mergeData(childVal.call(this), parentVal.call(this));\n };\n } else if (parentVal || childVal) {\n return function mergedInstanceDataFn() {\n // instance merge\n var instanceData = typeof childVal === 'function' ? childVal.call(vm) : childVal;\n var defaultData = typeof parentVal === 'function' ? parentVal.call(vm) : undefined;\n if (instanceData) {\n return mergeData(instanceData, defaultData);\n } else {\n return defaultData;\n }\n };\n }\n};\n\n/**\n * El\n */\n\nstrats.el = function (parentVal, childVal, vm) {\n if (!vm && childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn('The \"el\" option should be a function ' + 'that returns a per-instance value in component ' + 'definitions.', vm);\n return;\n }\n var ret = childVal || parentVal;\n // invoke the element factory if this is instance merge\n return vm && typeof ret === 'function' ? ret.call(vm) : ret;\n};\n\n/**\n * Hooks and param attributes are merged as arrays.\n */\n\nstrats.init = strats.created = strats.ready = strats.attached = strats.detached = strats.beforeCompile = strats.compiled = strats.beforeDestroy = strats.destroyed = strats.activate = function (parentVal, childVal) {\n return childVal ? parentVal ? parentVal.concat(childVal) : isArray(childVal) ? childVal : [childVal] : parentVal;\n};\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\n\nfunction mergeAssets(parentVal, childVal) {\n var res = Object.create(parentVal);\n return childVal ? extend(res, guardArrayAssets(childVal)) : res;\n}\n\nconfig._assetTypes.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Events & Watchers.\n *\n * Events & watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\n\nstrats.watch = strats.events = function (parentVal, childVal) {\n if (!childVal) return parentVal;\n if (!parentVal) return childVal;\n var ret = {};\n extend(ret, parentVal);\n for (var key in childVal) {\n var parent = ret[key];\n var child = childVal[key];\n if (parent && !isArray(parent)) {\n parent = [parent];\n }\n ret[key] = parent ? parent.concat(child) : [child];\n }\n return ret;\n};\n\n/**\n * Other object hashes.\n */\n\nstrats.props = strats.methods = strats.computed = function (parentVal, childVal) {\n if (!childVal) return parentVal;\n if (!parentVal) return childVal;\n var ret = Object.create(null);\n extend(ret, parentVal);\n extend(ret, childVal);\n return ret;\n};\n\n/**\n * Default strategy.\n */\n\nvar defaultStrat = function defaultStrat(parentVal, childVal) {\n return childVal === undefined ? parentVal : childVal;\n};\n\n/**\n * Make sure component options get converted to actual\n * constructors.\n *\n * @param {Object} options\n */\n\nfunction guardComponents(options) {\n if (options.components) {\n var components = options.components = guardArrayAssets(options.components);\n var ids = Object.keys(components);\n var def;\n if (process.env.NODE_ENV !== 'production') {\n var map = options._componentNameMap = {};\n }\n for (var i = 0, l = ids.length; i < l; i++) {\n var key = ids[i];\n if (commonTagRE.test(key) || reservedTagRE.test(key)) {\n process.env.NODE_ENV !== 'production' && warn('Do not use built-in or reserved HTML elements as component ' + 'id: ' + key);\n continue;\n }\n // record a all lowercase <-> kebab-case mapping for\n // possible custom element case error warning\n if (process.env.NODE_ENV !== 'production') {\n map[key.replace(/-/g, '').toLowerCase()] = hyphenate(key);\n }\n def = components[key];\n if (isPlainObject(def)) {\n components[key] = Vue.extend(def);\n }\n }\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n *\n * @param {Object} options\n */\n\nfunction guardProps(options) {\n var props = options.props;\n var i, val;\n if (isArray(props)) {\n options.props = {};\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n options.props[val] = null;\n } else if (val.name) {\n options.props[val.name] = val;\n }\n }\n } else if (isPlainObject(props)) {\n var keys = Object.keys(props);\n i = keys.length;\n while (i--) {\n val = props[keys[i]];\n if (typeof val === 'function') {\n props[keys[i]] = { type: val };\n }\n }\n }\n}\n\n/**\n * Guard an Array-format assets option and converted it\n * into the key-value Object format.\n *\n * @param {Object|Array} assets\n * @return {Object}\n */\n\nfunction guardArrayAssets(assets) {\n if (isArray(assets)) {\n var res = {};\n var i = assets.length;\n var asset;\n while (i--) {\n asset = assets[i];\n var id = typeof asset === 'function' ? asset.options && asset.options.name || asset.id : asset.name || asset.id;\n if (!id) {\n process.env.NODE_ENV !== 'production' && warn('Array-syntax assets must provide a \"name\" or \"id\" field.');\n } else {\n res[id] = asset;\n }\n }\n return res;\n }\n return assets;\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n *\n * @param {Object} parent\n * @param {Object} child\n * @param {Vue} [vm] - if vm is present, indicates this is\n * an instantiation merge.\n */\n\nfunction mergeOptions(parent, child, vm) {\n guardComponents(child);\n guardProps(child);\n var options = {};\n var key;\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField(key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options;\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n *\n * @param {Object} options\n * @param {String} type\n * @param {String} id\n * @param {Boolean} warnMissing\n * @return {Object|Function}\n */\n\nfunction resolveAsset(options, type, id, warnMissing) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return;\n }\n var assets = options[type];\n var camelizedId;\n var res = assets[id] ||\n // camelCase ID\n assets[camelizedId = camelize(id)] ||\n // Pascal Case ID\n assets[camelizedId.charAt(0).toUpperCase() + camelizedId.slice(1)];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn('Failed to resolve ' + type.slice(0, -1) + ': ' + id, options);\n }\n return res;\n}\n\nvar uid$1 = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n *\n * @constructor\n */\nfunction Dep() {\n this.id = uid$1++;\n this.subs = [];\n}\n\n// the current target watcher being evaluated.\n// this is globally unique because there could be only one\n// watcher being evaluated at any time.\nDep.target = null;\n\n/**\n * Add a directive subscriber.\n *\n * @param {Directive} sub\n */\n\nDep.prototype.addSub = function (sub) {\n this.subs.push(sub);\n};\n\n/**\n * Remove a directive subscriber.\n *\n * @param {Directive} sub\n */\n\nDep.prototype.removeSub = function (sub) {\n this.subs.$remove(sub);\n};\n\n/**\n * Add self as a dependency to the target watcher.\n */\n\nDep.prototype.depend = function () {\n Dep.target.addDep(this);\n};\n\n/**\n * Notify all subscribers of a new value.\n */\n\nDep.prototype.notify = function () {\n // stablize the subscriber list first\n var subs = toArray(this.subs);\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto)\n\n/**\n * Intercept mutating methods and emit events\n */\n\n;['push', 'pop', 'shift', 'unshift', 'splice', 'sort', 'reverse'].forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator() {\n // avoid leaking arguments:\n // http://jsperf.com/closure-with-arguments\n var i = arguments.length;\n var args = new Array(i);\n while (i--) {\n args[i] = arguments[i];\n }\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n inserted = args;\n break;\n case 'unshift':\n inserted = args;\n break;\n case 'splice':\n inserted = args.slice(2);\n break;\n }\n if (inserted) ob.observeArray(inserted);\n // notify change\n ob.dep.notify();\n return result;\n });\n});\n\n/**\n * Swap the element at the given index with a new value\n * and emits corresponding event.\n *\n * @param {Number} index\n * @param {*} val\n * @return {*} - replaced element\n */\n\ndef(arrayProto, '$set', function $set(index, val) {\n if (index >= this.length) {\n this.length = Number(index) + 1;\n }\n return this.splice(index, 1, val)[0];\n});\n\n/**\n * Convenience method to remove the element at given index or target element reference.\n *\n * @param {*} item\n */\n\ndef(arrayProto, '$remove', function $remove(item) {\n /* istanbul ignore if */\n if (!this.length) return;\n var index = indexOf(this, item);\n if (index > -1) {\n return this.splice(index, 1);\n }\n});\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * By default, when a reactive property is set, the new value is\n * also converted to become reactive. However in certain cases, e.g.\n * v-for scope alias and props, we don't want to force conversion\n * because the value may be a nested value under a frozen data structure.\n *\n * So whenever we want to set a reactive property without forcing\n * conversion on the new value, we wrap that call inside this function.\n */\n\nvar shouldConvert = true;\n\nfunction withoutConversion(fn) {\n shouldConvert = false;\n fn();\n shouldConvert = true;\n}\n\n/**\n * Observer class that are attached to each observed\n * object. Once attached, the observer converts target\n * object's property keys into getter/setters that\n * collect dependencies and dispatches updates.\n *\n * @param {Array|Object} value\n * @constructor\n */\n\nfunction Observer(value) {\n this.value = value;\n this.dep = new Dep();\n def(value, '__ob__', this);\n if (isArray(value)) {\n var augment = hasProto ? protoAugment : copyAugment;\n augment(value, arrayMethods, arrayKeys);\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n}\n\n// Instance methods\n\n/**\n * Walk through each property and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n *\n * @param {Object} obj\n */\n\nObserver.prototype.walk = function (obj) {\n var keys = Object.keys(obj);\n for (var i = 0, l = keys.length; i < l; i++) {\n this.convert(keys[i], obj[keys[i]]);\n }\n};\n\n/**\n * Observe a list of Array items.\n *\n * @param {Array} items\n */\n\nObserver.prototype.observeArray = function (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n/**\n * Convert a property into getter/setter so we can emit\n * the events when the property is accessed/changed.\n *\n * @param {String} key\n * @param {*} val\n */\n\nObserver.prototype.convert = function (key, val) {\n defineReactive(this.value, key, val);\n};\n\n/**\n * Add an owner vm, so that when $set/$delete mutations\n * happen we can notify owner vms to proxy the keys and\n * digest the watchers. This is only called when the object\n * is observed as an instance's root $data.\n *\n * @param {Vue} vm\n */\n\nObserver.prototype.addVm = function (vm) {\n (this.vms || (this.vms = [])).push(vm);\n};\n\n/**\n * Remove an owner vm. This is called when the object is\n * swapped out as an instance's $data object.\n *\n * @param {Vue} vm\n */\n\nObserver.prototype.removeVm = function (vm) {\n this.vms.$remove(vm);\n};\n\n// helpers\n\n/**\n * Augment an target Object or Array by intercepting\n * the prototype chain using __proto__\n *\n * @param {Object|Array} target\n * @param {Object} src\n */\n\nfunction protoAugment(target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment an target Object or Array by defining\n * hidden properties.\n *\n * @param {Object|Array} target\n * @param {Object} proto\n */\n\nfunction copyAugment(target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n *\n * @param {*} value\n * @param {Vue} [vm]\n * @return {Observer|undefined}\n * @static\n */\n\nfunction observe(value, vm) {\n if (!value || typeof value !== 'object') {\n return;\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (shouldConvert && (isArray(value) || isPlainObject(value)) && Object.isExtensible(value) && !value._isVue) {\n ob = new Observer(value);\n }\n if (ob && vm) {\n ob.addVm(vm);\n }\n return ob;\n}\n\n/**\n * Define a reactive property on an Object.\n *\n * @param {Object} obj\n * @param {String} key\n * @param {*} val\n */\n\nfunction defineReactive(obj, key, val) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return;\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n\n var childOb = observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter() {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n }\n if (isArray(value)) {\n for (var e, i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n }\n }\n }\n return value;\n },\n set: function reactiveSetter(newVal) {\n var value = getter ? getter.call(obj) : val;\n if (newVal === value) {\n return;\n }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = observe(newVal);\n dep.notify();\n }\n });\n}\n\n\n\nvar util = Object.freeze({\n\tdefineReactive: defineReactive,\n\tset: set,\n\tdel: del,\n\thasOwn: hasOwn,\n\tisLiteral: isLiteral,\n\tisReserved: isReserved,\n\t_toString: _toString,\n\ttoNumber: toNumber,\n\ttoBoolean: toBoolean,\n\tstripQuotes: stripQuotes,\n\tcamelize: camelize,\n\thyphenate: hyphenate,\n\tclassify: classify,\n\tbind: bind,\n\ttoArray: toArray,\n\textend: extend,\n\tisObject: isObject,\n\tisPlainObject: isPlainObject,\n\tdef: def,\n\tdebounce: _debounce,\n\tindexOf: indexOf,\n\tcancellable: cancellable,\n\tlooseEqual: looseEqual,\n\tisArray: isArray,\n\thasProto: hasProto,\n\tinBrowser: inBrowser,\n\tdevtools: devtools,\n\tisIE9: isIE9,\n\tisAndroid: isAndroid,\n\tget transitionProp () { return transitionProp; },\n\tget transitionEndEvent () { return transitionEndEvent; },\n\tget animationProp () { return animationProp; },\n\tget animationEndEvent () { return animationEndEvent; },\n\tnextTick: nextTick,\n\tquery: query,\n\tinDoc: inDoc,\n\tgetAttr: getAttr,\n\tgetBindAttr: getBindAttr,\n\thasBindAttr: hasBindAttr,\n\tbefore: before,\n\tafter: after,\n\tremove: remove,\n\tprepend: prepend,\n\treplace: replace,\n\ton: on,\n\toff: off,\n\tsetClass: setClass,\n\taddClass: addClass,\n\tremoveClass: removeClass,\n\textractContent: extractContent,\n\ttrimNode: trimNode,\n\tisTemplate: isTemplate,\n\tcreateAnchor: createAnchor,\n\tfindRef: findRef,\n\tmapNodeRange: mapNodeRange,\n\tremoveNodeRange: removeNodeRange,\n\tisFragment: isFragment,\n\tgetOuterHTML: getOuterHTML,\n\tmergeOptions: mergeOptions,\n\tresolveAsset: resolveAsset,\n\tcheckComponentAttr: checkComponentAttr,\n\tcommonTagRE: commonTagRE,\n\treservedTagRE: reservedTagRE,\n\tget warn () { return warn; }\n});\n\nvar uid = 0;\n\nfunction initMixin (Vue) {\n /**\n * The main init sequence. This is called for every\n * instance, including ones that are created from extended\n * constructors.\n *\n * @param {Object} options - this options object should be\n * the result of merging class\n * options and the options passed\n * in to the constructor.\n */\n\n Vue.prototype._init = function (options) {\n options = options || {};\n\n this.$el = null;\n this.$parent = options.parent;\n this.$root = this.$parent ? this.$parent.$root : this;\n this.$children = [];\n this.$refs = {}; // child vm references\n this.$els = {}; // element references\n this._watchers = []; // all watchers as an array\n this._directives = []; // all directives\n\n // a uid\n this._uid = uid++;\n\n // a flag to avoid this being observed\n this._isVue = true;\n\n // events bookkeeping\n this._events = {}; // registered callbacks\n this._eventsCount = {}; // for $broadcast optimization\n\n // fragment instance properties\n this._isFragment = false;\n this._fragment = // @type {DocumentFragment}\n this._fragmentStart = // @type {Text|Comment}\n this._fragmentEnd = null; // @type {Text|Comment}\n\n // lifecycle state\n this._isCompiled = this._isDestroyed = this._isReady = this._isAttached = this._isBeingDestroyed = this._vForRemoving = false;\n this._unlinkFn = null;\n\n // context:\n // if this is a transcluded component, context\n // will be the common parent vm of this instance\n // and its host.\n this._context = options._context || this.$parent;\n\n // scope:\n // if this is inside an inline v-for, the scope\n // will be the intermediate scope created for this\n // repeat fragment. this is used for linking props\n // and container directives.\n this._scope = options._scope;\n\n // fragment:\n // if this instance is compiled inside a Fragment, it\n // needs to reigster itself as a child of that fragment\n // for attach/detach to work properly.\n this._frag = options._frag;\n if (this._frag) {\n this._frag.children.push(this);\n }\n\n // push self into parent / transclusion host\n if (this.$parent) {\n this.$parent.$children.push(this);\n }\n\n // merge options.\n options = this.$options = mergeOptions(this.constructor.options, options, this);\n\n // set ref\n this._updateRef();\n\n // initialize data as empty object.\n // it will be filled up in _initScope().\n this._data = {};\n\n // save raw constructor data before merge\n // so that we know which properties are provided at\n // instantiation.\n this._runtimeData = options.data;\n\n // call init hook\n this._callHook('init');\n\n // initialize data observation and scope inheritance.\n this._initState();\n\n // setup event system and option events.\n this._initEvents();\n\n // call created hook\n this._callHook('created');\n\n // if `el` option is passed, start compilation.\n if (options.el) {\n this.$mount(options.el);\n }\n };\n}\n\nvar pathCache = new Cache(1000);\n\n// actions\nvar APPEND = 0;\nvar PUSH = 1;\nvar INC_SUB_PATH_DEPTH = 2;\nvar PUSH_SUB_PATH = 3;\n\n// states\nvar BEFORE_PATH = 0;\nvar IN_PATH = 1;\nvar BEFORE_IDENT = 2;\nvar IN_IDENT = 3;\nvar IN_SUB_PATH = 4;\nvar IN_SINGLE_QUOTE = 5;\nvar IN_DOUBLE_QUOTE = 6;\nvar AFTER_PATH = 7;\nvar ERROR = 8;\n\nvar pathStateMachine = [];\n\npathStateMachine[BEFORE_PATH] = {\n 'ws': [BEFORE_PATH],\n 'ident': [IN_IDENT, APPEND],\n '[': [IN_SUB_PATH],\n 'eof': [AFTER_PATH]\n};\n\npathStateMachine[IN_PATH] = {\n 'ws': [IN_PATH],\n '.': [BEFORE_IDENT],\n '[': [IN_SUB_PATH],\n 'eof': [AFTER_PATH]\n};\n\npathStateMachine[BEFORE_IDENT] = {\n 'ws': [BEFORE_IDENT],\n 'ident': [IN_IDENT, APPEND]\n};\n\npathStateMachine[IN_IDENT] = {\n 'ident': [IN_IDENT, APPEND],\n '0': [IN_IDENT, APPEND],\n 'number': [IN_IDENT, APPEND],\n 'ws': [IN_PATH, PUSH],\n '.': [BEFORE_IDENT, PUSH],\n '[': [IN_SUB_PATH, PUSH],\n 'eof': [AFTER_PATH, PUSH]\n};\n\npathStateMachine[IN_SUB_PATH] = {\n \"'\": [IN_SINGLE_QUOTE, APPEND],\n '\"': [IN_DOUBLE_QUOTE, APPEND],\n '[': [IN_SUB_PATH, INC_SUB_PATH_DEPTH],\n ']': [IN_PATH, PUSH_SUB_PATH],\n 'eof': ERROR,\n 'else': [IN_SUB_PATH, APPEND]\n};\n\npathStateMachine[IN_SINGLE_QUOTE] = {\n \"'\": [IN_SUB_PATH, APPEND],\n 'eof': ERROR,\n 'else': [IN_SINGLE_QUOTE, APPEND]\n};\n\npathStateMachine[IN_DOUBLE_QUOTE] = {\n '\"': [IN_SUB_PATH, APPEND],\n 'eof': ERROR,\n 'else': [IN_DOUBLE_QUOTE, APPEND]\n};\n\n/**\n * Determine the type of a character in a keypath.\n *\n * @param {Char} ch\n * @return {String} type\n */\n\nfunction getPathCharType(ch) {\n if (ch === undefined) {\n return 'eof';\n }\n\n var code = ch.charCodeAt(0);\n\n switch (code) {\n case 0x5B: // [\n case 0x5D: // ]\n case 0x2E: // .\n case 0x22: // \"\n case 0x27: // '\n case 0x30:\n // 0\n return ch;\n\n case 0x5F: // _\n case 0x24:\n // $\n return 'ident';\n\n case 0x20: // Space\n case 0x09: // Tab\n case 0x0A: // Newline\n case 0x0D: // Return\n case 0xA0: // No-break space\n case 0xFEFF: // Byte Order Mark\n case 0x2028: // Line Separator\n case 0x2029:\n // Paragraph Separator\n return 'ws';\n }\n\n // a-z, A-Z\n if (code >= 0x61 && code <= 0x7A || code >= 0x41 && code <= 0x5A) {\n return 'ident';\n }\n\n // 1-9\n if (code >= 0x31 && code <= 0x39) {\n return 'number';\n }\n\n return 'else';\n}\n\n/**\n * Format a subPath, return its plain form if it is\n * a literal string or number. Otherwise prepend the\n * dynamic indicator (*).\n *\n * @param {String} path\n * @return {String}\n */\n\nfunction formatSubPath(path) {\n var trimmed = path.trim();\n // invalid leading 0\n if (path.charAt(0) === '0' && isNaN(path)) {\n return false;\n }\n return isLiteral(trimmed) ? stripQuotes(trimmed) : '*' + trimmed;\n}\n\n/**\n * Parse a string path into an array of segments\n *\n * @param {String} path\n * @return {Array|undefined}\n */\n\nfunction parse(path) {\n var keys = [];\n var index = -1;\n var mode = BEFORE_PATH;\n var subPathDepth = 0;\n var c, newChar, key, type, transition, action, typeMap;\n\n var actions = [];\n\n actions[PUSH] = function () {\n if (key !== undefined) {\n keys.push(key);\n key = undefined;\n }\n };\n\n actions[APPEND] = function () {\n if (key === undefined) {\n key = newChar;\n } else {\n key += newChar;\n }\n };\n\n actions[INC_SUB_PATH_DEPTH] = function () {\n actions[APPEND]();\n subPathDepth++;\n };\n\n actions[PUSH_SUB_PATH] = function () {\n if (subPathDepth > 0) {\n subPathDepth--;\n mode = IN_SUB_PATH;\n actions[APPEND]();\n } else {\n subPathDepth = 0;\n key = formatSubPath(key);\n if (key === false) {\n return false;\n } else {\n actions[PUSH]();\n }\n }\n };\n\n function maybeUnescapeQuote() {\n var nextChar = path[index + 1];\n if (mode === IN_SINGLE_QUOTE && nextChar === \"'\" || mode === IN_DOUBLE_QUOTE && nextChar === '\"') {\n index++;\n newChar = '\\\\' + nextChar;\n actions[APPEND]();\n return true;\n }\n }\n\n while (mode != null) {\n index++;\n c = path[index];\n\n if (c === '\\\\' && maybeUnescapeQuote()) {\n continue;\n }\n\n type = getPathCharType(c);\n typeMap = pathStateMachine[mode];\n transition = typeMap[type] || typeMap['else'] || ERROR;\n\n if (transition === ERROR) {\n return; // parse error\n }\n\n mode = transition[0];\n action = actions[transition[1]];\n if (action) {\n newChar = transition[2];\n newChar = newChar === undefined ? c : newChar;\n if (action() === false) {\n return;\n }\n }\n\n if (mode === AFTER_PATH) {\n keys.raw = path;\n return keys;\n }\n }\n}\n\n/**\n * External parse that check for a cache hit first\n *\n * @param {String} path\n * @return {Array|undefined}\n */\n\nfunction parsePath(path) {\n var hit = pathCache.get(path);\n if (!hit) {\n hit = parse(path);\n if (hit) {\n pathCache.put(path, hit);\n }\n }\n return hit;\n}\n\n/**\n * Get from an object from a path string\n *\n * @param {Object} obj\n * @param {String} path\n */\n\nfunction getPath(obj, path) {\n return parseExpression(path).get(obj);\n}\n\n/**\n * Warn against setting non-existent root path on a vm.\n */\n\nvar warnNonExistent;\nif (process.env.NODE_ENV !== 'production') {\n warnNonExistent = function (path, vm) {\n warn('You are setting a non-existent path \"' + path.raw + '\" ' + 'on a vm instance. Consider pre-initializing the property ' + 'with the \"data\" option for more reliable reactivity ' + 'and better performance.', vm);\n };\n}\n\n/**\n * Set on an object from a path\n *\n * @param {Object} obj\n * @param {String | Array} path\n * @param {*} val\n */\n\nfunction setPath(obj, path, val) {\n var original = obj;\n if (typeof path === 'string') {\n path = parse(path);\n }\n if (!path || !isObject(obj)) {\n return false;\n }\n var last, key;\n for (var i = 0, l = path.length; i < l; i++) {\n last = obj;\n key = path[i];\n if (key.charAt(0) === '*') {\n key = parseExpression(key.slice(1)).get.call(original, original);\n }\n if (i < l - 1) {\n obj = obj[key];\n if (!isObject(obj)) {\n obj = {};\n if (process.env.NODE_ENV !== 'production' && last._isVue) {\n warnNonExistent(path, last);\n }\n set(last, key, obj);\n }\n } else {\n if (isArray(obj)) {\n obj.$set(key, val);\n } else if (key in obj) {\n obj[key] = val;\n } else {\n if (process.env.NODE_ENV !== 'production' && obj._isVue) {\n warnNonExistent(path, obj);\n }\n set(obj, key, val);\n }\n }\n }\n return true;\n}\n\nvar path = Object.freeze({\n parsePath: parsePath,\n getPath: getPath,\n setPath: setPath\n});\n\nvar expressionCache = new Cache(1000);\n\nvar allowedKeywords = 'Math,Date,this,true,false,null,undefined,Infinity,NaN,' + 'isNaN,isFinite,decodeURI,decodeURIComponent,encodeURI,' + 'encodeURIComponent,parseInt,parseFloat';\nvar allowedKeywordsRE = new RegExp('^(' + allowedKeywords.replace(/,/g, '\\\\b|') + '\\\\b)');\n\n// keywords that don't make sense inside expressions\nvar improperKeywords = 'break,case,class,catch,const,continue,debugger,default,' + 'delete,do,else,export,extends,finally,for,function,if,' + 'import,in,instanceof,let,return,super,switch,throw,try,' + 'var,while,with,yield,enum,await,implements,package,' + 'protected,static,interface,private,public';\nvar improperKeywordsRE = new RegExp('^(' + improperKeywords.replace(/,/g, '\\\\b|') + '\\\\b)');\n\nvar wsRE = /\\s/g;\nvar newlineRE = /\\n/g;\nvar saveRE = /[\\{,]\\s*[\\w\\$_]+\\s*:|('(?:[^'\\\\]|\\\\.)*'|\"(?:[^\"\\\\]|\\\\.)*\"|`(?:[^`\\\\]|\\\\.)*\\$\\{|\\}(?:[^`\\\\]|\\\\.)*`|`(?:[^`\\\\]|\\\\.)*`)|new |typeof |void /g;\nvar restoreRE = /\"(\\d+)\"/g;\nvar pathTestRE = /^[A-Za-z_$][\\w$]*(?:\\.[A-Za-z_$][\\w$]*|\\['.*?'\\]|\\[\".*?\"\\]|\\[\\d+\\]|\\[[A-Za-z_$][\\w$]*\\])*$/;\nvar identRE = /[^\\w$\\.](?:[A-Za-z_$][\\w$]*)/g;\nvar booleanLiteralRE = /^(?:true|false)$/;\n\n/**\n * Save / Rewrite / Restore\n *\n * When rewriting paths found in an expression, it is\n * possible for the same letter sequences to be found in\n * strings and Object literal property keys. Therefore we\n * remove and store these parts in a temporary array, and\n * restore them after the path rewrite.\n */\n\nvar saved = [];\n\n/**\n * Save replacer\n *\n * The save regex can match two possible cases:\n * 1. An opening object literal\n * 2. A string\n * If matched as a plain string, we need to escape its\n * newlines, since the string needs to be preserved when\n * generating the function body.\n *\n * @param {String} str\n * @param {String} isString - str if matched as a string\n * @return {String} - placeholder with index\n */\n\nfunction save(str, isString) {\n var i = saved.length;\n saved[i] = isString ? str.replace(newlineRE, '\\\\n') : str;\n return '\"' + i + '\"';\n}\n\n/**\n * Path rewrite replacer\n *\n * @param {String} raw\n * @return {String}\n */\n\nfunction rewrite(raw) {\n var c = raw.charAt(0);\n var path = raw.slice(1);\n if (allowedKeywordsRE.test(path)) {\n return raw;\n } else {\n path = path.indexOf('\"') > -1 ? path.replace(restoreRE, restore) : path;\n return c + 'scope.' + path;\n }\n}\n\n/**\n * Restore replacer\n *\n * @param {String} str\n * @param {String} i - matched save index\n * @return {String}\n */\n\nfunction restore(str, i) {\n return saved[i];\n}\n\n/**\n * Rewrite an expression, prefixing all path accessors with\n * `scope.` and generate getter/setter functions.\n *\n * @param {String} exp\n * @return {Function}\n */\n\nfunction compileGetter(exp) {\n if (improperKeywordsRE.test(exp)) {\n process.env.NODE_ENV !== 'production' && warn('Avoid using reserved keywords in expression: ' + exp);\n }\n // reset state\n saved.length = 0;\n // save strings and object literal keys\n var body = exp.replace(saveRE, save).replace(wsRE, '');\n // rewrite all paths\n // pad 1 space here becaue the regex matches 1 extra char\n body = (' ' + body).replace(identRE, rewrite).replace(restoreRE, restore);\n return makeGetterFn(body);\n}\n\n/**\n * Build a getter function. Requires eval.\n *\n * We isolate the try/catch so it doesn't affect the\n * optimization of the parse function when it is not called.\n *\n * @param {String} body\n * @return {Function|undefined}\n */\n\nfunction makeGetterFn(body) {\n try {\n /* eslint-disable no-new-func */\n return new Function('scope', 'return ' + body + ';');\n /* eslint-enable no-new-func */\n } catch (e) {\n process.env.NODE_ENV !== 'production' && warn('Invalid expression. ' + 'Generated function body: ' + body);\n }\n}\n\n/**\n * Compile a setter function for the expression.\n *\n * @param {String} exp\n * @return {Function|undefined}\n */\n\nfunction compileSetter(exp) {\n var path = parsePath(exp);\n if (path) {\n return function (scope, val) {\n setPath(scope, path, val);\n };\n } else {\n process.env.NODE_ENV !== 'production' && warn('Invalid setter expression: ' + exp);\n }\n}\n\n/**\n * Parse an expression into re-written getter/setters.\n *\n * @param {String} exp\n * @param {Boolean} needSet\n * @return {Function}\n */\n\nfunction parseExpression(exp, needSet) {\n exp = exp.trim();\n // try cache\n var hit = expressionCache.get(exp);\n if (hit) {\n if (needSet && !hit.set) {\n hit.set = compileSetter(hit.exp);\n }\n return hit;\n }\n var res = { exp: exp };\n res.get = isSimplePath(exp) && exp.indexOf('[') < 0\n // optimized super simple getter\n ? makeGetterFn('scope.' + exp)\n // dynamic getter\n : compileGetter(exp);\n if (needSet) {\n res.set = compileSetter(exp);\n }\n expressionCache.put(exp, res);\n return res;\n}\n\n/**\n * Check if an expression is a simple path.\n *\n * @param {String} exp\n * @return {Boolean}\n */\n\nfunction isSimplePath(exp) {\n return pathTestRE.test(exp) &&\n // don't treat true/false as paths\n !booleanLiteralRE.test(exp) &&\n // Math constants e.g. Math.PI, Math.E etc.\n exp.slice(0, 5) !== 'Math.';\n}\n\nvar expression = Object.freeze({\n parseExpression: parseExpression,\n isSimplePath: isSimplePath\n});\n\n// we have two separate queues: one for directive updates\n// and one for user watcher registered via $watch().\n// we want to guarantee directive updates to be called\n// before user watchers so that when user watchers are\n// triggered, the DOM would have already been in updated\n// state.\n\nvar queueIndex;\nvar queue = [];\nvar userQueue = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar internalQueueDepleted = false;\n\n/**\n * Reset the batcher's state.\n */\n\nfunction resetBatcherState() {\n queue = [];\n userQueue = [];\n has = {};\n circular = {};\n waiting = internalQueueDepleted = false;\n}\n\n/**\n * Flush both queues and run the watchers.\n */\n\nfunction flushBatcherQueue() {\n runBatcherQueue(queue);\n internalQueueDepleted = true;\n runBatcherQueue(userQueue);\n // dev tool hook\n /* istanbul ignore if */\n if (devtools && config.devtools) {\n devtools.emit('flush');\n }\n resetBatcherState();\n}\n\n/**\n * Run the watchers in a single queue.\n *\n * @param {Array} queue\n */\n\nfunction runBatcherQueue(queue) {\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (queueIndex = 0; queueIndex < queue.length; queueIndex++) {\n var watcher = queue[queueIndex];\n var id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (process.env.NODE_ENV !== 'production' && has[id] != null) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > config._maxUpdateCount) {\n warn('You may have an infinite update loop for watcher ' + 'with expression \"' + watcher.expression + '\"', watcher.vm);\n break;\n }\n }\n }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n *\n * @param {Watcher} watcher\n * properties:\n * - {Number} id\n * - {Function} run\n */\n\nfunction pushWatcher(watcher) {\n var id = watcher.id;\n if (has[id] == null) {\n if (internalQueueDepleted && !watcher.user) {\n // an internal watcher triggered by a user watcher...\n // let's run it immediately after current user watcher is done.\n userQueue.splice(queueIndex + 1, 0, watcher);\n } else {\n // push watcher into appropriate queue\n var q = watcher.user ? userQueue : queue;\n has[id] = q.length;\n q.push(watcher);\n // queue the flush\n if (!waiting) {\n waiting = true;\n nextTick(flushBatcherQueue);\n }\n }\n }\n}\n\nvar uid$2 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n *\n * @param {Vue} vm\n * @param {String|Function} expOrFn\n * @param {Function} cb\n * @param {Object} options\n * - {Array} filters\n * - {Boolean} twoWay\n * - {Boolean} deep\n * - {Boolean} user\n * - {Boolean} sync\n * - {Boolean} lazy\n * - {Function} [preProcess]\n * - {Function} [postProcess]\n * @constructor\n */\nfunction Watcher(vm, expOrFn, cb, options) {\n // mix in options\n if (options) {\n extend(this, options);\n }\n var isFn = typeof expOrFn === 'function';\n this.vm = vm;\n vm._watchers.push(this);\n this.expression = expOrFn;\n this.cb = cb;\n this.id = ++uid$2; // uid for batching\n this.active = true;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = [];\n this.newDeps = [];\n this.depIds = Object.create(null);\n this.newDepIds = null;\n this.prevError = null; // for async error stacks\n // parse expression for getter/setter\n if (isFn) {\n this.getter = expOrFn;\n this.setter = undefined;\n } else {\n var res = parseExpression(expOrFn, this.twoWay);\n this.getter = res.get;\n this.setter = res.set;\n }\n this.value = this.lazy ? undefined : this.get();\n // state for avoiding false triggers for deep and Array\n // watchers during vm._digest()\n this.queued = this.shallow = false;\n}\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\n\nWatcher.prototype.get = function () {\n this.beforeGet();\n var scope = this.scope || this.vm;\n var value;\n try {\n value = this.getter.call(scope, scope);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && config.warnExpressionErrors) {\n warn('Error when evaluating expression ' + '\"' + this.expression + '\": ' + e.toString(), this.vm);\n }\n }\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n if (this.preProcess) {\n value = this.preProcess(value);\n }\n if (this.filters) {\n value = scope._applyFilters(value, null, this.filters, false);\n }\n if (this.postProcess) {\n value = this.postProcess(value);\n }\n this.afterGet();\n return value;\n};\n\n/**\n * Set the corresponding value with the setter.\n *\n * @param {*} value\n */\n\nWatcher.prototype.set = function (value) {\n var scope = this.scope || this.vm;\n if (this.filters) {\n value = scope._applyFilters(value, this.value, this.filters, true);\n }\n try {\n this.setter.call(scope, scope, value);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && config.warnExpressionErrors) {\n warn('Error when evaluating setter ' + '\"' + this.expression + '\": ' + e.toString(), this.vm);\n }\n }\n // two-way sync for v-for alias\n var forContext = scope.$forContext;\n if (forContext && forContext.alias === this.expression) {\n if (forContext.filters) {\n process.env.NODE_ENV !== 'production' && warn('It seems you are using two-way binding on ' + 'a v-for alias (' + this.expression + '), and the ' + 'v-for has filters. This will not work properly. ' + 'Either remove the filters or use an array of ' + 'objects and bind to object properties instead.', this.vm);\n return;\n }\n forContext._withLock(function () {\n if (scope.$key) {\n // original is an object\n forContext.rawValue[scope.$key] = value;\n } else {\n forContext.rawValue.$set(scope.$index, value);\n }\n });\n }\n};\n\n/**\n * Prepare for dependency collection.\n */\n\nWatcher.prototype.beforeGet = function () {\n Dep.target = this;\n this.newDepIds = Object.create(null);\n this.newDeps.length = 0;\n};\n\n/**\n * Add a dependency to this directive.\n *\n * @param {Dep} dep\n */\n\nWatcher.prototype.addDep = function (dep) {\n var id = dep.id;\n if (!this.newDepIds[id]) {\n this.newDepIds[id] = true;\n this.newDeps.push(dep);\n if (!this.depIds[id]) {\n dep.addSub(this);\n }\n }\n};\n\n/**\n * Clean up for dependency collection.\n */\n\nWatcher.prototype.afterGet = function () {\n Dep.target = null;\n var i = this.deps.length;\n while (i--) {\n var dep = this.deps[i];\n if (!this.newDepIds[dep.id]) {\n dep.removeSub(this);\n }\n }\n this.depIds = this.newDepIds;\n var tmp = this.deps;\n this.deps = this.newDeps;\n this.newDeps = tmp;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n *\n * @param {Boolean} shallow\n */\n\nWatcher.prototype.update = function (shallow) {\n if (this.lazy) {\n this.dirty = true;\n } else if (this.sync || !config.async) {\n this.run();\n } else {\n // if queued, only overwrite shallow with non-shallow,\n // but not the other way around.\n this.shallow = this.queued ? shallow ? this.shallow : false : !!shallow;\n this.queued = true;\n // record before-push error stack in debug mode\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.debug) {\n this.prevError = new Error('[vue] async stack trace');\n }\n pushWatcher(this);\n }\n};\n\n/**\n * Batcher job interface.\n * Will be called by the batcher.\n */\n\nWatcher.prototype.run = function () {\n if (this.active) {\n var value = this.get();\n if (value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated; but only do so if this is a\n // non-shallow update (caused by a vm digest).\n (isObject(value) || this.deep) && !this.shallow) {\n // set new value\n var oldValue = this.value;\n this.value = value;\n // in debug + async mode, when a watcher callbacks\n // throws, we also throw the saved before-push error\n // so the full cross-tick stack trace is available.\n var prevError = this.prevError;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.debug && prevError) {\n this.prevError = null;\n try {\n this.cb.call(this.vm, value, oldValue);\n } catch (e) {\n nextTick(function () {\n throw prevError;\n }, 0);\n throw e;\n }\n } else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n this.queued = this.shallow = false;\n }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\n\nWatcher.prototype.evaluate = function () {\n // avoid overwriting another watcher that is being\n // collected.\n var current = Dep.target;\n this.value = this.get();\n this.dirty = false;\n Dep.target = current;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\n\nWatcher.prototype.depend = function () {\n var i = this.deps.length;\n while (i--) {\n this.deps[i].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subcriber list.\n */\n\nWatcher.prototype.teardown = function () {\n if (this.active) {\n // remove self from vm's watcher list\n // this is a somewhat expensive operation so we skip it\n // if the vm is being destroyed or is performing a v-for\n // re-render (the watcher list is then filtered by v-for).\n if (!this.vm._isBeingDestroyed && !this.vm._vForRemoving) {\n this.vm._watchers.$remove(this);\n }\n var i = this.deps.length;\n while (i--) {\n this.deps[i].removeSub(this);\n }\n this.active = false;\n this.vm = this.cb = this.value = null;\n }\n};\n\n/**\n * Recrusively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n *\n * @param {*} val\n */\n\nfunction traverse(val) {\n var i, keys;\n if (isArray(val)) {\n i = val.length;\n while (i--) traverse(val[i]);\n } else if (isObject(val)) {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) traverse(val[keys[i]]);\n }\n}\n\nvar text$1 = {\n\n bind: function bind() {\n this.attr = this.el.nodeType === 3 ? 'data' : 'textContent';\n },\n\n update: function update(value) {\n this.el[this.attr] = _toString(value);\n }\n};\n\nvar templateCache = new Cache(1000);\nvar idSelectorCache = new Cache(1000);\n\nvar map = {\n efault: [0, '', ''],\n legend: [1, '
', '
'],\n tr: [2, '', '
'],\n col: [2, '', '
']\n};\n\nmap.td = map.th = [3, '', '
'];\n\nmap.option = map.optgroup = [1, ''];\n\nmap.thead = map.tbody = map.colgroup = map.caption = map.tfoot = [1, '', '
'];\n\nmap.g = map.defs = map.symbol = map.use = map.image = map.text = map.circle = map.ellipse = map.line = map.path = map.polygon = map.polyline = map.rect = [1, '', ''];\n\n/**\n * Check if a node is a supported template node with a\n * DocumentFragment content.\n *\n * @param {Node} node\n * @return {Boolean}\n */\n\nfunction isRealTemplate(node) {\n return isTemplate(node) && isFragment(node.content);\n}\n\nvar tagRE$1 = /<([\\w:-]+)/;\nvar entityRE = /&#?\\w+?;/;\n\n/**\n * Convert a string template to a DocumentFragment.\n * Determines correct wrapping by tag types. Wrapping\n * strategy found in jQuery & component/domify.\n *\n * @param {String} templateString\n * @param {Boolean} raw\n * @return {DocumentFragment}\n */\n\nfunction stringToFragment(templateString, raw) {\n // try a cache hit first\n var cacheKey = raw ? templateString : templateString.trim();\n var hit = templateCache.get(cacheKey);\n if (hit) {\n return hit;\n }\n\n var frag = document.createDocumentFragment();\n var tagMatch = templateString.match(tagRE$1);\n var entityMatch = entityRE.test(templateString);\n\n if (!tagMatch && !entityMatch) {\n // text only, return a single text node.\n frag.appendChild(document.createTextNode(templateString));\n } else {\n var tag = tagMatch && tagMatch[1];\n var wrap = map[tag] || map.efault;\n var depth = wrap[0];\n var prefix = wrap[1];\n var suffix = wrap[2];\n var node = document.createElement('div');\n\n node.innerHTML = prefix + templateString + suffix;\n while (depth--) {\n node = node.lastChild;\n }\n\n var child;\n /* eslint-disable no-cond-assign */\n while (child = node.firstChild) {\n /* eslint-enable no-cond-assign */\n frag.appendChild(child);\n }\n }\n if (!raw) {\n trimNode(frag);\n }\n templateCache.put(cacheKey, frag);\n return frag;\n}\n\n/**\n * Convert a template node to a DocumentFragment.\n *\n * @param {Node} node\n * @return {DocumentFragment}\n */\n\nfunction nodeToFragment(node) {\n // if its a template tag and the browser supports it,\n // its content is already a document fragment.\n if (isRealTemplate(node)) {\n trimNode(node.content);\n return node.content;\n }\n // script template\n if (node.tagName === 'SCRIPT') {\n return stringToFragment(node.textContent);\n }\n // normal node, clone it to avoid mutating the original\n var clonedNode = cloneNode(node);\n var frag = document.createDocumentFragment();\n var child;\n /* eslint-disable no-cond-assign */\n while (child = clonedNode.firstChild) {\n /* eslint-enable no-cond-assign */\n frag.appendChild(child);\n }\n trimNode(frag);\n return frag;\n}\n\n// Test for the presence of the Safari template cloning bug\n// https://bugs.webkit.org/showug.cgi?id=137755\nvar hasBrokenTemplate = (function () {\n /* istanbul ignore else */\n if (inBrowser) {\n var a = document.createElement('div');\n a.innerHTML = '';\n return !a.cloneNode(true).firstChild.innerHTML;\n } else {\n return false;\n }\n})();\n\n// Test for IE10/11 textarea placeholder clone bug\nvar hasTextareaCloneBug = (function () {\n /* istanbul ignore else */\n if (inBrowser) {\n var t = document.createElement('textarea');\n t.placeholder = 't';\n return t.cloneNode(true).value === 't';\n } else {\n return false;\n }\n})();\n\n/**\n * 1. Deal with Safari cloning nested