that is identified by id #documenter.
+ */
+ /*!
+ Theme: a11y-dark
+ Author: @ericwbailey
+ Maintainer: @ericwbailey
+
+ Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css
+*/
+ /* Comment */
+ /* Red */
+ /* Orange */
+ /* Yellow */
+ /* Green */
+ /* Blue */
+ /* Purple */ }
+ html.theme--documenter-dark html {
+ background-color: #1f2424;
+ font-size: 16px;
+ -moz-osx-font-smoothing: grayscale;
+ -webkit-font-smoothing: antialiased;
+ min-width: 300px;
+ overflow-x: auto;
+ overflow-y: scroll;
+ text-rendering: optimizeLegibility;
+ text-size-adjust: 100%; }
+ html.theme--documenter-dark article,
+ html.theme--documenter-dark aside,
+ html.theme--documenter-dark figure,
+ html.theme--documenter-dark footer,
+ html.theme--documenter-dark header,
+ html.theme--documenter-dark hgroup,
+ html.theme--documenter-dark section {
+ display: block; }
+ html.theme--documenter-dark body,
+ html.theme--documenter-dark button,
+ html.theme--documenter-dark input,
+ html.theme--documenter-dark select,
+ html.theme--documenter-dark textarea {
+ font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
+ html.theme--documenter-dark code,
+ html.theme--documenter-dark pre {
+ -moz-osx-font-smoothing: auto;
+ -webkit-font-smoothing: auto;
+ font-family: "JuliaMono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace; }
+ html.theme--documenter-dark body {
+ color: #fff;
+ font-size: 1em;
+ font-weight: 400;
+ line-height: 1.5; }
+ html.theme--documenter-dark a {
+ color: #1abc9c;
+ cursor: pointer;
+ text-decoration: none; }
+ html.theme--documenter-dark a strong {
+ color: currentColor; }
+ html.theme--documenter-dark a:hover {
+ color: #1dd2af; }
+ html.theme--documenter-dark code {
+ background-color: rgba(255, 255, 255, 0.05);
+ color: #ececec;
+ font-size: 0.875em;
+ font-weight: normal;
+ padding: 0.1em; }
+ html.theme--documenter-dark hr {
+ background-color: #282f2f;
+ border: none;
+ display: block;
+ height: 2px;
+ margin: 1.5rem 0; }
+ html.theme--documenter-dark img {
+ height: auto;
+ max-width: 100%; }
+ html.theme--documenter-dark input[type="checkbox"],
+ html.theme--documenter-dark input[type="radio"] {
+ vertical-align: baseline; }
+ html.theme--documenter-dark small {
+ font-size: 0.875em; }
+ html.theme--documenter-dark span {
+ font-style: inherit;
+ font-weight: inherit; }
+ html.theme--documenter-dark strong {
+ color: #f2f2f2;
+ font-weight: 700; }
+ html.theme--documenter-dark fieldset {
+ border: none; }
+ html.theme--documenter-dark pre {
+ -webkit-overflow-scrolling: touch;
+ background-color: #282f2f;
+ color: #fff;
+ font-size: 0.875em;
+ overflow-x: auto;
+ padding: 1.25rem 1.5rem;
+ white-space: pre;
+ word-wrap: normal; }
+ html.theme--documenter-dark pre code {
+ background-color: transparent;
+ color: currentColor;
+ font-size: 1em;
+ padding: 0; }
+ html.theme--documenter-dark table td,
+ html.theme--documenter-dark table th {
+ vertical-align: top; }
+ html.theme--documenter-dark table td:not([align]),
+ html.theme--documenter-dark table th:not([align]) {
+ text-align: left; }
+ html.theme--documenter-dark table th {
+ color: #f2f2f2; }
+ html.theme--documenter-dark .box {
+ background-color: #343c3d;
+ border-radius: 8px;
+ box-shadow: none;
+ color: #fff;
+ display: block;
+ padding: 1.25rem; }
+ html.theme--documenter-dark a.box:hover, html.theme--documenter-dark a.box:focus {
+ box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px #1abc9c; }
+ html.theme--documenter-dark a.box:active {
+ box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2), 0 0 0 1px #1abc9c; }
+ html.theme--documenter-dark .button {
+ background-color: #282f2f;
+ border-color: #4c5759;
+ border-width: 1px;
+ color: #375a7f;
+ cursor: pointer;
+ justify-content: center;
+ padding-bottom: calc(0.375em - 1px);
+ padding-left: 0.75em;
+ padding-right: 0.75em;
+ padding-top: calc(0.375em - 1px);
+ text-align: center;
+ white-space: nowrap; }
+ html.theme--documenter-dark .button strong {
+ color: inherit; }
+ html.theme--documenter-dark .button .icon, html.theme--documenter-dark .button .icon.is-small, html.theme--documenter-dark .button #documenter .docs-sidebar form.docs-search > input.icon, html.theme--documenter-dark #documenter .docs-sidebar .button form.docs-search > input.icon, html.theme--documenter-dark .button .icon.is-medium, html.theme--documenter-dark .button .icon.is-large {
+ height: 1.5em;
+ width: 1.5em; }
+ html.theme--documenter-dark .button .icon:first-child:not(:last-child) {
+ margin-left: calc(-0.375em - 1px);
+ margin-right: 0.1875em; }
+ html.theme--documenter-dark .button .icon:last-child:not(:first-child) {
+ margin-left: 0.1875em;
+ margin-right: calc(-0.375em - 1px); }
+ html.theme--documenter-dark .button .icon:first-child:last-child {
+ margin-left: calc(-0.375em - 1px);
+ margin-right: calc(-0.375em - 1px); }
+ html.theme--documenter-dark .button:hover, html.theme--documenter-dark .button.is-hovered {
+ border-color: #8c9b9d;
+ color: #f2f2f2; }
+ html.theme--documenter-dark .button:focus, html.theme--documenter-dark .button.is-focused {
+ border-color: #8c9b9d;
+ color: #17a689; }
+ html.theme--documenter-dark .button:focus:not(:active), html.theme--documenter-dark .button.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); }
+ html.theme--documenter-dark .button:active, html.theme--documenter-dark .button.is-active {
+ border-color: #343c3d;
+ color: #f2f2f2; }
+ html.theme--documenter-dark .button.is-text {
+ background-color: transparent;
+ border-color: transparent;
+ color: #fff;
+ text-decoration: underline; }
+ html.theme--documenter-dark .button.is-text:hover, html.theme--documenter-dark .button.is-text.is-hovered, html.theme--documenter-dark .button.is-text:focus, html.theme--documenter-dark .button.is-text.is-focused {
+ background-color: #282f2f;
+ color: #f2f2f2; }
+ html.theme--documenter-dark .button.is-text:active, html.theme--documenter-dark .button.is-text.is-active {
+ background-color: #1d2122;
+ color: #f2f2f2; }
+ html.theme--documenter-dark .button.is-text[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-text {
+ background-color: transparent;
+ border-color: transparent;
+ box-shadow: none; }
+ html.theme--documenter-dark .button.is-white {
+ background-color: white;
+ border-color: transparent;
+ color: #0a0a0a; }
+ html.theme--documenter-dark .button.is-white:hover, html.theme--documenter-dark .button.is-white.is-hovered {
+ background-color: #f9f9f9;
+ border-color: transparent;
+ color: #0a0a0a; }
+ html.theme--documenter-dark .button.is-white:focus, html.theme--documenter-dark .button.is-white.is-focused {
+ border-color: transparent;
+ color: #0a0a0a; }
+ html.theme--documenter-dark .button.is-white:focus:not(:active), html.theme--documenter-dark .button.is-white.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
+ html.theme--documenter-dark .button.is-white:active, html.theme--documenter-dark .button.is-white.is-active {
+ background-color: #f2f2f2;
+ border-color: transparent;
+ color: #0a0a0a; }
+ html.theme--documenter-dark .button.is-white[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-white {
+ background-color: white;
+ border-color: transparent;
+ box-shadow: none; }
+ html.theme--documenter-dark .button.is-white.is-inverted {
+ background-color: #0a0a0a;
+ color: white; }
+ html.theme--documenter-dark .button.is-white.is-inverted:hover, html.theme--documenter-dark .button.is-white.is-inverted.is-hovered {
+ background-color: black; }
+ html.theme--documenter-dark .button.is-white.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-white.is-inverted {
+ background-color: #0a0a0a;
+ border-color: transparent;
+ box-shadow: none;
+ color: white; }
+ html.theme--documenter-dark .button.is-white.is-loading::after {
+ border-color: transparent transparent #0a0a0a #0a0a0a !important; }
+ html.theme--documenter-dark .button.is-white.is-outlined {
+ background-color: transparent;
+ border-color: white;
+ color: white; }
+ html.theme--documenter-dark .button.is-white.is-outlined:hover, html.theme--documenter-dark .button.is-white.is-outlined.is-hovered, html.theme--documenter-dark .button.is-white.is-outlined:focus, html.theme--documenter-dark .button.is-white.is-outlined.is-focused {
+ background-color: white;
+ border-color: white;
+ color: #0a0a0a; }
+ html.theme--documenter-dark .button.is-white.is-outlined.is-loading::after {
+ border-color: transparent transparent white white !important; }
+ html.theme--documenter-dark .button.is-white.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-white.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-white.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-white.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #0a0a0a #0a0a0a !important; }
+ html.theme--documenter-dark .button.is-white.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-white.is-outlined {
+ background-color: transparent;
+ border-color: white;
+ box-shadow: none;
+ color: white; }
+ html.theme--documenter-dark .button.is-white.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #0a0a0a;
+ color: #0a0a0a; }
+ html.theme--documenter-dark .button.is-white.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-focused {
+ background-color: #0a0a0a;
+ color: white; }
+ html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent white white !important; }
+ html.theme--documenter-dark .button.is-white.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-white.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #0a0a0a;
+ box-shadow: none;
+ color: #0a0a0a; }
+ html.theme--documenter-dark .button.is-black {
+ background-color: #0a0a0a;
+ border-color: transparent;
+ color: white; }
+ html.theme--documenter-dark .button.is-black:hover, html.theme--documenter-dark .button.is-black.is-hovered {
+ background-color: #040404;
+ border-color: transparent;
+ color: white; }
+ html.theme--documenter-dark .button.is-black:focus, html.theme--documenter-dark .button.is-black.is-focused {
+ border-color: transparent;
+ color: white; }
+ html.theme--documenter-dark .button.is-black:focus:not(:active), html.theme--documenter-dark .button.is-black.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
+ html.theme--documenter-dark .button.is-black:active, html.theme--documenter-dark .button.is-black.is-active {
+ background-color: black;
+ border-color: transparent;
+ color: white; }
+ html.theme--documenter-dark .button.is-black[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-black {
+ background-color: #0a0a0a;
+ border-color: transparent;
+ box-shadow: none; }
+ html.theme--documenter-dark .button.is-black.is-inverted {
+ background-color: white;
+ color: #0a0a0a; }
+ html.theme--documenter-dark .button.is-black.is-inverted:hover, html.theme--documenter-dark .button.is-black.is-inverted.is-hovered {
+ background-color: #f2f2f2; }
+ html.theme--documenter-dark .button.is-black.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-black.is-inverted {
+ background-color: white;
+ border-color: transparent;
+ box-shadow: none;
+ color: #0a0a0a; }
+ html.theme--documenter-dark .button.is-black.is-loading::after {
+ border-color: transparent transparent white white !important; }
+ html.theme--documenter-dark .button.is-black.is-outlined {
+ background-color: transparent;
+ border-color: #0a0a0a;
+ color: #0a0a0a; }
+ html.theme--documenter-dark .button.is-black.is-outlined:hover, html.theme--documenter-dark .button.is-black.is-outlined.is-hovered, html.theme--documenter-dark .button.is-black.is-outlined:focus, html.theme--documenter-dark .button.is-black.is-outlined.is-focused {
+ background-color: #0a0a0a;
+ border-color: #0a0a0a;
+ color: white; }
+ html.theme--documenter-dark .button.is-black.is-outlined.is-loading::after {
+ border-color: transparent transparent #0a0a0a #0a0a0a !important; }
+ html.theme--documenter-dark .button.is-black.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-black.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-black.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-black.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent white white !important; }
+ html.theme--documenter-dark .button.is-black.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-black.is-outlined {
+ background-color: transparent;
+ border-color: #0a0a0a;
+ box-shadow: none;
+ color: #0a0a0a; }
+ html.theme--documenter-dark .button.is-black.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: white;
+ color: white; }
+ html.theme--documenter-dark .button.is-black.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-focused {
+ background-color: white;
+ color: #0a0a0a; }
+ html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #0a0a0a #0a0a0a !important; }
+ html.theme--documenter-dark .button.is-black.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-black.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: white;
+ box-shadow: none;
+ color: white; }
+ html.theme--documenter-dark .button.is-light {
+ background-color: #ecf0f1;
+ border-color: transparent;
+ color: #282f2f; }
+ html.theme--documenter-dark .button.is-light:hover, html.theme--documenter-dark .button.is-light.is-hovered {
+ background-color: #e5eaec;
+ border-color: transparent;
+ color: #282f2f; }
+ html.theme--documenter-dark .button.is-light:focus, html.theme--documenter-dark .button.is-light.is-focused {
+ border-color: transparent;
+ color: #282f2f; }
+ html.theme--documenter-dark .button.is-light:focus:not(:active), html.theme--documenter-dark .button.is-light.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(236, 240, 241, 0.25); }
+ html.theme--documenter-dark .button.is-light:active, html.theme--documenter-dark .button.is-light.is-active {
+ background-color: #dde4e6;
+ border-color: transparent;
+ color: #282f2f; }
+ html.theme--documenter-dark .button.is-light[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-light {
+ background-color: #ecf0f1;
+ border-color: transparent;
+ box-shadow: none; }
+ html.theme--documenter-dark .button.is-light.is-inverted {
+ background-color: #282f2f;
+ color: #ecf0f1; }
+ html.theme--documenter-dark .button.is-light.is-inverted:hover, html.theme--documenter-dark .button.is-light.is-inverted.is-hovered {
+ background-color: #1d2122; }
+ html.theme--documenter-dark .button.is-light.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-light.is-inverted {
+ background-color: #282f2f;
+ border-color: transparent;
+ box-shadow: none;
+ color: #ecf0f1; }
+ html.theme--documenter-dark .button.is-light.is-loading::after {
+ border-color: transparent transparent #282f2f #282f2f !important; }
+ html.theme--documenter-dark .button.is-light.is-outlined {
+ background-color: transparent;
+ border-color: #ecf0f1;
+ color: #ecf0f1; }
+ html.theme--documenter-dark .button.is-light.is-outlined:hover, html.theme--documenter-dark .button.is-light.is-outlined.is-hovered, html.theme--documenter-dark .button.is-light.is-outlined:focus, html.theme--documenter-dark .button.is-light.is-outlined.is-focused {
+ background-color: #ecf0f1;
+ border-color: #ecf0f1;
+ color: #282f2f; }
+ html.theme--documenter-dark .button.is-light.is-outlined.is-loading::after {
+ border-color: transparent transparent #ecf0f1 #ecf0f1 !important; }
+ html.theme--documenter-dark .button.is-light.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-light.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-light.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-light.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #282f2f #282f2f !important; }
+ html.theme--documenter-dark .button.is-light.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-light.is-outlined {
+ background-color: transparent;
+ border-color: #ecf0f1;
+ box-shadow: none;
+ color: #ecf0f1; }
+ html.theme--documenter-dark .button.is-light.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #282f2f;
+ color: #282f2f; }
+ html.theme--documenter-dark .button.is-light.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-focused {
+ background-color: #282f2f;
+ color: #ecf0f1; }
+ html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #ecf0f1 #ecf0f1 !important; }
+ html.theme--documenter-dark .button.is-light.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-light.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #282f2f;
+ box-shadow: none;
+ color: #282f2f; }
+ html.theme--documenter-dark .button.is-dark, html.theme--documenter-dark .content kbd.button {
+ background-color: #282f2f;
+ border-color: transparent;
+ color: #ecf0f1; }
+ html.theme--documenter-dark .button.is-dark:hover, html.theme--documenter-dark .content kbd.button:hover, html.theme--documenter-dark .button.is-dark.is-hovered, html.theme--documenter-dark .content kbd.button.is-hovered {
+ background-color: #232829;
+ border-color: transparent;
+ color: #ecf0f1; }
+ html.theme--documenter-dark .button.is-dark:focus, html.theme--documenter-dark .content kbd.button:focus, html.theme--documenter-dark .button.is-dark.is-focused, html.theme--documenter-dark .content kbd.button.is-focused {
+ border-color: transparent;
+ color: #ecf0f1; }
+ html.theme--documenter-dark .button.is-dark:focus:not(:active), html.theme--documenter-dark .content kbd.button:focus:not(:active), html.theme--documenter-dark .button.is-dark.is-focused:not(:active), html.theme--documenter-dark .content kbd.button.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(40, 47, 47, 0.25); }
+ html.theme--documenter-dark .button.is-dark:active, html.theme--documenter-dark .content kbd.button:active, html.theme--documenter-dark .button.is-dark.is-active, html.theme--documenter-dark .content kbd.button.is-active {
+ background-color: #1d2122;
+ border-color: transparent;
+ color: #ecf0f1; }
+ html.theme--documenter-dark .button.is-dark[disabled], html.theme--documenter-dark .content kbd.button[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-dark, fieldset[disabled] html.theme--documenter-dark .content kbd.button {
+ background-color: #282f2f;
+ border-color: transparent;
+ box-shadow: none; }
+ html.theme--documenter-dark .button.is-dark.is-inverted, html.theme--documenter-dark .content kbd.button.is-inverted {
+ background-color: #ecf0f1;
+ color: #282f2f; }
+ html.theme--documenter-dark .button.is-dark.is-inverted:hover, html.theme--documenter-dark .content kbd.button.is-inverted:hover, html.theme--documenter-dark .button.is-dark.is-inverted.is-hovered, html.theme--documenter-dark .content kbd.button.is-inverted.is-hovered {
+ background-color: #dde4e6; }
+ html.theme--documenter-dark .button.is-dark.is-inverted[disabled], html.theme--documenter-dark .content kbd.button.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-dark.is-inverted, fieldset[disabled] html.theme--documenter-dark .content kbd.button.is-inverted {
+ background-color: #ecf0f1;
+ border-color: transparent;
+ box-shadow: none;
+ color: #282f2f; }
+ html.theme--documenter-dark .button.is-dark.is-loading::after, html.theme--documenter-dark .content kbd.button.is-loading::after {
+ border-color: transparent transparent #ecf0f1 #ecf0f1 !important; }
+ html.theme--documenter-dark .button.is-dark.is-outlined, html.theme--documenter-dark .content kbd.button.is-outlined {
+ background-color: transparent;
+ border-color: #282f2f;
+ color: #282f2f; }
+ html.theme--documenter-dark .button.is-dark.is-outlined:hover, html.theme--documenter-dark .content kbd.button.is-outlined:hover, html.theme--documenter-dark .button.is-dark.is-outlined.is-hovered, html.theme--documenter-dark .content kbd.button.is-outlined.is-hovered, html.theme--documenter-dark .button.is-dark.is-outlined:focus, html.theme--documenter-dark .content kbd.button.is-outlined:focus, html.theme--documenter-dark .button.is-dark.is-outlined.is-focused, html.theme--documenter-dark .content kbd.button.is-outlined.is-focused {
+ background-color: #282f2f;
+ border-color: #282f2f;
+ color: #ecf0f1; }
+ html.theme--documenter-dark .button.is-dark.is-outlined.is-loading::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading::after {
+ border-color: transparent transparent #282f2f #282f2f !important; }
+ html.theme--documenter-dark .button.is-dark.is-outlined.is-loading:hover::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-dark.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-dark.is-outlined.is-loading:focus::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-dark.is-outlined.is-loading.is-focused::after, html.theme--documenter-dark .content kbd.button.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #ecf0f1 #ecf0f1 !important; }
+ html.theme--documenter-dark .button.is-dark.is-outlined[disabled], html.theme--documenter-dark .content kbd.button.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-dark.is-outlined, fieldset[disabled] html.theme--documenter-dark .content kbd.button.is-outlined {
+ background-color: transparent;
+ border-color: #282f2f;
+ box-shadow: none;
+ color: #282f2f; }
+ html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #ecf0f1;
+ color: #ecf0f1; }
+ html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined:hover, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined:focus, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-focused, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-focused {
+ background-color: #ecf0f1;
+ color: #282f2f; }
+ html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after, html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #282f2f #282f2f !important; }
+ html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined[disabled], html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined, fieldset[disabled] html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #ecf0f1;
+ box-shadow: none;
+ color: #ecf0f1; }
+ html.theme--documenter-dark .button.is-primary, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink {
+ background-color: #375a7f;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-primary:hover, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:hover, html.theme--documenter-dark .button.is-primary.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-hovered.docs-sourcelink {
+ background-color: #335476;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-primary:focus, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:focus, html.theme--documenter-dark .button.is-primary.is-focused, html.theme--documenter-dark .docstring > section > a.button.is-focused.docs-sourcelink {
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-primary:focus:not(:active), html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:focus:not(:active), html.theme--documenter-dark .button.is-primary.is-focused:not(:active), html.theme--documenter-dark .docstring > section > a.button.is-focused.docs-sourcelink:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(55, 90, 127, 0.25); }
+ html.theme--documenter-dark .button.is-primary:active, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:active, html.theme--documenter-dark .button.is-primary.is-active, html.theme--documenter-dark .docstring > section > a.button.is-active.docs-sourcelink {
+ background-color: #2f4d6d;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-primary[disabled], html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-primary, fieldset[disabled] html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink {
+ background-color: #375a7f;
+ border-color: transparent;
+ box-shadow: none; }
+ html.theme--documenter-dark .button.is-primary.is-inverted, html.theme--documenter-dark .docstring > section > a.button.is-inverted.docs-sourcelink {
+ background-color: #fff;
+ color: #375a7f; }
+ html.theme--documenter-dark .button.is-primary.is-inverted:hover, html.theme--documenter-dark .docstring > section > a.button.is-inverted.docs-sourcelink:hover, html.theme--documenter-dark .button.is-primary.is-inverted.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-hovered.docs-sourcelink {
+ background-color: #f2f2f2; }
+ html.theme--documenter-dark .button.is-primary.is-inverted[disabled], html.theme--documenter-dark .docstring > section > a.button.is-inverted.docs-sourcelink[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-primary.is-inverted, fieldset[disabled] html.theme--documenter-dark .docstring > section > a.button.is-inverted.docs-sourcelink {
+ background-color: #fff;
+ border-color: transparent;
+ box-shadow: none;
+ color: #375a7f; }
+ html.theme--documenter-dark .button.is-primary.is-loading::after, html.theme--documenter-dark .docstring > section > a.button.is-loading.docs-sourcelink::after {
+ border-color: transparent transparent #fff #fff !important; }
+ html.theme--documenter-dark .button.is-primary.is-outlined, html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink {
+ background-color: transparent;
+ border-color: #375a7f;
+ color: #375a7f; }
+ html.theme--documenter-dark .button.is-primary.is-outlined:hover, html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink:hover, html.theme--documenter-dark .button.is-primary.is-outlined.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-hovered.docs-sourcelink, html.theme--documenter-dark .button.is-primary.is-outlined:focus, html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink:focus, html.theme--documenter-dark .button.is-primary.is-outlined.is-focused, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-focused.docs-sourcelink {
+ background-color: #375a7f;
+ border-color: #375a7f;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-primary.is-outlined.is-loading::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink::after {
+ border-color: transparent transparent #375a7f #375a7f !important; }
+ html.theme--documenter-dark .button.is-primary.is-outlined.is-loading:hover::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink:hover::after, html.theme--documenter-dark .button.is-primary.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.is-hovered.docs-sourcelink::after, html.theme--documenter-dark .button.is-primary.is-outlined.is-loading:focus::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink:focus::after, html.theme--documenter-dark .button.is-primary.is-outlined.is-loading.is-focused::after, html.theme--documenter-dark .docstring > section > a.button.is-outlined.is-loading.is-focused.docs-sourcelink::after {
+ border-color: transparent transparent #fff #fff !important; }
+ html.theme--documenter-dark .button.is-primary.is-outlined[disabled], html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-primary.is-outlined, fieldset[disabled] html.theme--documenter-dark .docstring > section > a.button.is-outlined.docs-sourcelink {
+ background-color: transparent;
+ border-color: #375a7f;
+ box-shadow: none;
+ color: #375a7f; }
+ html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink {
+ background-color: transparent;
+ border-color: #fff;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined:hover, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink:hover, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-hovered.docs-sourcelink, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined:focus, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink:focus, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-focused, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-focused.docs-sourcelink {
+ background-color: #fff;
+ color: #375a7f; }
+ html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:hover::after, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-loading.is-hovered.docs-sourcelink::after, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:focus::after, html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after, html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.is-loading.is-focused.docs-sourcelink::after {
+ border-color: transparent transparent #375a7f #375a7f !important; }
+ html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined[disabled], html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined, fieldset[disabled] html.theme--documenter-dark .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink {
+ background-color: transparent;
+ border-color: #fff;
+ box-shadow: none;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-link {
+ background-color: #1abc9c;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-link:hover, html.theme--documenter-dark .button.is-link.is-hovered {
+ background-color: #18b193;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-link:focus, html.theme--documenter-dark .button.is-link.is-focused {
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-link:focus:not(:active), html.theme--documenter-dark .button.is-link.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); }
+ html.theme--documenter-dark .button.is-link:active, html.theme--documenter-dark .button.is-link.is-active {
+ background-color: #17a689;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-link[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-link {
+ background-color: #1abc9c;
+ border-color: transparent;
+ box-shadow: none; }
+ html.theme--documenter-dark .button.is-link.is-inverted {
+ background-color: #fff;
+ color: #1abc9c; }
+ html.theme--documenter-dark .button.is-link.is-inverted:hover, html.theme--documenter-dark .button.is-link.is-inverted.is-hovered {
+ background-color: #f2f2f2; }
+ html.theme--documenter-dark .button.is-link.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-link.is-inverted {
+ background-color: #fff;
+ border-color: transparent;
+ box-shadow: none;
+ color: #1abc9c; }
+ html.theme--documenter-dark .button.is-link.is-loading::after {
+ border-color: transparent transparent #fff #fff !important; }
+ html.theme--documenter-dark .button.is-link.is-outlined {
+ background-color: transparent;
+ border-color: #1abc9c;
+ color: #1abc9c; }
+ html.theme--documenter-dark .button.is-link.is-outlined:hover, html.theme--documenter-dark .button.is-link.is-outlined.is-hovered, html.theme--documenter-dark .button.is-link.is-outlined:focus, html.theme--documenter-dark .button.is-link.is-outlined.is-focused {
+ background-color: #1abc9c;
+ border-color: #1abc9c;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-link.is-outlined.is-loading::after {
+ border-color: transparent transparent #1abc9c #1abc9c !important; }
+ html.theme--documenter-dark .button.is-link.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-link.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-link.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-link.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #fff #fff !important; }
+ html.theme--documenter-dark .button.is-link.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-link.is-outlined {
+ background-color: transparent;
+ border-color: #1abc9c;
+ box-shadow: none;
+ color: #1abc9c; }
+ html.theme--documenter-dark .button.is-link.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-link.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-focused {
+ background-color: #fff;
+ color: #1abc9c; }
+ html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #1abc9c #1abc9c !important; }
+ html.theme--documenter-dark .button.is-link.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-link.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ box-shadow: none;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-info {
+ background-color: #024c7d;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-info:hover, html.theme--documenter-dark .button.is-info.is-hovered {
+ background-color: #024470;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-info:focus, html.theme--documenter-dark .button.is-info.is-focused {
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-info:focus:not(:active), html.theme--documenter-dark .button.is-info.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(2, 76, 125, 0.25); }
+ html.theme--documenter-dark .button.is-info:active, html.theme--documenter-dark .button.is-info.is-active {
+ background-color: #023d64;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-info[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-info {
+ background-color: #024c7d;
+ border-color: transparent;
+ box-shadow: none; }
+ html.theme--documenter-dark .button.is-info.is-inverted {
+ background-color: #fff;
+ color: #024c7d; }
+ html.theme--documenter-dark .button.is-info.is-inverted:hover, html.theme--documenter-dark .button.is-info.is-inverted.is-hovered {
+ background-color: #f2f2f2; }
+ html.theme--documenter-dark .button.is-info.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-info.is-inverted {
+ background-color: #fff;
+ border-color: transparent;
+ box-shadow: none;
+ color: #024c7d; }
+ html.theme--documenter-dark .button.is-info.is-loading::after {
+ border-color: transparent transparent #fff #fff !important; }
+ html.theme--documenter-dark .button.is-info.is-outlined {
+ background-color: transparent;
+ border-color: #024c7d;
+ color: #024c7d; }
+ html.theme--documenter-dark .button.is-info.is-outlined:hover, html.theme--documenter-dark .button.is-info.is-outlined.is-hovered, html.theme--documenter-dark .button.is-info.is-outlined:focus, html.theme--documenter-dark .button.is-info.is-outlined.is-focused {
+ background-color: #024c7d;
+ border-color: #024c7d;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-info.is-outlined.is-loading::after {
+ border-color: transparent transparent #024c7d #024c7d !important; }
+ html.theme--documenter-dark .button.is-info.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-info.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-info.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-info.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #fff #fff !important; }
+ html.theme--documenter-dark .button.is-info.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-info.is-outlined {
+ background-color: transparent;
+ border-color: #024c7d;
+ box-shadow: none;
+ color: #024c7d; }
+ html.theme--documenter-dark .button.is-info.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-info.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-focused {
+ background-color: #fff;
+ color: #024c7d; }
+ html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #024c7d #024c7d !important; }
+ html.theme--documenter-dark .button.is-info.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-info.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ box-shadow: none;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-success {
+ background-color: #008438;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-success:hover, html.theme--documenter-dark .button.is-success.is-hovered {
+ background-color: #007733;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-success:focus, html.theme--documenter-dark .button.is-success.is-focused {
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-success:focus:not(:active), html.theme--documenter-dark .button.is-success.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(0, 132, 56, 0.25); }
+ html.theme--documenter-dark .button.is-success:active, html.theme--documenter-dark .button.is-success.is-active {
+ background-color: #006b2d;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-success[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-success {
+ background-color: #008438;
+ border-color: transparent;
+ box-shadow: none; }
+ html.theme--documenter-dark .button.is-success.is-inverted {
+ background-color: #fff;
+ color: #008438; }
+ html.theme--documenter-dark .button.is-success.is-inverted:hover, html.theme--documenter-dark .button.is-success.is-inverted.is-hovered {
+ background-color: #f2f2f2; }
+ html.theme--documenter-dark .button.is-success.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-success.is-inverted {
+ background-color: #fff;
+ border-color: transparent;
+ box-shadow: none;
+ color: #008438; }
+ html.theme--documenter-dark .button.is-success.is-loading::after {
+ border-color: transparent transparent #fff #fff !important; }
+ html.theme--documenter-dark .button.is-success.is-outlined {
+ background-color: transparent;
+ border-color: #008438;
+ color: #008438; }
+ html.theme--documenter-dark .button.is-success.is-outlined:hover, html.theme--documenter-dark .button.is-success.is-outlined.is-hovered, html.theme--documenter-dark .button.is-success.is-outlined:focus, html.theme--documenter-dark .button.is-success.is-outlined.is-focused {
+ background-color: #008438;
+ border-color: #008438;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-success.is-outlined.is-loading::after {
+ border-color: transparent transparent #008438 #008438 !important; }
+ html.theme--documenter-dark .button.is-success.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-success.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-success.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-success.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #fff #fff !important; }
+ html.theme--documenter-dark .button.is-success.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-success.is-outlined {
+ background-color: transparent;
+ border-color: #008438;
+ box-shadow: none;
+ color: #008438; }
+ html.theme--documenter-dark .button.is-success.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-success.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-focused {
+ background-color: #fff;
+ color: #008438; }
+ html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #008438 #008438 !important; }
+ html.theme--documenter-dark .button.is-success.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-success.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ box-shadow: none;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-warning {
+ background-color: #ad8100;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-warning:hover, html.theme--documenter-dark .button.is-warning.is-hovered {
+ background-color: #a07700;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-warning:focus, html.theme--documenter-dark .button.is-warning.is-focused {
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-warning:focus:not(:active), html.theme--documenter-dark .button.is-warning.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(173, 129, 0, 0.25); }
+ html.theme--documenter-dark .button.is-warning:active, html.theme--documenter-dark .button.is-warning.is-active {
+ background-color: #946e00;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-warning[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-warning {
+ background-color: #ad8100;
+ border-color: transparent;
+ box-shadow: none; }
+ html.theme--documenter-dark .button.is-warning.is-inverted {
+ background-color: #fff;
+ color: #ad8100; }
+ html.theme--documenter-dark .button.is-warning.is-inverted:hover, html.theme--documenter-dark .button.is-warning.is-inverted.is-hovered {
+ background-color: #f2f2f2; }
+ html.theme--documenter-dark .button.is-warning.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-warning.is-inverted {
+ background-color: #fff;
+ border-color: transparent;
+ box-shadow: none;
+ color: #ad8100; }
+ html.theme--documenter-dark .button.is-warning.is-loading::after {
+ border-color: transparent transparent #fff #fff !important; }
+ html.theme--documenter-dark .button.is-warning.is-outlined {
+ background-color: transparent;
+ border-color: #ad8100;
+ color: #ad8100; }
+ html.theme--documenter-dark .button.is-warning.is-outlined:hover, html.theme--documenter-dark .button.is-warning.is-outlined.is-hovered, html.theme--documenter-dark .button.is-warning.is-outlined:focus, html.theme--documenter-dark .button.is-warning.is-outlined.is-focused {
+ background-color: #ad8100;
+ border-color: #ad8100;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-warning.is-outlined.is-loading::after {
+ border-color: transparent transparent #ad8100 #ad8100 !important; }
+ html.theme--documenter-dark .button.is-warning.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-warning.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-warning.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-warning.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #fff #fff !important; }
+ html.theme--documenter-dark .button.is-warning.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-warning.is-outlined {
+ background-color: transparent;
+ border-color: #ad8100;
+ box-shadow: none;
+ color: #ad8100; }
+ html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-focused {
+ background-color: #fff;
+ color: #ad8100; }
+ html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #ad8100 #ad8100 !important; }
+ html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ box-shadow: none;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-danger {
+ background-color: #9e1b0d;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-danger:hover, html.theme--documenter-dark .button.is-danger.is-hovered {
+ background-color: #92190c;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-danger:focus, html.theme--documenter-dark .button.is-danger.is-focused {
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-danger:focus:not(:active), html.theme--documenter-dark .button.is-danger.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(158, 27, 13, 0.25); }
+ html.theme--documenter-dark .button.is-danger:active, html.theme--documenter-dark .button.is-danger.is-active {
+ background-color: #86170b;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-danger[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-danger {
+ background-color: #9e1b0d;
+ border-color: transparent;
+ box-shadow: none; }
+ html.theme--documenter-dark .button.is-danger.is-inverted {
+ background-color: #fff;
+ color: #9e1b0d; }
+ html.theme--documenter-dark .button.is-danger.is-inverted:hover, html.theme--documenter-dark .button.is-danger.is-inverted.is-hovered {
+ background-color: #f2f2f2; }
+ html.theme--documenter-dark .button.is-danger.is-inverted[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-danger.is-inverted {
+ background-color: #fff;
+ border-color: transparent;
+ box-shadow: none;
+ color: #9e1b0d; }
+ html.theme--documenter-dark .button.is-danger.is-loading::after {
+ border-color: transparent transparent #fff #fff !important; }
+ html.theme--documenter-dark .button.is-danger.is-outlined {
+ background-color: transparent;
+ border-color: #9e1b0d;
+ color: #9e1b0d; }
+ html.theme--documenter-dark .button.is-danger.is-outlined:hover, html.theme--documenter-dark .button.is-danger.is-outlined.is-hovered, html.theme--documenter-dark .button.is-danger.is-outlined:focus, html.theme--documenter-dark .button.is-danger.is-outlined.is-focused {
+ background-color: #9e1b0d;
+ border-color: #9e1b0d;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-danger.is-outlined.is-loading::after {
+ border-color: transparent transparent #9e1b0d #9e1b0d !important; }
+ html.theme--documenter-dark .button.is-danger.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-danger.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-danger.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-danger.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #fff #fff !important; }
+ html.theme--documenter-dark .button.is-danger.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-danger.is-outlined {
+ background-color: transparent;
+ border-color: #9e1b0d;
+ box-shadow: none;
+ color: #9e1b0d; }
+ html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined:hover, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-hovered, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined:focus, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-focused {
+ background-color: #fff;
+ color: #9e1b0d; }
+ html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading:hover::after, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading:focus::after, html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #9e1b0d #9e1b0d !important; }
+ html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined[disabled], fieldset[disabled] html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ box-shadow: none;
+ color: #fff; }
+ html.theme--documenter-dark .button.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.button {
+ border-radius: 3px;
+ font-size: 0.85em; }
+ html.theme--documenter-dark .button.is-normal {
+ font-size: 15px; }
+ html.theme--documenter-dark .button.is-medium {
+ font-size: 1.25rem; }
+ html.theme--documenter-dark .button.is-large {
+ font-size: 1.5rem; }
+ html.theme--documenter-dark .button[disabled], fieldset[disabled] html.theme--documenter-dark .button {
+ background-color: #8c9b9d;
+ border-color: #dbdee0;
+ box-shadow: none;
+ opacity: 0.5; }
+ html.theme--documenter-dark .button.is-fullwidth {
+ display: flex;
+ width: 100%; }
+ html.theme--documenter-dark .button.is-loading {
+ color: transparent !important;
+ pointer-events: none; }
+ html.theme--documenter-dark .button.is-loading::after {
+ position: absolute;
+ left: calc(50% - (1em / 2));
+ top: calc(50% - (1em / 2));
+ position: absolute !important; }
+ html.theme--documenter-dark .button.is-static {
+ background-color: #282f2f;
+ border-color: #5e6d6f;
+ color: #dbdee0;
+ box-shadow: none;
+ pointer-events: none; }
+ html.theme--documenter-dark .button.is-rounded, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.button {
+ border-radius: 290486px;
+ padding-left: 1em;
+ padding-right: 1em; }
+ html.theme--documenter-dark .buttons {
+ align-items: center;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: flex-start; }
+ html.theme--documenter-dark .buttons .button {
+ margin-bottom: 0.5rem; }
+ html.theme--documenter-dark .buttons .button:not(:last-child):not(.is-fullwidth) {
+ margin-right: 0.5rem; }
+ html.theme--documenter-dark .buttons:last-child {
+ margin-bottom: -0.5rem; }
+ html.theme--documenter-dark .buttons:not(:last-child) {
+ margin-bottom: 1rem; }
+ html.theme--documenter-dark .buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large) {
+ border-radius: 3px;
+ font-size: 0.85em; }
+ html.theme--documenter-dark .buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large) {
+ font-size: 1.25rem; }
+ html.theme--documenter-dark .buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium) {
+ font-size: 1.5rem; }
+ html.theme--documenter-dark .buttons.has-addons .button:not(:first-child) {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0; }
+ html.theme--documenter-dark .buttons.has-addons .button:not(:last-child) {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0;
+ margin-right: -1px; }
+ html.theme--documenter-dark .buttons.has-addons .button:last-child {
+ margin-right: 0; }
+ html.theme--documenter-dark .buttons.has-addons .button:hover, html.theme--documenter-dark .buttons.has-addons .button.is-hovered {
+ z-index: 2; }
+ html.theme--documenter-dark .buttons.has-addons .button:focus, html.theme--documenter-dark .buttons.has-addons .button.is-focused, html.theme--documenter-dark .buttons.has-addons .button:active, html.theme--documenter-dark .buttons.has-addons .button.is-active, html.theme--documenter-dark .buttons.has-addons .button.is-selected {
+ z-index: 3; }
+ html.theme--documenter-dark .buttons.has-addons .button:focus:hover, html.theme--documenter-dark .buttons.has-addons .button.is-focused:hover, html.theme--documenter-dark .buttons.has-addons .button:active:hover, html.theme--documenter-dark .buttons.has-addons .button.is-active:hover, html.theme--documenter-dark .buttons.has-addons .button.is-selected:hover {
+ z-index: 4; }
+ html.theme--documenter-dark .buttons.has-addons .button.is-expanded {
+ flex-grow: 1;
+ flex-shrink: 1; }
+ html.theme--documenter-dark .buttons.is-centered {
+ justify-content: center; }
+ html.theme--documenter-dark .buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth) {
+ margin-left: 0.25rem;
+ margin-right: 0.25rem; }
+ html.theme--documenter-dark .buttons.is-right {
+ justify-content: flex-end; }
+ html.theme--documenter-dark .buttons.is-right:not(.has-addons) .button:not(.is-fullwidth) {
+ margin-left: 0.25rem;
+ margin-right: 0.25rem; }
+ html.theme--documenter-dark .container {
+ flex-grow: 1;
+ margin: 0 auto;
+ position: relative;
+ width: auto; }
+ @media screen and (min-width: 1056px) {
+ html.theme--documenter-dark .container {
+ max-width: 992px; }
+ html.theme--documenter-dark .container.is-fluid {
+ margin-left: 32px;
+ margin-right: 32px;
+ max-width: none; } }
+ @media screen and (max-width: 1215px) {
+ html.theme--documenter-dark .container.is-widescreen {
+ max-width: 1152px; } }
+ @media screen and (max-width: 1407px) {
+ html.theme--documenter-dark .container.is-fullhd {
+ max-width: 1344px; } }
+ @media screen and (min-width: 1216px) {
+ html.theme--documenter-dark .container {
+ max-width: 1152px; } }
+ @media screen and (min-width: 1408px) {
+ html.theme--documenter-dark .container {
+ max-width: 1344px; } }
+ html.theme--documenter-dark .content li + li {
+ margin-top: 0.25em; }
+ html.theme--documenter-dark .content p:not(:last-child),
+ html.theme--documenter-dark .content dl:not(:last-child),
+ html.theme--documenter-dark .content ol:not(:last-child),
+ html.theme--documenter-dark .content ul:not(:last-child),
+ html.theme--documenter-dark .content blockquote:not(:last-child),
+ html.theme--documenter-dark .content pre:not(:last-child),
+ html.theme--documenter-dark .content table:not(:last-child) {
+ margin-bottom: 1em; }
+ html.theme--documenter-dark .content h1,
+ html.theme--documenter-dark .content h2,
+ html.theme--documenter-dark .content h3,
+ html.theme--documenter-dark .content h4,
+ html.theme--documenter-dark .content h5,
+ html.theme--documenter-dark .content h6 {
+ color: #f2f2f2;
+ font-weight: 600;
+ line-height: 1.125; }
+ html.theme--documenter-dark .content h1 {
+ font-size: 2em;
+ margin-bottom: 0.5em; }
+ html.theme--documenter-dark .content h1:not(:first-child) {
+ margin-top: 1em; }
+ html.theme--documenter-dark .content h2 {
+ font-size: 1.75em;
+ margin-bottom: 0.5714em; }
+ html.theme--documenter-dark .content h2:not(:first-child) {
+ margin-top: 1.1428em; }
+ html.theme--documenter-dark .content h3 {
+ font-size: 1.5em;
+ margin-bottom: 0.6666em; }
+ html.theme--documenter-dark .content h3:not(:first-child) {
+ margin-top: 1.3333em; }
+ html.theme--documenter-dark .content h4 {
+ font-size: 1.25em;
+ margin-bottom: 0.8em; }
+ html.theme--documenter-dark .content h5 {
+ font-size: 1.125em;
+ margin-bottom: 0.8888em; }
+ html.theme--documenter-dark .content h6 {
+ font-size: 1em;
+ margin-bottom: 1em; }
+ html.theme--documenter-dark .content blockquote {
+ background-color: #282f2f;
+ border-left: 5px solid #5e6d6f;
+ padding: 1.25em 1.5em; }
+ html.theme--documenter-dark .content ol {
+ list-style-position: outside;
+ margin-left: 2em;
+ margin-top: 1em; }
+ html.theme--documenter-dark .content ol:not([type]) {
+ list-style-type: decimal; }
+ html.theme--documenter-dark .content ol.is-lower-alpha:not([type]) {
+ list-style-type: lower-alpha; }
+ html.theme--documenter-dark .content ol.is-lower-roman:not([type]) {
+ list-style-type: lower-roman; }
+ html.theme--documenter-dark .content ol.is-upper-alpha:not([type]) {
+ list-style-type: upper-alpha; }
+ html.theme--documenter-dark .content ol.is-upper-roman:not([type]) {
+ list-style-type: upper-roman; }
+ html.theme--documenter-dark .content ul {
+ list-style: disc outside;
+ margin-left: 2em;
+ margin-top: 1em; }
+ html.theme--documenter-dark .content ul ul {
+ list-style-type: circle;
+ margin-top: 0.5em; }
+ html.theme--documenter-dark .content ul ul ul {
+ list-style-type: square; }
+ html.theme--documenter-dark .content dd {
+ margin-left: 2em; }
+ html.theme--documenter-dark .content figure {
+ margin-left: 2em;
+ margin-right: 2em;
+ text-align: center; }
+ html.theme--documenter-dark .content figure:not(:first-child) {
+ margin-top: 2em; }
+ html.theme--documenter-dark .content figure:not(:last-child) {
+ margin-bottom: 2em; }
+ html.theme--documenter-dark .content figure img {
+ display: inline-block; }
+ html.theme--documenter-dark .content figure figcaption {
+ font-style: italic; }
+ html.theme--documenter-dark .content pre {
+ -webkit-overflow-scrolling: touch;
+ overflow-x: auto;
+ padding: 0;
+ white-space: pre;
+ word-wrap: normal; }
+ html.theme--documenter-dark .content sup,
+ html.theme--documenter-dark .content sub {
+ font-size: 75%; }
+ html.theme--documenter-dark .content table {
+ width: 100%; }
+ html.theme--documenter-dark .content table td,
+ html.theme--documenter-dark .content table th {
+ border: 1px solid #5e6d6f;
+ border-width: 0 0 1px;
+ padding: 0.5em 0.75em;
+ vertical-align: top; }
+ html.theme--documenter-dark .content table th {
+ color: #f2f2f2; }
+ html.theme--documenter-dark .content table th:not([align]) {
+ text-align: left; }
+ html.theme--documenter-dark .content table thead td,
+ html.theme--documenter-dark .content table thead th {
+ border-width: 0 0 2px;
+ color: #f2f2f2; }
+ html.theme--documenter-dark .content table tfoot td,
+ html.theme--documenter-dark .content table tfoot th {
+ border-width: 2px 0 0;
+ color: #f2f2f2; }
+ html.theme--documenter-dark .content table tbody tr:last-child td,
+ html.theme--documenter-dark .content table tbody tr:last-child th {
+ border-bottom-width: 0; }
+ html.theme--documenter-dark .content .tabs li + li {
+ margin-top: 0; }
+ html.theme--documenter-dark .content.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.content {
+ font-size: 0.85em; }
+ html.theme--documenter-dark .content.is-medium {
+ font-size: 1.25rem; }
+ html.theme--documenter-dark .content.is-large {
+ font-size: 1.5rem; }
+ html.theme--documenter-dark .icon {
+ align-items: center;
+ display: inline-flex;
+ justify-content: center;
+ height: 1.5rem;
+ width: 1.5rem; }
+ html.theme--documenter-dark .icon.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.icon {
+ height: 1rem;
+ width: 1rem; }
+ html.theme--documenter-dark .icon.is-medium {
+ height: 2rem;
+ width: 2rem; }
+ html.theme--documenter-dark .icon.is-large {
+ height: 3rem;
+ width: 3rem; }
+ html.theme--documenter-dark .image, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img {
+ display: block;
+ position: relative; }
+ html.theme--documenter-dark .image img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img img {
+ display: block;
+ height: auto;
+ width: 100%; }
+ html.theme--documenter-dark .image img.is-rounded, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img img.is-rounded {
+ border-radius: 290486px; }
+ html.theme--documenter-dark .image.is-square img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-square img,
+ html.theme--documenter-dark .image.is-square .has-ratio,
+ html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-square .has-ratio, html.theme--documenter-dark .image.is-1by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by1 img,
+ html.theme--documenter-dark .image.is-1by1 .has-ratio,
+ html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by1 .has-ratio, html.theme--documenter-dark .image.is-5by4 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by4 img,
+ html.theme--documenter-dark .image.is-5by4 .has-ratio,
+ html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by4 .has-ratio, html.theme--documenter-dark .image.is-4by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by3 img,
+ html.theme--documenter-dark .image.is-4by3 .has-ratio,
+ html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by3 .has-ratio, html.theme--documenter-dark .image.is-3by2 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by2 img,
+ html.theme--documenter-dark .image.is-3by2 .has-ratio,
+ html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by2 .has-ratio, html.theme--documenter-dark .image.is-5by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by3 img,
+ html.theme--documenter-dark .image.is-5by3 .has-ratio,
+ html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by3 .has-ratio, html.theme--documenter-dark .image.is-16by9 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16by9 img,
+ html.theme--documenter-dark .image.is-16by9 .has-ratio,
+ html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16by9 .has-ratio, html.theme--documenter-dark .image.is-2by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by1 img,
+ html.theme--documenter-dark .image.is-2by1 .has-ratio,
+ html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by1 .has-ratio, html.theme--documenter-dark .image.is-3by1 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by1 img,
+ html.theme--documenter-dark .image.is-3by1 .has-ratio,
+ html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by1 .has-ratio, html.theme--documenter-dark .image.is-4by5 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by5 img,
+ html.theme--documenter-dark .image.is-4by5 .has-ratio,
+ html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by5 .has-ratio, html.theme--documenter-dark .image.is-3by4 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by4 img,
+ html.theme--documenter-dark .image.is-3by4 .has-ratio,
+ html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by4 .has-ratio, html.theme--documenter-dark .image.is-2by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by3 img,
+ html.theme--documenter-dark .image.is-2by3 .has-ratio,
+ html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by3 .has-ratio, html.theme--documenter-dark .image.is-3by5 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by5 img,
+ html.theme--documenter-dark .image.is-3by5 .has-ratio,
+ html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by5 .has-ratio, html.theme--documenter-dark .image.is-9by16 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-9by16 img,
+ html.theme--documenter-dark .image.is-9by16 .has-ratio,
+ html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-9by16 .has-ratio, html.theme--documenter-dark .image.is-1by2 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by2 img,
+ html.theme--documenter-dark .image.is-1by2 .has-ratio,
+ html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by2 .has-ratio, html.theme--documenter-dark .image.is-1by3 img, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by3 img,
+ html.theme--documenter-dark .image.is-1by3 .has-ratio,
+ html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by3 .has-ratio {
+ height: 100%;
+ width: 100%; }
+ html.theme--documenter-dark .image.is-square, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-square, html.theme--documenter-dark .image.is-1by1, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by1 {
+ padding-top: 100%; }
+ html.theme--documenter-dark .image.is-5by4, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by4 {
+ padding-top: 80%; }
+ html.theme--documenter-dark .image.is-4by3, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by3 {
+ padding-top: 75%; }
+ html.theme--documenter-dark .image.is-3by2, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by2 {
+ padding-top: 66.6666%; }
+ html.theme--documenter-dark .image.is-5by3, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-5by3 {
+ padding-top: 60%; }
+ html.theme--documenter-dark .image.is-16by9, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16by9 {
+ padding-top: 56.25%; }
+ html.theme--documenter-dark .image.is-2by1, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by1 {
+ padding-top: 50%; }
+ html.theme--documenter-dark .image.is-3by1, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by1 {
+ padding-top: 33.3333%; }
+ html.theme--documenter-dark .image.is-4by5, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-4by5 {
+ padding-top: 125%; }
+ html.theme--documenter-dark .image.is-3by4, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by4 {
+ padding-top: 133.3333%; }
+ html.theme--documenter-dark .image.is-2by3, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-2by3 {
+ padding-top: 150%; }
+ html.theme--documenter-dark .image.is-3by5, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-3by5 {
+ padding-top: 166.6666%; }
+ html.theme--documenter-dark .image.is-9by16, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-9by16 {
+ padding-top: 177.7777%; }
+ html.theme--documenter-dark .image.is-1by2, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by2 {
+ padding-top: 200%; }
+ html.theme--documenter-dark .image.is-1by3, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-1by3 {
+ padding-top: 300%; }
+ html.theme--documenter-dark .image.is-16x16, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-16x16 {
+ height: 16px;
+ width: 16px; }
+ html.theme--documenter-dark .image.is-24x24, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-24x24 {
+ height: 24px;
+ width: 24px; }
+ html.theme--documenter-dark .image.is-32x32, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-32x32 {
+ height: 32px;
+ width: 32px; }
+ html.theme--documenter-dark .image.is-48x48, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-48x48 {
+ height: 48px;
+ width: 48px; }
+ html.theme--documenter-dark .image.is-64x64, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-64x64 {
+ height: 64px;
+ width: 64px; }
+ html.theme--documenter-dark .image.is-96x96, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-96x96 {
+ height: 96px;
+ width: 96px; }
+ html.theme--documenter-dark .image.is-128x128, html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img.is-128x128 {
+ height: 128px;
+ width: 128px; }
+ html.theme--documenter-dark .notification {
+ background-color: #282f2f;
+ border-radius: 0.4em;
+ padding: 1.25rem 2.5rem 1.25rem 1.5rem;
+ position: relative; }
+ html.theme--documenter-dark .notification a:not(.button):not(.dropdown-item) {
+ color: currentColor;
+ text-decoration: underline; }
+ html.theme--documenter-dark .notification strong {
+ color: currentColor; }
+ html.theme--documenter-dark .notification code,
+ html.theme--documenter-dark .notification pre {
+ background: white; }
+ html.theme--documenter-dark .notification pre code {
+ background: transparent; }
+ html.theme--documenter-dark .notification > .delete {
+ position: absolute;
+ right: 0.5rem;
+ top: 0.5rem; }
+ html.theme--documenter-dark .notification .title,
+ html.theme--documenter-dark .notification .subtitle,
+ html.theme--documenter-dark .notification .content {
+ color: currentColor; }
+ html.theme--documenter-dark .notification.is-white {
+ background-color: white;
+ color: #0a0a0a; }
+ html.theme--documenter-dark .notification.is-black {
+ background-color: #0a0a0a;
+ color: white; }
+ html.theme--documenter-dark .notification.is-light {
+ background-color: #ecf0f1;
+ color: #282f2f; }
+ html.theme--documenter-dark .notification.is-dark, html.theme--documenter-dark .content kbd.notification {
+ background-color: #282f2f;
+ color: #ecf0f1; }
+ html.theme--documenter-dark .notification.is-primary, html.theme--documenter-dark .docstring > section > a.notification.docs-sourcelink {
+ background-color: #375a7f;
+ color: #fff; }
+ html.theme--documenter-dark .notification.is-link {
+ background-color: #1abc9c;
+ color: #fff; }
+ html.theme--documenter-dark .notification.is-info {
+ background-color: #024c7d;
+ color: #fff; }
+ html.theme--documenter-dark .notification.is-success {
+ background-color: #008438;
+ color: #fff; }
+ html.theme--documenter-dark .notification.is-warning {
+ background-color: #ad8100;
+ color: #fff; }
+ html.theme--documenter-dark .notification.is-danger {
+ background-color: #9e1b0d;
+ color: #fff; }
+ html.theme--documenter-dark .progress {
+ -moz-appearance: none;
+ -webkit-appearance: none;
+ border: none;
+ border-radius: 290486px;
+ display: block;
+ height: 15px;
+ overflow: hidden;
+ padding: 0;
+ width: 100%; }
+ html.theme--documenter-dark .progress::-webkit-progress-bar {
+ background-color: #5e6d6f; }
+ html.theme--documenter-dark .progress::-webkit-progress-value {
+ background-color: #dbdee0; }
+ html.theme--documenter-dark .progress::-moz-progress-bar {
+ background-color: #dbdee0; }
+ html.theme--documenter-dark .progress::-ms-fill {
+ background-color: #dbdee0;
+ border: none; }
+ html.theme--documenter-dark .progress.is-white::-webkit-progress-value {
+ background-color: white; }
+ html.theme--documenter-dark .progress.is-white::-moz-progress-bar {
+ background-color: white; }
+ html.theme--documenter-dark .progress.is-white::-ms-fill {
+ background-color: white; }
+ html.theme--documenter-dark .progress.is-white:indeterminate {
+ background-image: linear-gradient(to right, white 30%, #5e6d6f 30%); }
+ html.theme--documenter-dark .progress.is-black::-webkit-progress-value {
+ background-color: #0a0a0a; }
+ html.theme--documenter-dark .progress.is-black::-moz-progress-bar {
+ background-color: #0a0a0a; }
+ html.theme--documenter-dark .progress.is-black::-ms-fill {
+ background-color: #0a0a0a; }
+ html.theme--documenter-dark .progress.is-black:indeterminate {
+ background-image: linear-gradient(to right, #0a0a0a 30%, #5e6d6f 30%); }
+ html.theme--documenter-dark .progress.is-light::-webkit-progress-value {
+ background-color: #ecf0f1; }
+ html.theme--documenter-dark .progress.is-light::-moz-progress-bar {
+ background-color: #ecf0f1; }
+ html.theme--documenter-dark .progress.is-light::-ms-fill {
+ background-color: #ecf0f1; }
+ html.theme--documenter-dark .progress.is-light:indeterminate {
+ background-image: linear-gradient(to right, #ecf0f1 30%, #5e6d6f 30%); }
+ html.theme--documenter-dark .progress.is-dark::-webkit-progress-value, html.theme--documenter-dark .content kbd.progress::-webkit-progress-value {
+ background-color: #282f2f; }
+ html.theme--documenter-dark .progress.is-dark::-moz-progress-bar, html.theme--documenter-dark .content kbd.progress::-moz-progress-bar {
+ background-color: #282f2f; }
+ html.theme--documenter-dark .progress.is-dark::-ms-fill, html.theme--documenter-dark .content kbd.progress::-ms-fill {
+ background-color: #282f2f; }
+ html.theme--documenter-dark .progress.is-dark:indeterminate, html.theme--documenter-dark .content kbd.progress:indeterminate {
+ background-image: linear-gradient(to right, #282f2f 30%, #5e6d6f 30%); }
+ html.theme--documenter-dark .progress.is-primary::-webkit-progress-value, html.theme--documenter-dark .docstring > section > a.progress.docs-sourcelink::-webkit-progress-value {
+ background-color: #375a7f; }
+ html.theme--documenter-dark .progress.is-primary::-moz-progress-bar, html.theme--documenter-dark .docstring > section > a.progress.docs-sourcelink::-moz-progress-bar {
+ background-color: #375a7f; }
+ html.theme--documenter-dark .progress.is-primary::-ms-fill, html.theme--documenter-dark .docstring > section > a.progress.docs-sourcelink::-ms-fill {
+ background-color: #375a7f; }
+ html.theme--documenter-dark .progress.is-primary:indeterminate, html.theme--documenter-dark .docstring > section > a.progress.docs-sourcelink:indeterminate {
+ background-image: linear-gradient(to right, #375a7f 30%, #5e6d6f 30%); }
+ html.theme--documenter-dark .progress.is-link::-webkit-progress-value {
+ background-color: #1abc9c; }
+ html.theme--documenter-dark .progress.is-link::-moz-progress-bar {
+ background-color: #1abc9c; }
+ html.theme--documenter-dark .progress.is-link::-ms-fill {
+ background-color: #1abc9c; }
+ html.theme--documenter-dark .progress.is-link:indeterminate {
+ background-image: linear-gradient(to right, #1abc9c 30%, #5e6d6f 30%); }
+ html.theme--documenter-dark .progress.is-info::-webkit-progress-value {
+ background-color: #024c7d; }
+ html.theme--documenter-dark .progress.is-info::-moz-progress-bar {
+ background-color: #024c7d; }
+ html.theme--documenter-dark .progress.is-info::-ms-fill {
+ background-color: #024c7d; }
+ html.theme--documenter-dark .progress.is-info:indeterminate {
+ background-image: linear-gradient(to right, #024c7d 30%, #5e6d6f 30%); }
+ html.theme--documenter-dark .progress.is-success::-webkit-progress-value {
+ background-color: #008438; }
+ html.theme--documenter-dark .progress.is-success::-moz-progress-bar {
+ background-color: #008438; }
+ html.theme--documenter-dark .progress.is-success::-ms-fill {
+ background-color: #008438; }
+ html.theme--documenter-dark .progress.is-success:indeterminate {
+ background-image: linear-gradient(to right, #008438 30%, #5e6d6f 30%); }
+ html.theme--documenter-dark .progress.is-warning::-webkit-progress-value {
+ background-color: #ad8100; }
+ html.theme--documenter-dark .progress.is-warning::-moz-progress-bar {
+ background-color: #ad8100; }
+ html.theme--documenter-dark .progress.is-warning::-ms-fill {
+ background-color: #ad8100; }
+ html.theme--documenter-dark .progress.is-warning:indeterminate {
+ background-image: linear-gradient(to right, #ad8100 30%, #5e6d6f 30%); }
+ html.theme--documenter-dark .progress.is-danger::-webkit-progress-value {
+ background-color: #9e1b0d; }
+ html.theme--documenter-dark .progress.is-danger::-moz-progress-bar {
+ background-color: #9e1b0d; }
+ html.theme--documenter-dark .progress.is-danger::-ms-fill {
+ background-color: #9e1b0d; }
+ html.theme--documenter-dark .progress.is-danger:indeterminate {
+ background-image: linear-gradient(to right, #9e1b0d 30%, #5e6d6f 30%); }
+ html.theme--documenter-dark .progress:indeterminate {
+ animation-duration: 1.5s;
+ animation-iteration-count: infinite;
+ animation-name: moveIndeterminate;
+ animation-timing-function: linear;
+ background-color: #5e6d6f;
+ background-image: linear-gradient(to right, #fff 30%, #5e6d6f 30%);
+ background-position: top left;
+ background-repeat: no-repeat;
+ background-size: 150% 150%; }
+ html.theme--documenter-dark .progress:indeterminate::-webkit-progress-bar {
+ background-color: transparent; }
+ html.theme--documenter-dark .progress:indeterminate::-moz-progress-bar {
+ background-color: transparent; }
+ html.theme--documenter-dark .progress.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.progress {
+ height: 0.85em; }
+ html.theme--documenter-dark .progress.is-medium {
+ height: 1.25rem; }
+ html.theme--documenter-dark .progress.is-large {
+ height: 1.5rem; }
+
+@keyframes moveIndeterminate {
+ from {
+ background-position: 200% 0; }
+ to {
+ background-position: -200% 0; } }
+ html.theme--documenter-dark .table {
+ background-color: #343c3d;
+ color: #fff; }
+ html.theme--documenter-dark .table td,
+ html.theme--documenter-dark .table th {
+ border: 1px solid #5e6d6f;
+ border-width: 0 0 1px;
+ padding: 0.5em 0.75em;
+ vertical-align: top; }
+ html.theme--documenter-dark .table td.is-white,
+ html.theme--documenter-dark .table th.is-white {
+ background-color: white;
+ border-color: white;
+ color: #0a0a0a; }
+ html.theme--documenter-dark .table td.is-black,
+ html.theme--documenter-dark .table th.is-black {
+ background-color: #0a0a0a;
+ border-color: #0a0a0a;
+ color: white; }
+ html.theme--documenter-dark .table td.is-light,
+ html.theme--documenter-dark .table th.is-light {
+ background-color: #ecf0f1;
+ border-color: #ecf0f1;
+ color: #282f2f; }
+ html.theme--documenter-dark .table td.is-dark,
+ html.theme--documenter-dark .table th.is-dark {
+ background-color: #282f2f;
+ border-color: #282f2f;
+ color: #ecf0f1; }
+ html.theme--documenter-dark .table td.is-primary,
+ html.theme--documenter-dark .table th.is-primary {
+ background-color: #375a7f;
+ border-color: #375a7f;
+ color: #fff; }
+ html.theme--documenter-dark .table td.is-link,
+ html.theme--documenter-dark .table th.is-link {
+ background-color: #1abc9c;
+ border-color: #1abc9c;
+ color: #fff; }
+ html.theme--documenter-dark .table td.is-info,
+ html.theme--documenter-dark .table th.is-info {
+ background-color: #024c7d;
+ border-color: #024c7d;
+ color: #fff; }
+ html.theme--documenter-dark .table td.is-success,
+ html.theme--documenter-dark .table th.is-success {
+ background-color: #008438;
+ border-color: #008438;
+ color: #fff; }
+ html.theme--documenter-dark .table td.is-warning,
+ html.theme--documenter-dark .table th.is-warning {
+ background-color: #ad8100;
+ border-color: #ad8100;
+ color: #fff; }
+ html.theme--documenter-dark .table td.is-danger,
+ html.theme--documenter-dark .table th.is-danger {
+ background-color: #9e1b0d;
+ border-color: #9e1b0d;
+ color: #fff; }
+ html.theme--documenter-dark .table td.is-narrow,
+ html.theme--documenter-dark .table th.is-narrow {
+ white-space: nowrap;
+ width: 1%; }
+ html.theme--documenter-dark .table td.is-selected,
+ html.theme--documenter-dark .table th.is-selected {
+ background-color: #375a7f;
+ color: #fff; }
+ html.theme--documenter-dark .table td.is-selected a,
+ html.theme--documenter-dark .table td.is-selected strong,
+ html.theme--documenter-dark .table th.is-selected a,
+ html.theme--documenter-dark .table th.is-selected strong {
+ color: currentColor; }
+ html.theme--documenter-dark .table th {
+ color: #f2f2f2; }
+ html.theme--documenter-dark .table th:not([align]) {
+ text-align: left; }
+ html.theme--documenter-dark .table tr.is-selected {
+ background-color: #375a7f;
+ color: #fff; }
+ html.theme--documenter-dark .table tr.is-selected a,
+ html.theme--documenter-dark .table tr.is-selected strong {
+ color: currentColor; }
+ html.theme--documenter-dark .table tr.is-selected td,
+ html.theme--documenter-dark .table tr.is-selected th {
+ border-color: #fff;
+ color: currentColor; }
+ html.theme--documenter-dark .table thead {
+ background-color: transparent; }
+ html.theme--documenter-dark .table thead td,
+ html.theme--documenter-dark .table thead th {
+ border-width: 0 0 2px;
+ color: #f2f2f2; }
+ html.theme--documenter-dark .table tfoot {
+ background-color: transparent; }
+ html.theme--documenter-dark .table tfoot td,
+ html.theme--documenter-dark .table tfoot th {
+ border-width: 2px 0 0;
+ color: #f2f2f2; }
+ html.theme--documenter-dark .table tbody {
+ background-color: transparent; }
+ html.theme--documenter-dark .table tbody tr:last-child td,
+ html.theme--documenter-dark .table tbody tr:last-child th {
+ border-bottom-width: 0; }
+ html.theme--documenter-dark .table.is-bordered td,
+ html.theme--documenter-dark .table.is-bordered th {
+ border-width: 1px; }
+ html.theme--documenter-dark .table.is-bordered tr:last-child td,
+ html.theme--documenter-dark .table.is-bordered tr:last-child th {
+ border-bottom-width: 1px; }
+ html.theme--documenter-dark .table.is-fullwidth {
+ width: 100%; }
+ html.theme--documenter-dark .table.is-hoverable tbody tr:not(.is-selected):hover {
+ background-color: #282f2f; }
+ html.theme--documenter-dark .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover {
+ background-color: #282f2f; }
+ html.theme--documenter-dark .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even) {
+ background-color: #2d3435; }
+ html.theme--documenter-dark .table.is-narrow td,
+ html.theme--documenter-dark .table.is-narrow th {
+ padding: 0.25em 0.5em; }
+ html.theme--documenter-dark .table.is-striped tbody tr:not(.is-selected):nth-child(even) {
+ background-color: #282f2f; }
+ html.theme--documenter-dark .table-container {
+ -webkit-overflow-scrolling: touch;
+ overflow: auto;
+ overflow-y: hidden;
+ max-width: 100%; }
+ html.theme--documenter-dark .tags {
+ align-items: center;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: flex-start; }
+ html.theme--documenter-dark .tags .tag, html.theme--documenter-dark .tags .content kbd, html.theme--documenter-dark .content .tags kbd, html.theme--documenter-dark .tags .docstring > section > a.docs-sourcelink {
+ margin-bottom: 0.5rem; }
+ html.theme--documenter-dark .tags .tag:not(:last-child), html.theme--documenter-dark .tags .content kbd:not(:last-child), html.theme--documenter-dark .content .tags kbd:not(:last-child), html.theme--documenter-dark .tags .docstring > section > a.docs-sourcelink:not(:last-child) {
+ margin-right: 0.5rem; }
+ html.theme--documenter-dark .tags:last-child {
+ margin-bottom: -0.5rem; }
+ html.theme--documenter-dark .tags:not(:last-child) {
+ margin-bottom: 1rem; }
+ html.theme--documenter-dark .tags.are-medium .tag:not(.is-normal):not(.is-large), html.theme--documenter-dark .tags.are-medium .content kbd:not(.is-normal):not(.is-large), html.theme--documenter-dark .content .tags.are-medium kbd:not(.is-normal):not(.is-large), html.theme--documenter-dark .tags.are-medium .docstring > section > a.docs-sourcelink:not(.is-normal):not(.is-large) {
+ font-size: 15px; }
+ html.theme--documenter-dark .tags.are-large .tag:not(.is-normal):not(.is-medium), html.theme--documenter-dark .tags.are-large .content kbd:not(.is-normal):not(.is-medium), html.theme--documenter-dark .content .tags.are-large kbd:not(.is-normal):not(.is-medium), html.theme--documenter-dark .tags.are-large .docstring > section > a.docs-sourcelink:not(.is-normal):not(.is-medium) {
+ font-size: 1.25rem; }
+ html.theme--documenter-dark .tags.is-centered {
+ justify-content: center; }
+ html.theme--documenter-dark .tags.is-centered .tag, html.theme--documenter-dark .tags.is-centered .content kbd, html.theme--documenter-dark .content .tags.is-centered kbd, html.theme--documenter-dark .tags.is-centered .docstring > section > a.docs-sourcelink {
+ margin-right: 0.25rem;
+ margin-left: 0.25rem; }
+ html.theme--documenter-dark .tags.is-right {
+ justify-content: flex-end; }
+ html.theme--documenter-dark .tags.is-right .tag:not(:first-child), html.theme--documenter-dark .tags.is-right .content kbd:not(:first-child), html.theme--documenter-dark .content .tags.is-right kbd:not(:first-child), html.theme--documenter-dark .tags.is-right .docstring > section > a.docs-sourcelink:not(:first-child) {
+ margin-left: 0.5rem; }
+ html.theme--documenter-dark .tags.is-right .tag:not(:last-child), html.theme--documenter-dark .tags.is-right .content kbd:not(:last-child), html.theme--documenter-dark .content .tags.is-right kbd:not(:last-child), html.theme--documenter-dark .tags.is-right .docstring > section > a.docs-sourcelink:not(:last-child) {
+ margin-right: 0; }
+ html.theme--documenter-dark .tags.has-addons .tag, html.theme--documenter-dark .tags.has-addons .content kbd, html.theme--documenter-dark .content .tags.has-addons kbd, html.theme--documenter-dark .tags.has-addons .docstring > section > a.docs-sourcelink {
+ margin-right: 0; }
+ html.theme--documenter-dark .tags.has-addons .tag:not(:first-child), html.theme--documenter-dark .tags.has-addons .content kbd:not(:first-child), html.theme--documenter-dark .content .tags.has-addons kbd:not(:first-child), html.theme--documenter-dark .tags.has-addons .docstring > section > a.docs-sourcelink:not(:first-child) {
+ margin-left: 0;
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0; }
+ html.theme--documenter-dark .tags.has-addons .tag:not(:last-child), html.theme--documenter-dark .tags.has-addons .content kbd:not(:last-child), html.theme--documenter-dark .content .tags.has-addons kbd:not(:last-child), html.theme--documenter-dark .tags.has-addons .docstring > section > a.docs-sourcelink:not(:last-child) {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0; }
+ html.theme--documenter-dark .tag:not(body), html.theme--documenter-dark .content kbd:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) {
+ align-items: center;
+ background-color: #282f2f;
+ border-radius: 0.4em;
+ color: #fff;
+ display: inline-flex;
+ font-size: 0.85em;
+ height: 2em;
+ justify-content: center;
+ line-height: 1.5;
+ padding-left: 0.75em;
+ padding-right: 0.75em;
+ white-space: nowrap; }
+ html.theme--documenter-dark .tag:not(body) .delete, html.theme--documenter-dark .content kbd:not(body) .delete, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) .delete {
+ margin-left: 0.25rem;
+ margin-right: -0.375rem; }
+ html.theme--documenter-dark .tag.is-white:not(body), html.theme--documenter-dark .content kbd.is-white:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-white:not(body) {
+ background-color: white;
+ color: #0a0a0a; }
+ html.theme--documenter-dark .tag.is-black:not(body), html.theme--documenter-dark .content kbd.is-black:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-black:not(body) {
+ background-color: #0a0a0a;
+ color: white; }
+ html.theme--documenter-dark .tag.is-light:not(body), html.theme--documenter-dark .content kbd.is-light:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-light:not(body) {
+ background-color: #ecf0f1;
+ color: #282f2f; }
+ html.theme--documenter-dark .tag.is-dark:not(body), html.theme--documenter-dark .content kbd:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-dark:not(body), html.theme--documenter-dark .content .docstring > section > kbd:not(body) {
+ background-color: #282f2f;
+ color: #ecf0f1; }
+ html.theme--documenter-dark .tag.is-primary:not(body), html.theme--documenter-dark .content kbd.is-primary:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) {
+ background-color: #375a7f;
+ color: #fff; }
+ html.theme--documenter-dark .tag.is-link:not(body), html.theme--documenter-dark .content kbd.is-link:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-link:not(body) {
+ background-color: #1abc9c;
+ color: #fff; }
+ html.theme--documenter-dark .tag.is-info:not(body), html.theme--documenter-dark .content kbd.is-info:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-info:not(body) {
+ background-color: #024c7d;
+ color: #fff; }
+ html.theme--documenter-dark .tag.is-success:not(body), html.theme--documenter-dark .content kbd.is-success:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-success:not(body) {
+ background-color: #008438;
+ color: #fff; }
+ html.theme--documenter-dark .tag.is-warning:not(body), html.theme--documenter-dark .content kbd.is-warning:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-warning:not(body) {
+ background-color: #ad8100;
+ color: #fff; }
+ html.theme--documenter-dark .tag.is-danger:not(body), html.theme--documenter-dark .content kbd.is-danger:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-danger:not(body) {
+ background-color: #9e1b0d;
+ color: #fff; }
+ html.theme--documenter-dark .tag.is-normal:not(body), html.theme--documenter-dark .content kbd.is-normal:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-normal:not(body) {
+ font-size: 0.85em; }
+ html.theme--documenter-dark .tag.is-medium:not(body), html.theme--documenter-dark .content kbd.is-medium:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-medium:not(body) {
+ font-size: 15px; }
+ html.theme--documenter-dark .tag.is-large:not(body), html.theme--documenter-dark .content kbd.is-large:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-large:not(body) {
+ font-size: 1.25rem; }
+ html.theme--documenter-dark .tag:not(body) .icon:first-child:not(:last-child), html.theme--documenter-dark .content kbd:not(body) .icon:first-child:not(:last-child), html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) .icon:first-child:not(:last-child) {
+ margin-left: -0.375em;
+ margin-right: 0.1875em; }
+ html.theme--documenter-dark .tag:not(body) .icon:last-child:not(:first-child), html.theme--documenter-dark .content kbd:not(body) .icon:last-child:not(:first-child), html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) .icon:last-child:not(:first-child) {
+ margin-left: 0.1875em;
+ margin-right: -0.375em; }
+ html.theme--documenter-dark .tag:not(body) .icon:first-child:last-child, html.theme--documenter-dark .content kbd:not(body) .icon:first-child:last-child, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:not(body) .icon:first-child:last-child {
+ margin-left: -0.375em;
+ margin-right: -0.375em; }
+ html.theme--documenter-dark .tag.is-delete:not(body), html.theme--documenter-dark .content kbd.is-delete:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body) {
+ margin-left: 1px;
+ padding: 0;
+ position: relative;
+ width: 2em; }
+ html.theme--documenter-dark .tag.is-delete:not(body)::before, html.theme--documenter-dark .content kbd.is-delete:not(body)::before, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body)::before, html.theme--documenter-dark .tag.is-delete:not(body)::after, html.theme--documenter-dark .content kbd.is-delete:not(body)::after, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body)::after {
+ background-color: currentColor;
+ content: "";
+ display: block;
+ left: 50%;
+ position: absolute;
+ top: 50%;
+ transform: translateX(-50%) translateY(-50%) rotate(45deg);
+ transform-origin: center center; }
+ html.theme--documenter-dark .tag.is-delete:not(body)::before, html.theme--documenter-dark .content kbd.is-delete:not(body)::before, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body)::before {
+ height: 1px;
+ width: 50%; }
+ html.theme--documenter-dark .tag.is-delete:not(body)::after, html.theme--documenter-dark .content kbd.is-delete:not(body)::after, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body)::after {
+ height: 50%;
+ width: 1px; }
+ html.theme--documenter-dark .tag.is-delete:not(body):hover, html.theme--documenter-dark .content kbd.is-delete:not(body):hover, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body):hover, html.theme--documenter-dark .tag.is-delete:not(body):focus, html.theme--documenter-dark .content kbd.is-delete:not(body):focus, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body):focus {
+ background-color: #1d2122; }
+ html.theme--documenter-dark .tag.is-delete:not(body):active, html.theme--documenter-dark .content kbd.is-delete:not(body):active, html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-delete:not(body):active {
+ background-color: #111414; }
+ html.theme--documenter-dark .tag.is-rounded:not(body), html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:not(body), html.theme--documenter-dark .content kbd.is-rounded:not(body), html.theme--documenter-dark #documenter .docs-sidebar .content form.docs-search > input:not(body), html.theme--documenter-dark .docstring > section > a.docs-sourcelink.is-rounded:not(body) {
+ border-radius: 290486px; }
+ html.theme--documenter-dark a.tag:hover, html.theme--documenter-dark .docstring > section > a.docs-sourcelink:hover {
+ text-decoration: underline; }
+ html.theme--documenter-dark .title,
+ html.theme--documenter-dark .subtitle {
+ word-break: break-word; }
+ html.theme--documenter-dark .title em,
+ html.theme--documenter-dark .title span,
+ html.theme--documenter-dark .subtitle em,
+ html.theme--documenter-dark .subtitle span {
+ font-weight: inherit; }
+ html.theme--documenter-dark .title sub,
+ html.theme--documenter-dark .subtitle sub {
+ font-size: 0.75em; }
+ html.theme--documenter-dark .title sup,
+ html.theme--documenter-dark .subtitle sup {
+ font-size: 0.75em; }
+ html.theme--documenter-dark .title .tag, html.theme--documenter-dark .title .content kbd, html.theme--documenter-dark .content .title kbd, html.theme--documenter-dark .title .docstring > section > a.docs-sourcelink,
+ html.theme--documenter-dark .subtitle .tag,
+ html.theme--documenter-dark .subtitle .content kbd,
+ html.theme--documenter-dark .content .subtitle kbd,
+ html.theme--documenter-dark .subtitle .docstring > section > a.docs-sourcelink {
+ vertical-align: middle; }
+ html.theme--documenter-dark .title {
+ color: #fff;
+ font-size: 2rem;
+ font-weight: 500;
+ line-height: 1.125; }
+ html.theme--documenter-dark .title strong {
+ color: inherit;
+ font-weight: inherit; }
+ html.theme--documenter-dark .title + .highlight {
+ margin-top: -0.75rem; }
+ html.theme--documenter-dark .title:not(.is-spaced) + .subtitle {
+ margin-top: -1.25rem; }
+ html.theme--documenter-dark .title.is-1 {
+ font-size: 3rem; }
+ html.theme--documenter-dark .title.is-2 {
+ font-size: 2.5rem; }
+ html.theme--documenter-dark .title.is-3 {
+ font-size: 2rem; }
+ html.theme--documenter-dark .title.is-4 {
+ font-size: 1.5rem; }
+ html.theme--documenter-dark .title.is-5 {
+ font-size: 1.25rem; }
+ html.theme--documenter-dark .title.is-6 {
+ font-size: 15px; }
+ html.theme--documenter-dark .title.is-7 {
+ font-size: 0.85em; }
+ html.theme--documenter-dark .subtitle {
+ color: #8c9b9d;
+ font-size: 1.25rem;
+ font-weight: 400;
+ line-height: 1.25; }
+ html.theme--documenter-dark .subtitle strong {
+ color: #8c9b9d;
+ font-weight: 600; }
+ html.theme--documenter-dark .subtitle:not(.is-spaced) + .title {
+ margin-top: -1.25rem; }
+ html.theme--documenter-dark .subtitle.is-1 {
+ font-size: 3rem; }
+ html.theme--documenter-dark .subtitle.is-2 {
+ font-size: 2.5rem; }
+ html.theme--documenter-dark .subtitle.is-3 {
+ font-size: 2rem; }
+ html.theme--documenter-dark .subtitle.is-4 {
+ font-size: 1.5rem; }
+ html.theme--documenter-dark .subtitle.is-5 {
+ font-size: 1.25rem; }
+ html.theme--documenter-dark .subtitle.is-6 {
+ font-size: 15px; }
+ html.theme--documenter-dark .subtitle.is-7 {
+ font-size: 0.85em; }
+ html.theme--documenter-dark .heading {
+ display: block;
+ font-size: 11px;
+ letter-spacing: 1px;
+ margin-bottom: 5px;
+ text-transform: uppercase; }
+ html.theme--documenter-dark .highlight {
+ font-weight: 400;
+ max-width: 100%;
+ overflow: hidden;
+ padding: 0; }
+ html.theme--documenter-dark .highlight pre {
+ overflow: auto;
+ max-width: 100%; }
+ html.theme--documenter-dark .number {
+ align-items: center;
+ background-color: #282f2f;
+ border-radius: 290486px;
+ display: inline-flex;
+ font-size: 1.25rem;
+ height: 2em;
+ justify-content: center;
+ margin-right: 1.5rem;
+ min-width: 2.5em;
+ padding: 0.25rem 0.5rem;
+ text-align: center;
+ vertical-align: top; }
+ html.theme--documenter-dark .select select, html.theme--documenter-dark .textarea, html.theme--documenter-dark .input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
+ background-color: #1f2424;
+ border-color: #5e6d6f;
+ border-radius: 0.4em;
+ color: #dbdee0; }
+ html.theme--documenter-dark .select select::-moz-placeholder, html.theme--documenter-dark .textarea::-moz-placeholder, html.theme--documenter-dark .input::-moz-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input::-moz-placeholder {
+ color: rgba(219, 222, 224, 0.3); }
+ html.theme--documenter-dark .select select::-webkit-input-placeholder, html.theme--documenter-dark .textarea::-webkit-input-placeholder, html.theme--documenter-dark .input::-webkit-input-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input::-webkit-input-placeholder {
+ color: rgba(219, 222, 224, 0.3); }
+ html.theme--documenter-dark .select select:-moz-placeholder, html.theme--documenter-dark .textarea:-moz-placeholder, html.theme--documenter-dark .input:-moz-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:-moz-placeholder {
+ color: rgba(219, 222, 224, 0.3); }
+ html.theme--documenter-dark .select select:-ms-input-placeholder, html.theme--documenter-dark .textarea:-ms-input-placeholder, html.theme--documenter-dark .input:-ms-input-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:-ms-input-placeholder {
+ color: rgba(219, 222, 224, 0.3); }
+ html.theme--documenter-dark .select select:hover, html.theme--documenter-dark .textarea:hover, html.theme--documenter-dark .input:hover, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:hover, html.theme--documenter-dark .select select.is-hovered, html.theme--documenter-dark .is-hovered.textarea, html.theme--documenter-dark .is-hovered.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-hovered {
+ border-color: #8c9b9d; }
+ html.theme--documenter-dark .select select:focus, html.theme--documenter-dark .textarea:focus, html.theme--documenter-dark .input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:focus, html.theme--documenter-dark .select select.is-focused, html.theme--documenter-dark .is-focused.textarea, html.theme--documenter-dark .is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .select select:active, html.theme--documenter-dark .textarea:active, html.theme--documenter-dark .input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:active, html.theme--documenter-dark .select select.is-active, html.theme--documenter-dark .is-active.textarea, html.theme--documenter-dark .is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
+ border-color: #1abc9c;
+ box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); }
+ html.theme--documenter-dark .select select[disabled], html.theme--documenter-dark .textarea[disabled], html.theme--documenter-dark .input[disabled], html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled], fieldset[disabled] html.theme--documenter-dark .select select, fieldset[disabled] html.theme--documenter-dark .textarea, fieldset[disabled] html.theme--documenter-dark .input, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
+ background-color: #8c9b9d;
+ border-color: #282f2f;
+ box-shadow: none;
+ color: white; }
+ html.theme--documenter-dark .select select[disabled]::-moz-placeholder, html.theme--documenter-dark .textarea[disabled]::-moz-placeholder, html.theme--documenter-dark .input[disabled]::-moz-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled]::-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .select select::-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .textarea::-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .input::-moz-placeholder, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input::-moz-placeholder {
+ color: rgba(255, 255, 255, 0.3); }
+ html.theme--documenter-dark .select select[disabled]::-webkit-input-placeholder, html.theme--documenter-dark .textarea[disabled]::-webkit-input-placeholder, html.theme--documenter-dark .input[disabled]::-webkit-input-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled]::-webkit-input-placeholder, fieldset[disabled] html.theme--documenter-dark .select select::-webkit-input-placeholder, fieldset[disabled] html.theme--documenter-dark .textarea::-webkit-input-placeholder, fieldset[disabled] html.theme--documenter-dark .input::-webkit-input-placeholder, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input::-webkit-input-placeholder {
+ color: rgba(255, 255, 255, 0.3); }
+ html.theme--documenter-dark .select select[disabled]:-moz-placeholder, html.theme--documenter-dark .textarea[disabled]:-moz-placeholder, html.theme--documenter-dark .input[disabled]:-moz-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled]:-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .select select:-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .textarea:-moz-placeholder, fieldset[disabled] html.theme--documenter-dark .input:-moz-placeholder, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:-moz-placeholder {
+ color: rgba(255, 255, 255, 0.3); }
+ html.theme--documenter-dark .select select[disabled]:-ms-input-placeholder, html.theme--documenter-dark .textarea[disabled]:-ms-input-placeholder, html.theme--documenter-dark .input[disabled]:-ms-input-placeholder, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[disabled]:-ms-input-placeholder, fieldset[disabled] html.theme--documenter-dark .select select:-ms-input-placeholder, fieldset[disabled] html.theme--documenter-dark .textarea:-ms-input-placeholder, fieldset[disabled] html.theme--documenter-dark .input:-ms-input-placeholder, fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input:-ms-input-placeholder {
+ color: rgba(255, 255, 255, 0.3); }
+ html.theme--documenter-dark .textarea, html.theme--documenter-dark .input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
+ box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
+ max-width: 100%;
+ width: 100%; }
+ html.theme--documenter-dark .textarea[readonly], html.theme--documenter-dark .input[readonly], html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input[readonly] {
+ box-shadow: none; }
+ html.theme--documenter-dark .is-white.textarea, html.theme--documenter-dark .is-white.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-white {
+ border-color: white; }
+ html.theme--documenter-dark .is-white.textarea:focus, html.theme--documenter-dark .is-white.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-white:focus, html.theme--documenter-dark .is-white.is-focused.textarea, html.theme--documenter-dark .is-white.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-white.textarea:active, html.theme--documenter-dark .is-white.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-white:active, html.theme--documenter-dark .is-white.is-active.textarea, html.theme--documenter-dark .is-white.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
+ box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
+ html.theme--documenter-dark .is-black.textarea, html.theme--documenter-dark .is-black.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-black {
+ border-color: #0a0a0a; }
+ html.theme--documenter-dark .is-black.textarea:focus, html.theme--documenter-dark .is-black.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-black:focus, html.theme--documenter-dark .is-black.is-focused.textarea, html.theme--documenter-dark .is-black.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-black.textarea:active, html.theme--documenter-dark .is-black.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-black:active, html.theme--documenter-dark .is-black.is-active.textarea, html.theme--documenter-dark .is-black.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
+ box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
+ html.theme--documenter-dark .is-light.textarea, html.theme--documenter-dark .is-light.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-light {
+ border-color: #ecf0f1; }
+ html.theme--documenter-dark .is-light.textarea:focus, html.theme--documenter-dark .is-light.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-light:focus, html.theme--documenter-dark .is-light.is-focused.textarea, html.theme--documenter-dark .is-light.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-light.textarea:active, html.theme--documenter-dark .is-light.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-light:active, html.theme--documenter-dark .is-light.is-active.textarea, html.theme--documenter-dark .is-light.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
+ box-shadow: 0 0 0 0.125em rgba(236, 240, 241, 0.25); }
+ html.theme--documenter-dark .is-dark.textarea, html.theme--documenter-dark .content kbd.textarea, html.theme--documenter-dark .is-dark.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-dark, html.theme--documenter-dark .content kbd.input {
+ border-color: #282f2f; }
+ html.theme--documenter-dark .is-dark.textarea:focus, html.theme--documenter-dark .content kbd.textarea:focus, html.theme--documenter-dark .is-dark.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-dark:focus, html.theme--documenter-dark .content kbd.input:focus, html.theme--documenter-dark .is-dark.is-focused.textarea, html.theme--documenter-dark .content kbd.is-focused.textarea, html.theme--documenter-dark .is-dark.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .content kbd.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar .content form.docs-search > input.is-focused, html.theme--documenter-dark .is-dark.textarea:active, html.theme--documenter-dark .content kbd.textarea:active, html.theme--documenter-dark .is-dark.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-dark:active, html.theme--documenter-dark .content kbd.input:active, html.theme--documenter-dark .is-dark.is-active.textarea, html.theme--documenter-dark .content kbd.is-active.textarea, html.theme--documenter-dark .is-dark.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active, html.theme--documenter-dark .content kbd.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar .content form.docs-search > input.is-active {
+ box-shadow: 0 0 0 0.125em rgba(40, 47, 47, 0.25); }
+ html.theme--documenter-dark .is-primary.textarea, html.theme--documenter-dark .docstring > section > a.textarea.docs-sourcelink, html.theme--documenter-dark .is-primary.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-primary, html.theme--documenter-dark .docstring > section > a.input.docs-sourcelink {
+ border-color: #375a7f; }
+ html.theme--documenter-dark .is-primary.textarea:focus, html.theme--documenter-dark .docstring > section > a.textarea.docs-sourcelink:focus, html.theme--documenter-dark .is-primary.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-primary:focus, html.theme--documenter-dark .docstring > section > a.input.docs-sourcelink:focus, html.theme--documenter-dark .is-primary.is-focused.textarea, html.theme--documenter-dark .docstring > section > a.is-focused.textarea.docs-sourcelink, html.theme--documenter-dark .is-primary.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .docstring > section > a.is-focused.input.docs-sourcelink, html.theme--documenter-dark .is-primary.textarea:active, html.theme--documenter-dark .docstring > section > a.textarea.docs-sourcelink:active, html.theme--documenter-dark .is-primary.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-primary:active, html.theme--documenter-dark .docstring > section > a.input.docs-sourcelink:active, html.theme--documenter-dark .is-primary.is-active.textarea, html.theme--documenter-dark .docstring > section > a.is-active.textarea.docs-sourcelink, html.theme--documenter-dark .is-primary.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active, html.theme--documenter-dark .docstring > section > a.is-active.input.docs-sourcelink {
+ box-shadow: 0 0 0 0.125em rgba(55, 90, 127, 0.25); }
+ html.theme--documenter-dark .is-link.textarea, html.theme--documenter-dark .is-link.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-link {
+ border-color: #1abc9c; }
+ html.theme--documenter-dark .is-link.textarea:focus, html.theme--documenter-dark .is-link.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-link:focus, html.theme--documenter-dark .is-link.is-focused.textarea, html.theme--documenter-dark .is-link.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-link.textarea:active, html.theme--documenter-dark .is-link.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-link:active, html.theme--documenter-dark .is-link.is-active.textarea, html.theme--documenter-dark .is-link.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
+ box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); }
+ html.theme--documenter-dark .is-info.textarea, html.theme--documenter-dark .is-info.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-info {
+ border-color: #024c7d; }
+ html.theme--documenter-dark .is-info.textarea:focus, html.theme--documenter-dark .is-info.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-info:focus, html.theme--documenter-dark .is-info.is-focused.textarea, html.theme--documenter-dark .is-info.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-info.textarea:active, html.theme--documenter-dark .is-info.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-info:active, html.theme--documenter-dark .is-info.is-active.textarea, html.theme--documenter-dark .is-info.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
+ box-shadow: 0 0 0 0.125em rgba(2, 76, 125, 0.25); }
+ html.theme--documenter-dark .is-success.textarea, html.theme--documenter-dark .is-success.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-success {
+ border-color: #008438; }
+ html.theme--documenter-dark .is-success.textarea:focus, html.theme--documenter-dark .is-success.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-success:focus, html.theme--documenter-dark .is-success.is-focused.textarea, html.theme--documenter-dark .is-success.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-success.textarea:active, html.theme--documenter-dark .is-success.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-success:active, html.theme--documenter-dark .is-success.is-active.textarea, html.theme--documenter-dark .is-success.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
+ box-shadow: 0 0 0 0.125em rgba(0, 132, 56, 0.25); }
+ html.theme--documenter-dark .is-warning.textarea, html.theme--documenter-dark .is-warning.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-warning {
+ border-color: #ad8100; }
+ html.theme--documenter-dark .is-warning.textarea:focus, html.theme--documenter-dark .is-warning.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-warning:focus, html.theme--documenter-dark .is-warning.is-focused.textarea, html.theme--documenter-dark .is-warning.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-warning.textarea:active, html.theme--documenter-dark .is-warning.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-warning:active, html.theme--documenter-dark .is-warning.is-active.textarea, html.theme--documenter-dark .is-warning.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
+ box-shadow: 0 0 0 0.125em rgba(173, 129, 0, 0.25); }
+ html.theme--documenter-dark .is-danger.textarea, html.theme--documenter-dark .is-danger.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-danger {
+ border-color: #9e1b0d; }
+ html.theme--documenter-dark .is-danger.textarea:focus, html.theme--documenter-dark .is-danger.input:focus, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-danger:focus, html.theme--documenter-dark .is-danger.is-focused.textarea, html.theme--documenter-dark .is-danger.is-focused.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-focused, html.theme--documenter-dark .is-danger.textarea:active, html.theme--documenter-dark .is-danger.input:active, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-danger:active, html.theme--documenter-dark .is-danger.is-active.textarea, html.theme--documenter-dark .is-danger.is-active.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-active {
+ box-shadow: 0 0 0 0.125em rgba(158, 27, 13, 0.25); }
+ html.theme--documenter-dark .is-small.textarea, html.theme--documenter-dark .is-small.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
+ border-radius: 3px;
+ font-size: 0.85em; }
+ html.theme--documenter-dark .is-medium.textarea, html.theme--documenter-dark .is-medium.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-medium {
+ font-size: 1.25rem; }
+ html.theme--documenter-dark .is-large.textarea, html.theme--documenter-dark .is-large.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-large {
+ font-size: 1.5rem; }
+ html.theme--documenter-dark .is-fullwidth.textarea, html.theme--documenter-dark .is-fullwidth.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-fullwidth {
+ display: block;
+ width: 100%; }
+ html.theme--documenter-dark .is-inline.textarea, html.theme--documenter-dark .is-inline.input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-inline {
+ display: inline;
+ width: auto; }
+ html.theme--documenter-dark .input.is-rounded, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
+ border-radius: 290486px;
+ padding-left: 1em;
+ padding-right: 1em; }
+ html.theme--documenter-dark .input.is-static, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-static {
+ background-color: transparent;
+ border-color: transparent;
+ box-shadow: none;
+ padding-left: 0;
+ padding-right: 0; }
+ html.theme--documenter-dark .textarea {
+ display: block;
+ max-width: 100%;
+ min-width: 100%;
+ padding: 0.625em;
+ resize: vertical; }
+ html.theme--documenter-dark .textarea:not([rows]) {
+ max-height: 600px;
+ min-height: 120px; }
+ html.theme--documenter-dark .textarea[rows] {
+ height: initial; }
+ html.theme--documenter-dark .textarea.has-fixed-size {
+ resize: none; }
+ html.theme--documenter-dark .radio, html.theme--documenter-dark .checkbox {
+ cursor: pointer;
+ display: inline-block;
+ line-height: 1.25;
+ position: relative; }
+ html.theme--documenter-dark .radio input, html.theme--documenter-dark .checkbox input {
+ cursor: pointer; }
+ html.theme--documenter-dark .radio:hover, html.theme--documenter-dark .checkbox:hover {
+ color: #8c9b9d; }
+ html.theme--documenter-dark .radio[disabled], html.theme--documenter-dark .checkbox[disabled], fieldset[disabled] html.theme--documenter-dark .radio, fieldset[disabled] html.theme--documenter-dark .checkbox {
+ color: white;
+ cursor: not-allowed; }
+ html.theme--documenter-dark .radio + .radio {
+ margin-left: 0.5em; }
+ html.theme--documenter-dark .select {
+ display: inline-block;
+ max-width: 100%;
+ position: relative;
+ vertical-align: top; }
+ html.theme--documenter-dark .select:not(.is-multiple) {
+ height: 2.25em; }
+ html.theme--documenter-dark .select:not(.is-multiple):not(.is-loading)::after {
+ border-color: #1abc9c;
+ right: 1.125em;
+ z-index: 4; }
+ html.theme--documenter-dark .select.is-rounded select, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.select select {
+ border-radius: 290486px;
+ padding-left: 1em; }
+ html.theme--documenter-dark .select select {
+ cursor: pointer;
+ display: block;
+ font-size: 1em;
+ max-width: 100%;
+ outline: none; }
+ html.theme--documenter-dark .select select::-ms-expand {
+ display: none; }
+ html.theme--documenter-dark .select select[disabled]:hover, fieldset[disabled] html.theme--documenter-dark .select select:hover {
+ border-color: #282f2f; }
+ html.theme--documenter-dark .select select:not([multiple]) {
+ padding-right: 2.5em; }
+ html.theme--documenter-dark .select select[multiple] {
+ height: auto;
+ padding: 0; }
+ html.theme--documenter-dark .select select[multiple] option {
+ padding: 0.5em 1em; }
+ html.theme--documenter-dark .select:not(.is-multiple):not(.is-loading):hover::after {
+ border-color: #8c9b9d; }
+ html.theme--documenter-dark .select.is-white:not(:hover)::after {
+ border-color: white; }
+ html.theme--documenter-dark .select.is-white select {
+ border-color: white; }
+ html.theme--documenter-dark .select.is-white select:hover, html.theme--documenter-dark .select.is-white select.is-hovered {
+ border-color: #f2f2f2; }
+ html.theme--documenter-dark .select.is-white select:focus, html.theme--documenter-dark .select.is-white select.is-focused, html.theme--documenter-dark .select.is-white select:active, html.theme--documenter-dark .select.is-white select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
+ html.theme--documenter-dark .select.is-black:not(:hover)::after {
+ border-color: #0a0a0a; }
+ html.theme--documenter-dark .select.is-black select {
+ border-color: #0a0a0a; }
+ html.theme--documenter-dark .select.is-black select:hover, html.theme--documenter-dark .select.is-black select.is-hovered {
+ border-color: black; }
+ html.theme--documenter-dark .select.is-black select:focus, html.theme--documenter-dark .select.is-black select.is-focused, html.theme--documenter-dark .select.is-black select:active, html.theme--documenter-dark .select.is-black select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
+ html.theme--documenter-dark .select.is-light:not(:hover)::after {
+ border-color: #ecf0f1; }
+ html.theme--documenter-dark .select.is-light select {
+ border-color: #ecf0f1; }
+ html.theme--documenter-dark .select.is-light select:hover, html.theme--documenter-dark .select.is-light select.is-hovered {
+ border-color: #dde4e6; }
+ html.theme--documenter-dark .select.is-light select:focus, html.theme--documenter-dark .select.is-light select.is-focused, html.theme--documenter-dark .select.is-light select:active, html.theme--documenter-dark .select.is-light select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(236, 240, 241, 0.25); }
+ html.theme--documenter-dark .select.is-dark:not(:hover)::after, html.theme--documenter-dark .content kbd.select:not(:hover)::after {
+ border-color: #282f2f; }
+ html.theme--documenter-dark .select.is-dark select, html.theme--documenter-dark .content kbd.select select {
+ border-color: #282f2f; }
+ html.theme--documenter-dark .select.is-dark select:hover, html.theme--documenter-dark .content kbd.select select:hover, html.theme--documenter-dark .select.is-dark select.is-hovered, html.theme--documenter-dark .content kbd.select select.is-hovered {
+ border-color: #1d2122; }
+ html.theme--documenter-dark .select.is-dark select:focus, html.theme--documenter-dark .content kbd.select select:focus, html.theme--documenter-dark .select.is-dark select.is-focused, html.theme--documenter-dark .content kbd.select select.is-focused, html.theme--documenter-dark .select.is-dark select:active, html.theme--documenter-dark .content kbd.select select:active, html.theme--documenter-dark .select.is-dark select.is-active, html.theme--documenter-dark .content kbd.select select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(40, 47, 47, 0.25); }
+ html.theme--documenter-dark .select.is-primary:not(:hover)::after, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink:not(:hover)::after {
+ border-color: #375a7f; }
+ html.theme--documenter-dark .select.is-primary select, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select {
+ border-color: #375a7f; }
+ html.theme--documenter-dark .select.is-primary select:hover, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select:hover, html.theme--documenter-dark .select.is-primary select.is-hovered, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select.is-hovered {
+ border-color: #2f4d6d; }
+ html.theme--documenter-dark .select.is-primary select:focus, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select:focus, html.theme--documenter-dark .select.is-primary select.is-focused, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select.is-focused, html.theme--documenter-dark .select.is-primary select:active, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select:active, html.theme--documenter-dark .select.is-primary select.is-active, html.theme--documenter-dark .docstring > section > a.select.docs-sourcelink select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(55, 90, 127, 0.25); }
+ html.theme--documenter-dark .select.is-link:not(:hover)::after {
+ border-color: #1abc9c; }
+ html.theme--documenter-dark .select.is-link select {
+ border-color: #1abc9c; }
+ html.theme--documenter-dark .select.is-link select:hover, html.theme--documenter-dark .select.is-link select.is-hovered {
+ border-color: #17a689; }
+ html.theme--documenter-dark .select.is-link select:focus, html.theme--documenter-dark .select.is-link select.is-focused, html.theme--documenter-dark .select.is-link select:active, html.theme--documenter-dark .select.is-link select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(26, 188, 156, 0.25); }
+ html.theme--documenter-dark .select.is-info:not(:hover)::after {
+ border-color: #024c7d; }
+ html.theme--documenter-dark .select.is-info select {
+ border-color: #024c7d; }
+ html.theme--documenter-dark .select.is-info select:hover, html.theme--documenter-dark .select.is-info select.is-hovered {
+ border-color: #023d64; }
+ html.theme--documenter-dark .select.is-info select:focus, html.theme--documenter-dark .select.is-info select.is-focused, html.theme--documenter-dark .select.is-info select:active, html.theme--documenter-dark .select.is-info select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(2, 76, 125, 0.25); }
+ html.theme--documenter-dark .select.is-success:not(:hover)::after {
+ border-color: #008438; }
+ html.theme--documenter-dark .select.is-success select {
+ border-color: #008438; }
+ html.theme--documenter-dark .select.is-success select:hover, html.theme--documenter-dark .select.is-success select.is-hovered {
+ border-color: #006b2d; }
+ html.theme--documenter-dark .select.is-success select:focus, html.theme--documenter-dark .select.is-success select.is-focused, html.theme--documenter-dark .select.is-success select:active, html.theme--documenter-dark .select.is-success select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(0, 132, 56, 0.25); }
+ html.theme--documenter-dark .select.is-warning:not(:hover)::after {
+ border-color: #ad8100; }
+ html.theme--documenter-dark .select.is-warning select {
+ border-color: #ad8100; }
+ html.theme--documenter-dark .select.is-warning select:hover, html.theme--documenter-dark .select.is-warning select.is-hovered {
+ border-color: #946e00; }
+ html.theme--documenter-dark .select.is-warning select:focus, html.theme--documenter-dark .select.is-warning select.is-focused, html.theme--documenter-dark .select.is-warning select:active, html.theme--documenter-dark .select.is-warning select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(173, 129, 0, 0.25); }
+ html.theme--documenter-dark .select.is-danger:not(:hover)::after {
+ border-color: #9e1b0d; }
+ html.theme--documenter-dark .select.is-danger select {
+ border-color: #9e1b0d; }
+ html.theme--documenter-dark .select.is-danger select:hover, html.theme--documenter-dark .select.is-danger select.is-hovered {
+ border-color: #86170b; }
+ html.theme--documenter-dark .select.is-danger select:focus, html.theme--documenter-dark .select.is-danger select.is-focused, html.theme--documenter-dark .select.is-danger select:active, html.theme--documenter-dark .select.is-danger select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(158, 27, 13, 0.25); }
+ html.theme--documenter-dark .select.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.select {
+ border-radius: 3px;
+ font-size: 0.85em; }
+ html.theme--documenter-dark .select.is-medium {
+ font-size: 1.25rem; }
+ html.theme--documenter-dark .select.is-large {
+ font-size: 1.5rem; }
+ html.theme--documenter-dark .select.is-disabled::after {
+ border-color: white; }
+ html.theme--documenter-dark .select.is-fullwidth {
+ width: 100%; }
+ html.theme--documenter-dark .select.is-fullwidth select {
+ width: 100%; }
+ html.theme--documenter-dark .select.is-loading::after {
+ margin-top: 0;
+ position: absolute;
+ right: 0.625em;
+ top: 0.625em;
+ transform: none; }
+ html.theme--documenter-dark .select.is-loading.is-small:after, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-loading:after {
+ font-size: 0.85em; }
+ html.theme--documenter-dark .select.is-loading.is-medium:after {
+ font-size: 1.25rem; }
+ html.theme--documenter-dark .select.is-loading.is-large:after {
+ font-size: 1.5rem; }
+ html.theme--documenter-dark .file {
+ align-items: stretch;
+ display: flex;
+ justify-content: flex-start;
+ position: relative; }
+ html.theme--documenter-dark .file.is-white .file-cta {
+ background-color: white;
+ border-color: transparent;
+ color: #0a0a0a; }
+ html.theme--documenter-dark .file.is-white:hover .file-cta, html.theme--documenter-dark .file.is-white.is-hovered .file-cta {
+ background-color: #f9f9f9;
+ border-color: transparent;
+ color: #0a0a0a; }
+ html.theme--documenter-dark .file.is-white:focus .file-cta, html.theme--documenter-dark .file.is-white.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(255, 255, 255, 0.25);
+ color: #0a0a0a; }
+ html.theme--documenter-dark .file.is-white:active .file-cta, html.theme--documenter-dark .file.is-white.is-active .file-cta {
+ background-color: #f2f2f2;
+ border-color: transparent;
+ color: #0a0a0a; }
+ html.theme--documenter-dark .file.is-black .file-cta {
+ background-color: #0a0a0a;
+ border-color: transparent;
+ color: white; }
+ html.theme--documenter-dark .file.is-black:hover .file-cta, html.theme--documenter-dark .file.is-black.is-hovered .file-cta {
+ background-color: #040404;
+ border-color: transparent;
+ color: white; }
+ html.theme--documenter-dark .file.is-black:focus .file-cta, html.theme--documenter-dark .file.is-black.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(10, 10, 10, 0.25);
+ color: white; }
+ html.theme--documenter-dark .file.is-black:active .file-cta, html.theme--documenter-dark .file.is-black.is-active .file-cta {
+ background-color: black;
+ border-color: transparent;
+ color: white; }
+ html.theme--documenter-dark .file.is-light .file-cta {
+ background-color: #ecf0f1;
+ border-color: transparent;
+ color: #282f2f; }
+ html.theme--documenter-dark .file.is-light:hover .file-cta, html.theme--documenter-dark .file.is-light.is-hovered .file-cta {
+ background-color: #e5eaec;
+ border-color: transparent;
+ color: #282f2f; }
+ html.theme--documenter-dark .file.is-light:focus .file-cta, html.theme--documenter-dark .file.is-light.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(236, 240, 241, 0.25);
+ color: #282f2f; }
+ html.theme--documenter-dark .file.is-light:active .file-cta, html.theme--documenter-dark .file.is-light.is-active .file-cta {
+ background-color: #dde4e6;
+ border-color: transparent;
+ color: #282f2f; }
+ html.theme--documenter-dark .file.is-dark .file-cta, html.theme--documenter-dark .content kbd.file .file-cta {
+ background-color: #282f2f;
+ border-color: transparent;
+ color: #ecf0f1; }
+ html.theme--documenter-dark .file.is-dark:hover .file-cta, html.theme--documenter-dark .content kbd.file:hover .file-cta, html.theme--documenter-dark .file.is-dark.is-hovered .file-cta, html.theme--documenter-dark .content kbd.file.is-hovered .file-cta {
+ background-color: #232829;
+ border-color: transparent;
+ color: #ecf0f1; }
+ html.theme--documenter-dark .file.is-dark:focus .file-cta, html.theme--documenter-dark .content kbd.file:focus .file-cta, html.theme--documenter-dark .file.is-dark.is-focused .file-cta, html.theme--documenter-dark .content kbd.file.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(40, 47, 47, 0.25);
+ color: #ecf0f1; }
+ html.theme--documenter-dark .file.is-dark:active .file-cta, html.theme--documenter-dark .content kbd.file:active .file-cta, html.theme--documenter-dark .file.is-dark.is-active .file-cta, html.theme--documenter-dark .content kbd.file.is-active .file-cta {
+ background-color: #1d2122;
+ border-color: transparent;
+ color: #ecf0f1; }
+ html.theme--documenter-dark .file.is-primary .file-cta, html.theme--documenter-dark .docstring > section > a.file.docs-sourcelink .file-cta {
+ background-color: #375a7f;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .file.is-primary:hover .file-cta, html.theme--documenter-dark .docstring > section > a.file.docs-sourcelink:hover .file-cta, html.theme--documenter-dark .file.is-primary.is-hovered .file-cta, html.theme--documenter-dark .docstring > section > a.file.is-hovered.docs-sourcelink .file-cta {
+ background-color: #335476;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .file.is-primary:focus .file-cta, html.theme--documenter-dark .docstring > section > a.file.docs-sourcelink:focus .file-cta, html.theme--documenter-dark .file.is-primary.is-focused .file-cta, html.theme--documenter-dark .docstring > section > a.file.is-focused.docs-sourcelink .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(55, 90, 127, 0.25);
+ color: #fff; }
+ html.theme--documenter-dark .file.is-primary:active .file-cta, html.theme--documenter-dark .docstring > section > a.file.docs-sourcelink:active .file-cta, html.theme--documenter-dark .file.is-primary.is-active .file-cta, html.theme--documenter-dark .docstring > section > a.file.is-active.docs-sourcelink .file-cta {
+ background-color: #2f4d6d;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .file.is-link .file-cta {
+ background-color: #1abc9c;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .file.is-link:hover .file-cta, html.theme--documenter-dark .file.is-link.is-hovered .file-cta {
+ background-color: #18b193;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .file.is-link:focus .file-cta, html.theme--documenter-dark .file.is-link.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(26, 188, 156, 0.25);
+ color: #fff; }
+ html.theme--documenter-dark .file.is-link:active .file-cta, html.theme--documenter-dark .file.is-link.is-active .file-cta {
+ background-color: #17a689;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .file.is-info .file-cta {
+ background-color: #024c7d;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .file.is-info:hover .file-cta, html.theme--documenter-dark .file.is-info.is-hovered .file-cta {
+ background-color: #024470;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .file.is-info:focus .file-cta, html.theme--documenter-dark .file.is-info.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(2, 76, 125, 0.25);
+ color: #fff; }
+ html.theme--documenter-dark .file.is-info:active .file-cta, html.theme--documenter-dark .file.is-info.is-active .file-cta {
+ background-color: #023d64;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .file.is-success .file-cta {
+ background-color: #008438;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .file.is-success:hover .file-cta, html.theme--documenter-dark .file.is-success.is-hovered .file-cta {
+ background-color: #007733;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .file.is-success:focus .file-cta, html.theme--documenter-dark .file.is-success.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(0, 132, 56, 0.25);
+ color: #fff; }
+ html.theme--documenter-dark .file.is-success:active .file-cta, html.theme--documenter-dark .file.is-success.is-active .file-cta {
+ background-color: #006b2d;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .file.is-warning .file-cta {
+ background-color: #ad8100;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .file.is-warning:hover .file-cta, html.theme--documenter-dark .file.is-warning.is-hovered .file-cta {
+ background-color: #a07700;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .file.is-warning:focus .file-cta, html.theme--documenter-dark .file.is-warning.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(173, 129, 0, 0.25);
+ color: #fff; }
+ html.theme--documenter-dark .file.is-warning:active .file-cta, html.theme--documenter-dark .file.is-warning.is-active .file-cta {
+ background-color: #946e00;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .file.is-danger .file-cta {
+ background-color: #9e1b0d;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .file.is-danger:hover .file-cta, html.theme--documenter-dark .file.is-danger.is-hovered .file-cta {
+ background-color: #92190c;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .file.is-danger:focus .file-cta, html.theme--documenter-dark .file.is-danger.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(158, 27, 13, 0.25);
+ color: #fff; }
+ html.theme--documenter-dark .file.is-danger:active .file-cta, html.theme--documenter-dark .file.is-danger.is-active .file-cta {
+ background-color: #86170b;
+ border-color: transparent;
+ color: #fff; }
+ html.theme--documenter-dark .file.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.file {
+ font-size: 0.85em; }
+ html.theme--documenter-dark .file.is-medium {
+ font-size: 1.25rem; }
+ html.theme--documenter-dark .file.is-medium .file-icon .fa {
+ font-size: 21px; }
+ html.theme--documenter-dark .file.is-large {
+ font-size: 1.5rem; }
+ html.theme--documenter-dark .file.is-large .file-icon .fa {
+ font-size: 28px; }
+ html.theme--documenter-dark .file.has-name .file-cta {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0; }
+ html.theme--documenter-dark .file.has-name .file-name {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0; }
+ html.theme--documenter-dark .file.has-name.is-empty .file-cta {
+ border-radius: 0.4em; }
+ html.theme--documenter-dark .file.has-name.is-empty .file-name {
+ display: none; }
+ html.theme--documenter-dark .file.is-boxed .file-label {
+ flex-direction: column; }
+ html.theme--documenter-dark .file.is-boxed .file-cta {
+ flex-direction: column;
+ height: auto;
+ padding: 1em 3em; }
+ html.theme--documenter-dark .file.is-boxed .file-name {
+ border-width: 0 1px 1px; }
+ html.theme--documenter-dark .file.is-boxed .file-icon {
+ height: 1.5em;
+ width: 1.5em; }
+ html.theme--documenter-dark .file.is-boxed .file-icon .fa {
+ font-size: 21px; }
+ html.theme--documenter-dark .file.is-boxed.is-small .file-icon .fa, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-boxed .file-icon .fa {
+ font-size: 14px; }
+ html.theme--documenter-dark .file.is-boxed.is-medium .file-icon .fa {
+ font-size: 28px; }
+ html.theme--documenter-dark .file.is-boxed.is-large .file-icon .fa {
+ font-size: 35px; }
+ html.theme--documenter-dark .file.is-boxed.has-name .file-cta {
+ border-radius: 0.4em 0.4em 0 0; }
+ html.theme--documenter-dark .file.is-boxed.has-name .file-name {
+ border-radius: 0 0 0.4em 0.4em;
+ border-width: 0 1px 1px; }
+ html.theme--documenter-dark .file.is-centered {
+ justify-content: center; }
+ html.theme--documenter-dark .file.is-fullwidth .file-label {
+ width: 100%; }
+ html.theme--documenter-dark .file.is-fullwidth .file-name {
+ flex-grow: 1;
+ max-width: none; }
+ html.theme--documenter-dark .file.is-right {
+ justify-content: flex-end; }
+ html.theme--documenter-dark .file.is-right .file-cta {
+ border-radius: 0 0.4em 0.4em 0; }
+ html.theme--documenter-dark .file.is-right .file-name {
+ border-radius: 0.4em 0 0 0.4em;
+ border-width: 1px 0 1px 1px;
+ order: -1; }
+ html.theme--documenter-dark .file-label {
+ align-items: stretch;
+ display: flex;
+ cursor: pointer;
+ justify-content: flex-start;
+ overflow: hidden;
+ position: relative; }
+ html.theme--documenter-dark .file-label:hover .file-cta {
+ background-color: #e5eaec;
+ color: #282f2f; }
+ html.theme--documenter-dark .file-label:hover .file-name {
+ border-color: #596668; }
+ html.theme--documenter-dark .file-label:active .file-cta {
+ background-color: #dde4e6;
+ color: #282f2f; }
+ html.theme--documenter-dark .file-label:active .file-name {
+ border-color: #535f61; }
+ html.theme--documenter-dark .file-input {
+ height: 100%;
+ left: 0;
+ opacity: 0;
+ outline: none;
+ position: absolute;
+ top: 0;
+ width: 100%; }
+ html.theme--documenter-dark .file-cta,
+ html.theme--documenter-dark .file-name {
+ border-color: #5e6d6f;
+ border-radius: 0.4em;
+ font-size: 1em;
+ padding-left: 1em;
+ padding-right: 1em;
+ white-space: nowrap; }
+ html.theme--documenter-dark .file-cta {
+ background-color: #ecf0f1;
+ color: #343c3d; }
+ html.theme--documenter-dark .file-name {
+ border-color: #5e6d6f;
+ border-style: solid;
+ border-width: 1px 1px 1px 0;
+ display: block;
+ max-width: 16em;
+ overflow: hidden;
+ text-align: left;
+ text-overflow: ellipsis; }
+ html.theme--documenter-dark .file-icon {
+ align-items: center;
+ display: flex;
+ height: 1em;
+ justify-content: center;
+ margin-right: 0.5em;
+ width: 1em; }
+ html.theme--documenter-dark .file-icon .fa {
+ font-size: 14px; }
+ html.theme--documenter-dark .label {
+ color: #282f2f;
+ display: block;
+ font-size: 15px;
+ font-weight: 700; }
+ html.theme--documenter-dark .label:not(:last-child) {
+ margin-bottom: 0.5em; }
+ html.theme--documenter-dark .label.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.label {
+ font-size: 0.85em; }
+ html.theme--documenter-dark .label.is-medium {
+ font-size: 1.25rem; }
+ html.theme--documenter-dark .label.is-large {
+ font-size: 1.5rem; }
+ html.theme--documenter-dark .help {
+ display: block;
+ font-size: 0.85em;
+ margin-top: 0.25rem; }
+ html.theme--documenter-dark .help.is-white {
+ color: white; }
+ html.theme--documenter-dark .help.is-black {
+ color: #0a0a0a; }
+ html.theme--documenter-dark .help.is-light {
+ color: #ecf0f1; }
+ html.theme--documenter-dark .help.is-dark, html.theme--documenter-dark .content kbd.help {
+ color: #282f2f; }
+ html.theme--documenter-dark .help.is-primary, html.theme--documenter-dark .docstring > section > a.help.docs-sourcelink {
+ color: #375a7f; }
+ html.theme--documenter-dark .help.is-link {
+ color: #1abc9c; }
+ html.theme--documenter-dark .help.is-info {
+ color: #024c7d; }
+ html.theme--documenter-dark .help.is-success {
+ color: #008438; }
+ html.theme--documenter-dark .help.is-warning {
+ color: #ad8100; }
+ html.theme--documenter-dark .help.is-danger {
+ color: #9e1b0d; }
+ html.theme--documenter-dark .field:not(:last-child) {
+ margin-bottom: 0.75rem; }
+ html.theme--documenter-dark .field.has-addons {
+ display: flex;
+ justify-content: flex-start; }
+ html.theme--documenter-dark .field.has-addons .control:not(:last-child) {
+ margin-right: -1px; }
+ html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) .button,
+ html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) .input,
+ html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) #documenter .docs-sidebar form.docs-search > input,
+ html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control:not(:first-child):not(:last-child) form.docs-search > input,
+ html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) .select select {
+ border-radius: 0; }
+ html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) .button,
+ html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) .input,
+ html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) #documenter .docs-sidebar form.docs-search > input,
+ html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control:first-child:not(:only-child) form.docs-search > input,
+ html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) .select select {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0; }
+ html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) .button,
+ html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) .input,
+ html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) #documenter .docs-sidebar form.docs-search > input,
+ html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control:last-child:not(:only-child) form.docs-search > input,
+ html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) .select select {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0; }
+ html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):hover, html.theme--documenter-dark .field.has-addons .control .button.is-hovered:not([disabled]),
+ html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):hover,
+ html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):hover,
+ html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):hover,
+ html.theme--documenter-dark .field.has-addons .control .input.is-hovered:not([disabled]),
+ html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-hovered:not([disabled]),
+ html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-hovered:not([disabled]),
+ html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):hover,
+ html.theme--documenter-dark .field.has-addons .control .select select.is-hovered:not([disabled]) {
+ z-index: 2; }
+ html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):focus, html.theme--documenter-dark .field.has-addons .control .button.is-focused:not([disabled]), html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):active, html.theme--documenter-dark .field.has-addons .control .button.is-active:not([disabled]),
+ html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):focus,
+ html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):focus,
+ html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):focus,
+ html.theme--documenter-dark .field.has-addons .control .input.is-focused:not([disabled]),
+ html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-focused:not([disabled]),
+ html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-focused:not([disabled]),
+ html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):active,
+ html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):active,
+ html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):active,
+ html.theme--documenter-dark .field.has-addons .control .input.is-active:not([disabled]),
+ html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-active:not([disabled]),
+ html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-active:not([disabled]),
+ html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):focus,
+ html.theme--documenter-dark .field.has-addons .control .select select.is-focused:not([disabled]),
+ html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):active,
+ html.theme--documenter-dark .field.has-addons .control .select select.is-active:not([disabled]) {
+ z-index: 3; }
+ html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):focus:hover, html.theme--documenter-dark .field.has-addons .control .button.is-focused:not([disabled]):hover, html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):active:hover, html.theme--documenter-dark .field.has-addons .control .button.is-active:not([disabled]):hover,
+ html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):focus:hover,
+ html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):focus:hover,
+ html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):focus:hover,
+ html.theme--documenter-dark .field.has-addons .control .input.is-focused:not([disabled]):hover,
+ html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-focused:not([disabled]):hover,
+ html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-focused:not([disabled]):hover,
+ html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):active:hover,
+ html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):active:hover,
+ html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):active:hover,
+ html.theme--documenter-dark .field.has-addons .control .input.is-active:not([disabled]):hover,
+ html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-active:not([disabled]):hover,
+ html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-active:not([disabled]):hover,
+ html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):focus:hover,
+ html.theme--documenter-dark .field.has-addons .control .select select.is-focused:not([disabled]):hover,
+ html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):active:hover,
+ html.theme--documenter-dark .field.has-addons .control .select select.is-active:not([disabled]):hover {
+ z-index: 4; }
+ html.theme--documenter-dark .field.has-addons .control.is-expanded {
+ flex-grow: 1;
+ flex-shrink: 1; }
+ html.theme--documenter-dark .field.has-addons.has-addons-centered {
+ justify-content: center; }
+ html.theme--documenter-dark .field.has-addons.has-addons-right {
+ justify-content: flex-end; }
+ html.theme--documenter-dark .field.has-addons.has-addons-fullwidth .control {
+ flex-grow: 1;
+ flex-shrink: 0; }
+ html.theme--documenter-dark .field.is-grouped {
+ display: flex;
+ justify-content: flex-start; }
+ html.theme--documenter-dark .field.is-grouped > .control {
+ flex-shrink: 0; }
+ html.theme--documenter-dark .field.is-grouped > .control:not(:last-child) {
+ margin-bottom: 0;
+ margin-right: 0.75rem; }
+ html.theme--documenter-dark .field.is-grouped > .control.is-expanded {
+ flex-grow: 1;
+ flex-shrink: 1; }
+ html.theme--documenter-dark .field.is-grouped.is-grouped-centered {
+ justify-content: center; }
+ html.theme--documenter-dark .field.is-grouped.is-grouped-right {
+ justify-content: flex-end; }
+ html.theme--documenter-dark .field.is-grouped.is-grouped-multiline {
+ flex-wrap: wrap; }
+ html.theme--documenter-dark .field.is-grouped.is-grouped-multiline > .control:last-child, html.theme--documenter-dark .field.is-grouped.is-grouped-multiline > .control:not(:last-child) {
+ margin-bottom: 0.75rem; }
+ html.theme--documenter-dark .field.is-grouped.is-grouped-multiline:last-child {
+ margin-bottom: -0.75rem; }
+ html.theme--documenter-dark .field.is-grouped.is-grouped-multiline:not(:last-child) {
+ margin-bottom: 0; }
+ @media screen and (min-width: 769px), print {
+ html.theme--documenter-dark .field.is-horizontal {
+ display: flex; } }
+ html.theme--documenter-dark .field-label .label {
+ font-size: inherit; }
+ @media screen and (max-width: 768px) {
+ html.theme--documenter-dark .field-label {
+ margin-bottom: 0.5rem; } }
+ @media screen and (min-width: 769px), print {
+ html.theme--documenter-dark .field-label {
+ flex-basis: 0;
+ flex-grow: 1;
+ flex-shrink: 0;
+ margin-right: 1.5rem;
+ text-align: right; }
+ html.theme--documenter-dark .field-label.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.field-label {
+ font-size: 0.85em;
+ padding-top: 0.375em; }
+ html.theme--documenter-dark .field-label.is-normal {
+ padding-top: 0.375em; }
+ html.theme--documenter-dark .field-label.is-medium {
+ font-size: 1.25rem;
+ padding-top: 0.375em; }
+ html.theme--documenter-dark .field-label.is-large {
+ font-size: 1.5rem;
+ padding-top: 0.375em; } }
+ html.theme--documenter-dark .field-body .field .field {
+ margin-bottom: 0; }
+ @media screen and (min-width: 769px), print {
+ html.theme--documenter-dark .field-body {
+ display: flex;
+ flex-basis: 0;
+ flex-grow: 5;
+ flex-shrink: 1; }
+ html.theme--documenter-dark .field-body .field {
+ margin-bottom: 0; }
+ html.theme--documenter-dark .field-body > .field {
+ flex-shrink: 1; }
+ html.theme--documenter-dark .field-body > .field:not(.is-narrow) {
+ flex-grow: 1; }
+ html.theme--documenter-dark .field-body > .field:not(:last-child) {
+ margin-right: 0.75rem; } }
+ html.theme--documenter-dark .control {
+ box-sizing: border-box;
+ clear: both;
+ font-size: 15px;
+ position: relative;
+ text-align: left; }
+ html.theme--documenter-dark .control.has-icons-left .input:focus ~ .icon, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input:focus ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input:focus ~ .icon,
+ html.theme--documenter-dark .control.has-icons-left .select:focus ~ .icon, html.theme--documenter-dark .control.has-icons-right .input:focus ~ .icon, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input:focus ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input:focus ~ .icon,
+ html.theme--documenter-dark .control.has-icons-right .select:focus ~ .icon {
+ color: #5e6d6f; }
+ html.theme--documenter-dark .control.has-icons-left .input.is-small ~ .icon, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input ~ .icon,
+ html.theme--documenter-dark .control.has-icons-left .select.is-small ~ .icon, html.theme--documenter-dark .control.has-icons-right .input.is-small ~ .icon, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input ~ .icon,
+ html.theme--documenter-dark .control.has-icons-right .select.is-small ~ .icon {
+ font-size: 0.85em; }
+ html.theme--documenter-dark .control.has-icons-left .input.is-medium ~ .icon, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input.is-medium ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input.is-medium ~ .icon,
+ html.theme--documenter-dark .control.has-icons-left .select.is-medium ~ .icon, html.theme--documenter-dark .control.has-icons-right .input.is-medium ~ .icon, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input.is-medium ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input.is-medium ~ .icon,
+ html.theme--documenter-dark .control.has-icons-right .select.is-medium ~ .icon {
+ font-size: 1.25rem; }
+ html.theme--documenter-dark .control.has-icons-left .input.is-large ~ .icon, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input.is-large ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input.is-large ~ .icon,
+ html.theme--documenter-dark .control.has-icons-left .select.is-large ~ .icon, html.theme--documenter-dark .control.has-icons-right .input.is-large ~ .icon, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input.is-large ~ .icon, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input.is-large ~ .icon,
+ html.theme--documenter-dark .control.has-icons-right .select.is-large ~ .icon {
+ font-size: 1.5rem; }
+ html.theme--documenter-dark .control.has-icons-left .icon, html.theme--documenter-dark .control.has-icons-right .icon {
+ color: #dbdee0;
+ height: 2.25em;
+ pointer-events: none;
+ position: absolute;
+ top: 0;
+ width: 2.25em;
+ z-index: 4; }
+ html.theme--documenter-dark .control.has-icons-left .input, html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search > input, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search > input,
+ html.theme--documenter-dark .control.has-icons-left .select select {
+ padding-left: 2.25em; }
+ html.theme--documenter-dark .control.has-icons-left .icon.is-left {
+ left: 0; }
+ html.theme--documenter-dark .control.has-icons-right .input, html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search > input, html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search > input,
+ html.theme--documenter-dark .control.has-icons-right .select select {
+ padding-right: 2.25em; }
+ html.theme--documenter-dark .control.has-icons-right .icon.is-right {
+ right: 0; }
+ html.theme--documenter-dark .control.is-loading::after {
+ position: absolute !important;
+ right: 0.625em;
+ top: 0.625em;
+ z-index: 4; }
+ html.theme--documenter-dark .control.is-loading.is-small:after, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.is-loading:after {
+ font-size: 0.85em; }
+ html.theme--documenter-dark .control.is-loading.is-medium:after {
+ font-size: 1.25rem; }
+ html.theme--documenter-dark .control.is-loading.is-large:after {
+ font-size: 1.5rem; }
+ html.theme--documenter-dark .breadcrumb {
+ font-size: 15px;
+ white-space: nowrap; }
+ html.theme--documenter-dark .breadcrumb a {
+ align-items: center;
+ color: #1abc9c;
+ display: flex;
+ justify-content: center;
+ padding: 0 0.75em; }
+ html.theme--documenter-dark .breadcrumb a:hover {
+ color: #1dd2af; }
+ html.theme--documenter-dark .breadcrumb li {
+ align-items: center;
+ display: flex; }
+ html.theme--documenter-dark .breadcrumb li:first-child a {
+ padding-left: 0; }
+ html.theme--documenter-dark .breadcrumb li.is-active a {
+ color: #f2f2f2;
+ cursor: default;
+ pointer-events: none; }
+ html.theme--documenter-dark .breadcrumb li + li::before {
+ color: #8c9b9d;
+ content: "\0002f"; }
+ html.theme--documenter-dark .breadcrumb ul,
+ html.theme--documenter-dark .breadcrumb ol {
+ align-items: flex-start;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: flex-start; }
+ html.theme--documenter-dark .breadcrumb .icon:first-child {
+ margin-right: 0.5em; }
+ html.theme--documenter-dark .breadcrumb .icon:last-child {
+ margin-left: 0.5em; }
+ html.theme--documenter-dark .breadcrumb.is-centered ol,
+ html.theme--documenter-dark .breadcrumb.is-centered ul {
+ justify-content: center; }
+ html.theme--documenter-dark .breadcrumb.is-right ol,
+ html.theme--documenter-dark .breadcrumb.is-right ul {
+ justify-content: flex-end; }
+ html.theme--documenter-dark .breadcrumb.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.breadcrumb {
+ font-size: 0.85em; }
+ html.theme--documenter-dark .breadcrumb.is-medium {
+ font-size: 1.25rem; }
+ html.theme--documenter-dark .breadcrumb.is-large {
+ font-size: 1.5rem; }
+ html.theme--documenter-dark .breadcrumb.has-arrow-separator li + li::before {
+ content: "\02192"; }
+ html.theme--documenter-dark .breadcrumb.has-bullet-separator li + li::before {
+ content: "\02022"; }
+ html.theme--documenter-dark .breadcrumb.has-dot-separator li + li::before {
+ content: "\000b7"; }
+ html.theme--documenter-dark .breadcrumb.has-succeeds-separator li + li::before {
+ content: "\0227B"; }
+ html.theme--documenter-dark .card {
+ background-color: white;
+ box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
+ color: #fff;
+ max-width: 100%;
+ position: relative; }
+ html.theme--documenter-dark .card-header {
+ background-color: transparent;
+ align-items: stretch;
+ box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1);
+ display: flex; }
+ html.theme--documenter-dark .card-header-title {
+ align-items: center;
+ color: #f2f2f2;
+ display: flex;
+ flex-grow: 1;
+ font-weight: 700;
+ padding: 0.75rem; }
+ html.theme--documenter-dark .card-header-title.is-centered {
+ justify-content: center; }
+ html.theme--documenter-dark .card-header-icon {
+ align-items: center;
+ cursor: pointer;
+ display: flex;
+ justify-content: center;
+ padding: 0.75rem; }
+ html.theme--documenter-dark .card-image {
+ display: block;
+ position: relative; }
+ html.theme--documenter-dark .card-content {
+ background-color: transparent;
+ padding: 1.5rem; }
+ html.theme--documenter-dark .card-footer {
+ background-color: transparent;
+ border-top: 1px solid #5e6d6f;
+ align-items: stretch;
+ display: flex; }
+ html.theme--documenter-dark .card-footer-item {
+ align-items: center;
+ display: flex;
+ flex-basis: 0;
+ flex-grow: 1;
+ flex-shrink: 0;
+ justify-content: center;
+ padding: 0.75rem; }
+ html.theme--documenter-dark .card-footer-item:not(:last-child) {
+ border-right: 1px solid #5e6d6f; }
+ html.theme--documenter-dark .card .media:not(:last-child) {
+ margin-bottom: 1.5rem; }
+ html.theme--documenter-dark .dropdown {
+ display: inline-flex;
+ position: relative;
+ vertical-align: top; }
+ html.theme--documenter-dark .dropdown.is-active .dropdown-menu, html.theme--documenter-dark .dropdown.is-hoverable:hover .dropdown-menu {
+ display: block; }
+ html.theme--documenter-dark .dropdown.is-right .dropdown-menu {
+ left: auto;
+ right: 0; }
+ html.theme--documenter-dark .dropdown.is-up .dropdown-menu {
+ bottom: 100%;
+ padding-bottom: 4px;
+ padding-top: initial;
+ top: auto; }
+ html.theme--documenter-dark .dropdown-menu {
+ display: none;
+ left: 0;
+ min-width: 12rem;
+ padding-top: 4px;
+ position: absolute;
+ top: 100%;
+ z-index: 20; }
+ html.theme--documenter-dark .dropdown-content {
+ background-color: #282f2f;
+ border-radius: 0.4em;
+ box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
+ padding-bottom: 0.5rem;
+ padding-top: 0.5rem; }
+ html.theme--documenter-dark .dropdown-item {
+ color: #fff;
+ display: block;
+ font-size: 0.875rem;
+ line-height: 1.5;
+ padding: 0.375rem 1rem;
+ position: relative; }
+ html.theme--documenter-dark a.dropdown-item,
+ html.theme--documenter-dark button.dropdown-item {
+ padding-right: 3rem;
+ text-align: left;
+ white-space: nowrap;
+ width: 100%; }
+ html.theme--documenter-dark a.dropdown-item:hover,
+ html.theme--documenter-dark button.dropdown-item:hover {
+ background-color: #282f2f;
+ color: #0a0a0a; }
+ html.theme--documenter-dark a.dropdown-item.is-active,
+ html.theme--documenter-dark button.dropdown-item.is-active {
+ background-color: #1abc9c;
+ color: #fff; }
+ html.theme--documenter-dark .dropdown-divider {
+ background-color: #5e6d6f;
+ border: none;
+ display: block;
+ height: 1px;
+ margin: 0.5rem 0; }
+ html.theme--documenter-dark .level {
+ align-items: center;
+ justify-content: space-between; }
+ html.theme--documenter-dark .level code {
+ border-radius: 0.4em; }
+ html.theme--documenter-dark .level img {
+ display: inline-block;
+ vertical-align: top; }
+ html.theme--documenter-dark .level.is-mobile {
+ display: flex; }
+ html.theme--documenter-dark .level.is-mobile .level-left,
+ html.theme--documenter-dark .level.is-mobile .level-right {
+ display: flex; }
+ html.theme--documenter-dark .level.is-mobile .level-left + .level-right {
+ margin-top: 0; }
+ html.theme--documenter-dark .level.is-mobile .level-item:not(:last-child) {
+ margin-bottom: 0;
+ margin-right: 0.75rem; }
+ html.theme--documenter-dark .level.is-mobile .level-item:not(.is-narrow) {
+ flex-grow: 1; }
+ @media screen and (min-width: 769px), print {
+ html.theme--documenter-dark .level {
+ display: flex; }
+ html.theme--documenter-dark .level > .level-item:not(.is-narrow) {
+ flex-grow: 1; } }
+ html.theme--documenter-dark .level-item {
+ align-items: center;
+ display: flex;
+ flex-basis: auto;
+ flex-grow: 0;
+ flex-shrink: 0;
+ justify-content: center; }
+ html.theme--documenter-dark .level-item .title,
+ html.theme--documenter-dark .level-item .subtitle {
+ margin-bottom: 0; }
+ @media screen and (max-width: 768px) {
+ html.theme--documenter-dark .level-item:not(:last-child) {
+ margin-bottom: 0.75rem; } }
+ html.theme--documenter-dark .level-left,
+ html.theme--documenter-dark .level-right {
+ flex-basis: auto;
+ flex-grow: 0;
+ flex-shrink: 0; }
+ html.theme--documenter-dark .level-left .level-item.is-flexible,
+ html.theme--documenter-dark .level-right .level-item.is-flexible {
+ flex-grow: 1; }
+ @media screen and (min-width: 769px), print {
+ html.theme--documenter-dark .level-left .level-item:not(:last-child),
+ html.theme--documenter-dark .level-right .level-item:not(:last-child) {
+ margin-right: 0.75rem; } }
+ html.theme--documenter-dark .level-left {
+ align-items: center;
+ justify-content: flex-start; }
+ @media screen and (max-width: 768px) {
+ html.theme--documenter-dark .level-left + .level-right {
+ margin-top: 1.5rem; } }
+ @media screen and (min-width: 769px), print {
+ html.theme--documenter-dark .level-left {
+ display: flex; } }
+ html.theme--documenter-dark .level-right {
+ align-items: center;
+ justify-content: flex-end; }
+ @media screen and (min-width: 769px), print {
+ html.theme--documenter-dark .level-right {
+ display: flex; } }
+ html.theme--documenter-dark .list {
+ background-color: white;
+ border-radius: 0.4em;
+ box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); }
+ html.theme--documenter-dark .list-item {
+ display: block;
+ padding: 0.5em 1em; }
+ html.theme--documenter-dark .list-item:not(a) {
+ color: #fff; }
+ html.theme--documenter-dark .list-item:first-child {
+ border-top-left-radius: 0.4em;
+ border-top-right-radius: 0.4em; }
+ html.theme--documenter-dark .list-item:last-child {
+ border-bottom-left-radius: 0.4em;
+ border-bottom-right-radius: 0.4em; }
+ html.theme--documenter-dark .list-item:not(:last-child) {
+ border-bottom: 1px solid #5e6d6f; }
+ html.theme--documenter-dark .list-item.is-active {
+ background-color: #1abc9c;
+ color: #fff; }
+ html.theme--documenter-dark a.list-item {
+ background-color: #282f2f;
+ cursor: pointer; }
+ html.theme--documenter-dark .media {
+ align-items: flex-start;
+ display: flex;
+ text-align: left; }
+ html.theme--documenter-dark .media .content:not(:last-child) {
+ margin-bottom: 0.75rem; }
+ html.theme--documenter-dark .media .media {
+ border-top: 1px solid rgba(94, 109, 111, 0.5);
+ display: flex;
+ padding-top: 0.75rem; }
+ html.theme--documenter-dark .media .media .content:not(:last-child),
+ html.theme--documenter-dark .media .media .control:not(:last-child) {
+ margin-bottom: 0.5rem; }
+ html.theme--documenter-dark .media .media .media {
+ padding-top: 0.5rem; }
+ html.theme--documenter-dark .media .media .media + .media {
+ margin-top: 0.5rem; }
+ html.theme--documenter-dark .media + .media {
+ border-top: 1px solid rgba(94, 109, 111, 0.5);
+ margin-top: 1rem;
+ padding-top: 1rem; }
+ html.theme--documenter-dark .media.is-large + .media {
+ margin-top: 1.5rem;
+ padding-top: 1.5rem; }
+ html.theme--documenter-dark .media-left,
+ html.theme--documenter-dark .media-right {
+ flex-basis: auto;
+ flex-grow: 0;
+ flex-shrink: 0; }
+ html.theme--documenter-dark .media-left {
+ margin-right: 1rem; }
+ html.theme--documenter-dark .media-right {
+ margin-left: 1rem; }
+ html.theme--documenter-dark .media-content {
+ flex-basis: auto;
+ flex-grow: 1;
+ flex-shrink: 1;
+ text-align: left; }
+ @media screen and (max-width: 768px) {
+ html.theme--documenter-dark .media-content {
+ overflow-x: auto; } }
+ html.theme--documenter-dark .menu {
+ font-size: 15px; }
+ html.theme--documenter-dark .menu.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.menu {
+ font-size: 0.85em; }
+ html.theme--documenter-dark .menu.is-medium {
+ font-size: 1.25rem; }
+ html.theme--documenter-dark .menu.is-large {
+ font-size: 1.5rem; }
+ html.theme--documenter-dark .menu-list {
+ line-height: 1.25; }
+ html.theme--documenter-dark .menu-list a {
+ border-radius: 3px;
+ color: #fff;
+ display: block;
+ padding: 0.5em 0.75em; }
+ html.theme--documenter-dark .menu-list a:hover {
+ background-color: #282f2f;
+ color: #f2f2f2; }
+ html.theme--documenter-dark .menu-list a.is-active {
+ background-color: #1abc9c;
+ color: #fff; }
+ html.theme--documenter-dark .menu-list li ul {
+ border-left: 1px solid #5e6d6f;
+ margin: 0.75em;
+ padding-left: 0.75em; }
+ html.theme--documenter-dark .menu-label {
+ color: white;
+ font-size: 0.75em;
+ letter-spacing: 0.1em;
+ text-transform: uppercase; }
+ html.theme--documenter-dark .menu-label:not(:first-child) {
+ margin-top: 1em; }
+ html.theme--documenter-dark .menu-label:not(:last-child) {
+ margin-bottom: 1em; }
+ html.theme--documenter-dark .message {
+ background-color: #282f2f;
+ border-radius: 0.4em;
+ font-size: 15px; }
+ html.theme--documenter-dark .message strong {
+ color: currentColor; }
+ html.theme--documenter-dark .message a:not(.button):not(.tag):not(.dropdown-item) {
+ color: currentColor;
+ text-decoration: underline; }
+ html.theme--documenter-dark .message.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.message {
+ font-size: 0.85em; }
+ html.theme--documenter-dark .message.is-medium {
+ font-size: 1.25rem; }
+ html.theme--documenter-dark .message.is-large {
+ font-size: 1.5rem; }
+ html.theme--documenter-dark .message.is-white {
+ background-color: white; }
+ html.theme--documenter-dark .message.is-white .message-header {
+ background-color: white;
+ color: #0a0a0a; }
+ html.theme--documenter-dark .message.is-white .message-body {
+ border-color: white;
+ color: #4d4d4d; }
+ html.theme--documenter-dark .message.is-black {
+ background-color: #fafafa; }
+ html.theme--documenter-dark .message.is-black .message-header {
+ background-color: #0a0a0a;
+ color: white; }
+ html.theme--documenter-dark .message.is-black .message-body {
+ border-color: #0a0a0a;
+ color: #090909; }
+ html.theme--documenter-dark .message.is-light {
+ background-color: #f9fafb; }
+ html.theme--documenter-dark .message.is-light .message-header {
+ background-color: #ecf0f1;
+ color: #282f2f; }
+ html.theme--documenter-dark .message.is-light .message-body {
+ border-color: #ecf0f1;
+ color: #505050; }
+ html.theme--documenter-dark .message.is-dark, html.theme--documenter-dark .content kbd.message {
+ background-color: #f9fafa; }
+ html.theme--documenter-dark .message.is-dark .message-header, html.theme--documenter-dark .content kbd.message .message-header {
+ background-color: #282f2f;
+ color: #ecf0f1; }
+ html.theme--documenter-dark .message.is-dark .message-body, html.theme--documenter-dark .content kbd.message .message-body {
+ border-color: #282f2f;
+ color: #212526; }
+ html.theme--documenter-dark .message.is-primary, html.theme--documenter-dark .docstring > section > a.message.docs-sourcelink {
+ background-color: #f8fafc; }
+ html.theme--documenter-dark .message.is-primary .message-header, html.theme--documenter-dark .docstring > section > a.message.docs-sourcelink .message-header {
+ background-color: #375a7f;
+ color: #fff; }
+ html.theme--documenter-dark .message.is-primary .message-body, html.theme--documenter-dark .docstring > section > a.message.docs-sourcelink .message-body {
+ border-color: #375a7f;
+ color: #2b4159; }
+ html.theme--documenter-dark .message.is-link {
+ background-color: #f6fefc; }
+ html.theme--documenter-dark .message.is-link .message-header {
+ background-color: #1abc9c;
+ color: #fff; }
+ html.theme--documenter-dark .message.is-link .message-body {
+ border-color: #1abc9c;
+ color: #0b2f28; }
+ html.theme--documenter-dark .message.is-info {
+ background-color: #f5fbff; }
+ html.theme--documenter-dark .message.is-info .message-header {
+ background-color: #024c7d;
+ color: #fff; }
+ html.theme--documenter-dark .message.is-info .message-body {
+ border-color: #024c7d;
+ color: #033659; }
+ html.theme--documenter-dark .message.is-success {
+ background-color: #f5fff9; }
+ html.theme--documenter-dark .message.is-success .message-header {
+ background-color: #008438;
+ color: #fff; }
+ html.theme--documenter-dark .message.is-success .message-body {
+ border-color: #008438;
+ color: #023518; }
+ html.theme--documenter-dark .message.is-warning {
+ background-color: #fffcf5; }
+ html.theme--documenter-dark .message.is-warning .message-header {
+ background-color: #ad8100;
+ color: #fff; }
+ html.theme--documenter-dark .message.is-warning .message-body {
+ border-color: #ad8100;
+ color: #3d2e03; }
+ html.theme--documenter-dark .message.is-danger {
+ background-color: #fef6f6; }
+ html.theme--documenter-dark .message.is-danger .message-header {
+ background-color: #9e1b0d;
+ color: #fff; }
+ html.theme--documenter-dark .message.is-danger .message-body {
+ border-color: #9e1b0d;
+ color: #7a170c; }
+ html.theme--documenter-dark .message-header {
+ align-items: center;
+ background-color: #fff;
+ border-radius: 0.4em 0.4em 0 0;
+ color: rgba(0, 0, 0, 0.7);
+ display: flex;
+ font-weight: 700;
+ justify-content: space-between;
+ line-height: 1.25;
+ padding: 0.75em 1em;
+ position: relative; }
+ html.theme--documenter-dark .message-header .delete {
+ flex-grow: 0;
+ flex-shrink: 0;
+ margin-left: 0.75em; }
+ html.theme--documenter-dark .message-header + .message-body {
+ border-width: 0;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0; }
+ html.theme--documenter-dark .message-body {
+ border-color: #5e6d6f;
+ border-radius: 0.4em;
+ border-style: solid;
+ border-width: 0 0 0 4px;
+ color: #fff;
+ padding: 1.25em 1.5em; }
+ html.theme--documenter-dark .message-body code,
+ html.theme--documenter-dark .message-body pre {
+ background-color: white; }
+ html.theme--documenter-dark .message-body pre code {
+ background-color: transparent; }
+ html.theme--documenter-dark .modal {
+ align-items: center;
+ display: none;
+ flex-direction: column;
+ justify-content: center;
+ overflow: hidden;
+ position: fixed;
+ z-index: 40; }
+ html.theme--documenter-dark .modal.is-active {
+ display: flex; }
+ html.theme--documenter-dark .modal-background {
+ background-color: rgba(10, 10, 10, 0.86); }
+ html.theme--documenter-dark .modal-content,
+ html.theme--documenter-dark .modal-card {
+ margin: 0 20px;
+ max-height: calc(100vh - 160px);
+ overflow: auto;
+ position: relative;
+ width: 100%; }
+ @media screen and (min-width: 769px), print {
+ html.theme--documenter-dark .modal-content,
+ html.theme--documenter-dark .modal-card {
+ margin: 0 auto;
+ max-height: calc(100vh - 40px);
+ width: 640px; } }
+ html.theme--documenter-dark .modal-close {
+ background: none;
+ height: 40px;
+ position: fixed;
+ right: 20px;
+ top: 20px;
+ width: 40px; }
+ html.theme--documenter-dark .modal-card {
+ display: flex;
+ flex-direction: column;
+ max-height: calc(100vh - 40px);
+ overflow: hidden;
+ -ms-overflow-y: visible; }
+ html.theme--documenter-dark .modal-card-head,
+ html.theme--documenter-dark .modal-card-foot {
+ align-items: center;
+ background-color: #282f2f;
+ display: flex;
+ flex-shrink: 0;
+ justify-content: flex-start;
+ padding: 20px;
+ position: relative; }
+ html.theme--documenter-dark .modal-card-head {
+ border-bottom: 1px solid #5e6d6f;
+ border-top-left-radius: 8px;
+ border-top-right-radius: 8px; }
+ html.theme--documenter-dark .modal-card-title {
+ color: #f2f2f2;
+ flex-grow: 1;
+ flex-shrink: 0;
+ font-size: 1.5rem;
+ line-height: 1; }
+ html.theme--documenter-dark .modal-card-foot {
+ border-bottom-left-radius: 8px;
+ border-bottom-right-radius: 8px;
+ border-top: 1px solid #5e6d6f; }
+ html.theme--documenter-dark .modal-card-foot .button:not(:last-child) {
+ margin-right: 0.5em; }
+ html.theme--documenter-dark .modal-card-body {
+ -webkit-overflow-scrolling: touch;
+ background-color: white;
+ flex-grow: 1;
+ flex-shrink: 1;
+ overflow: auto;
+ padding: 20px; }
+ html.theme--documenter-dark .navbar {
+ background-color: #375a7f;
+ min-height: 4rem;
+ position: relative;
+ z-index: 30; }
+ html.theme--documenter-dark .navbar.is-white {
+ background-color: white;
+ color: #0a0a0a; }
+ html.theme--documenter-dark .navbar.is-white .navbar-brand > .navbar-item,
+ html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link {
+ color: #0a0a0a; }
+ html.theme--documenter-dark .navbar.is-white .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-white .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-white .navbar-brand > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link.is-active {
+ background-color: #f2f2f2;
+ color: #0a0a0a; }
+ html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link::after {
+ border-color: #0a0a0a; }
+ html.theme--documenter-dark .navbar.is-white .navbar-burger {
+ color: #0a0a0a; }
+ @media screen and (min-width: 1056px) {
+ html.theme--documenter-dark .navbar.is-white .navbar-start > .navbar-item,
+ html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link,
+ html.theme--documenter-dark .navbar.is-white .navbar-end > .navbar-item,
+ html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link {
+ color: #0a0a0a; }
+ html.theme--documenter-dark .navbar.is-white .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-white .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-white .navbar-start > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link.is-active,
+ html.theme--documenter-dark .navbar.is-white .navbar-end > a.navbar-item:focus,
+ html.theme--documenter-dark .navbar.is-white .navbar-end > a.navbar-item:hover,
+ html.theme--documenter-dark .navbar.is-white .navbar-end > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link.is-active {
+ background-color: #f2f2f2;
+ color: #0a0a0a; }
+ html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link::after,
+ html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link::after {
+ border-color: #0a0a0a; }
+ html.theme--documenter-dark .navbar.is-white .navbar-item.has-dropdown:focus .navbar-link,
+ html.theme--documenter-dark .navbar.is-white .navbar-item.has-dropdown:hover .navbar-link,
+ html.theme--documenter-dark .navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #f2f2f2;
+ color: #0a0a0a; }
+ html.theme--documenter-dark .navbar.is-white .navbar-dropdown a.navbar-item.is-active {
+ background-color: white;
+ color: #0a0a0a; } }
+ html.theme--documenter-dark .navbar.is-black {
+ background-color: #0a0a0a;
+ color: white; }
+ html.theme--documenter-dark .navbar.is-black .navbar-brand > .navbar-item,
+ html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link {
+ color: white; }
+ html.theme--documenter-dark .navbar.is-black .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-black .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-black .navbar-brand > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link.is-active {
+ background-color: black;
+ color: white; }
+ html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link::after {
+ border-color: white; }
+ html.theme--documenter-dark .navbar.is-black .navbar-burger {
+ color: white; }
+ @media screen and (min-width: 1056px) {
+ html.theme--documenter-dark .navbar.is-black .navbar-start > .navbar-item,
+ html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link,
+ html.theme--documenter-dark .navbar.is-black .navbar-end > .navbar-item,
+ html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link {
+ color: white; }
+ html.theme--documenter-dark .navbar.is-black .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-black .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-black .navbar-start > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link.is-active,
+ html.theme--documenter-dark .navbar.is-black .navbar-end > a.navbar-item:focus,
+ html.theme--documenter-dark .navbar.is-black .navbar-end > a.navbar-item:hover,
+ html.theme--documenter-dark .navbar.is-black .navbar-end > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link.is-active {
+ background-color: black;
+ color: white; }
+ html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link::after,
+ html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link::after {
+ border-color: white; }
+ html.theme--documenter-dark .navbar.is-black .navbar-item.has-dropdown:focus .navbar-link,
+ html.theme--documenter-dark .navbar.is-black .navbar-item.has-dropdown:hover .navbar-link,
+ html.theme--documenter-dark .navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: black;
+ color: white; }
+ html.theme--documenter-dark .navbar.is-black .navbar-dropdown a.navbar-item.is-active {
+ background-color: #0a0a0a;
+ color: white; } }
+ html.theme--documenter-dark .navbar.is-light {
+ background-color: #ecf0f1;
+ color: #282f2f; }
+ html.theme--documenter-dark .navbar.is-light .navbar-brand > .navbar-item,
+ html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link {
+ color: #282f2f; }
+ html.theme--documenter-dark .navbar.is-light .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-light .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-light .navbar-brand > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link.is-active {
+ background-color: #dde4e6;
+ color: #282f2f; }
+ html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link::after {
+ border-color: #282f2f; }
+ html.theme--documenter-dark .navbar.is-light .navbar-burger {
+ color: #282f2f; }
+ @media screen and (min-width: 1056px) {
+ html.theme--documenter-dark .navbar.is-light .navbar-start > .navbar-item,
+ html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link,
+ html.theme--documenter-dark .navbar.is-light .navbar-end > .navbar-item,
+ html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link {
+ color: #282f2f; }
+ html.theme--documenter-dark .navbar.is-light .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-light .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-light .navbar-start > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link.is-active,
+ html.theme--documenter-dark .navbar.is-light .navbar-end > a.navbar-item:focus,
+ html.theme--documenter-dark .navbar.is-light .navbar-end > a.navbar-item:hover,
+ html.theme--documenter-dark .navbar.is-light .navbar-end > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link.is-active {
+ background-color: #dde4e6;
+ color: #282f2f; }
+ html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link::after,
+ html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link::after {
+ border-color: #282f2f; }
+ html.theme--documenter-dark .navbar.is-light .navbar-item.has-dropdown:focus .navbar-link,
+ html.theme--documenter-dark .navbar.is-light .navbar-item.has-dropdown:hover .navbar-link,
+ html.theme--documenter-dark .navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #dde4e6;
+ color: #282f2f; }
+ html.theme--documenter-dark .navbar.is-light .navbar-dropdown a.navbar-item.is-active {
+ background-color: #ecf0f1;
+ color: #282f2f; } }
+ html.theme--documenter-dark .navbar.is-dark, html.theme--documenter-dark .content kbd.navbar {
+ background-color: #282f2f;
+ color: #ecf0f1; }
+ html.theme--documenter-dark .navbar.is-dark .navbar-brand > .navbar-item, html.theme--documenter-dark .content kbd.navbar .navbar-brand > .navbar-item,
+ html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link,
+ html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link {
+ color: #ecf0f1; }
+ html.theme--documenter-dark .navbar.is-dark .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .content kbd.navbar .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-dark .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .content kbd.navbar .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-dark .navbar-brand > a.navbar-item.is-active, html.theme--documenter-dark .content kbd.navbar .navbar-brand > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link:focus,
+ html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link:hover,
+ html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link.is-active,
+ html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link.is-active {
+ background-color: #1d2122;
+ color: #ecf0f1; }
+ html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link::after, html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link::after {
+ border-color: #ecf0f1; }
+ html.theme--documenter-dark .navbar.is-dark .navbar-burger, html.theme--documenter-dark .content kbd.navbar .navbar-burger {
+ color: #ecf0f1; }
+ @media screen and (min-width: 1056px) {
+ html.theme--documenter-dark .navbar.is-dark .navbar-start > .navbar-item, html.theme--documenter-dark .content kbd.navbar .navbar-start > .navbar-item,
+ html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link,
+ html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link,
+ html.theme--documenter-dark .navbar.is-dark .navbar-end > .navbar-item,
+ html.theme--documenter-dark .content kbd.navbar .navbar-end > .navbar-item,
+ html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link,
+ html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link {
+ color: #ecf0f1; }
+ html.theme--documenter-dark .navbar.is-dark .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .content kbd.navbar .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-dark .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .content kbd.navbar .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-dark .navbar-start > a.navbar-item.is-active, html.theme--documenter-dark .content kbd.navbar .navbar-start > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link:focus,
+ html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link:hover,
+ html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link.is-active,
+ html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link.is-active,
+ html.theme--documenter-dark .navbar.is-dark .navbar-end > a.navbar-item:focus,
+ html.theme--documenter-dark .content kbd.navbar .navbar-end > a.navbar-item:focus,
+ html.theme--documenter-dark .navbar.is-dark .navbar-end > a.navbar-item:hover,
+ html.theme--documenter-dark .content kbd.navbar .navbar-end > a.navbar-item:hover,
+ html.theme--documenter-dark .navbar.is-dark .navbar-end > a.navbar-item.is-active,
+ html.theme--documenter-dark .content kbd.navbar .navbar-end > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link:focus,
+ html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link:hover,
+ html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link.is-active,
+ html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link.is-active {
+ background-color: #1d2122;
+ color: #ecf0f1; }
+ html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link::after, html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link::after,
+ html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link::after,
+ html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link::after {
+ border-color: #ecf0f1; }
+ html.theme--documenter-dark .navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link, html.theme--documenter-dark .content kbd.navbar .navbar-item.has-dropdown:focus .navbar-link,
+ html.theme--documenter-dark .navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link,
+ html.theme--documenter-dark .content kbd.navbar .navbar-item.has-dropdown:hover .navbar-link,
+ html.theme--documenter-dark .navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link,
+ html.theme--documenter-dark .content kbd.navbar .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #1d2122;
+ color: #ecf0f1; }
+ html.theme--documenter-dark .navbar.is-dark .navbar-dropdown a.navbar-item.is-active, html.theme--documenter-dark .content kbd.navbar .navbar-dropdown a.navbar-item.is-active {
+ background-color: #282f2f;
+ color: #ecf0f1; } }
+ html.theme--documenter-dark .navbar.is-primary, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink {
+ background-color: #375a7f;
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-primary .navbar-brand > .navbar-item, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand > .navbar-item,
+ html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link,
+ html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link {
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-primary .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-primary .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-primary .navbar-brand > a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link:focus,
+ html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link:hover,
+ html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link.is-active,
+ html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link.is-active {
+ background-color: #2f4d6d;
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link::after, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link::after {
+ border-color: #fff; }
+ html.theme--documenter-dark .navbar.is-primary .navbar-burger, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-burger {
+ color: #fff; }
+ @media screen and (min-width: 1056px) {
+ html.theme--documenter-dark .navbar.is-primary .navbar-start > .navbar-item, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start > .navbar-item,
+ html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link,
+ html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link,
+ html.theme--documenter-dark .navbar.is-primary .navbar-end > .navbar-item,
+ html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end > .navbar-item,
+ html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link,
+ html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link {
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-primary .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-primary .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-primary .navbar-start > a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link:focus,
+ html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link:hover,
+ html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link.is-active,
+ html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link.is-active,
+ html.theme--documenter-dark .navbar.is-primary .navbar-end > a.navbar-item:focus,
+ html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item:focus,
+ html.theme--documenter-dark .navbar.is-primary .navbar-end > a.navbar-item:hover,
+ html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item:hover,
+ html.theme--documenter-dark .navbar.is-primary .navbar-end > a.navbar-item.is-active,
+ html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link:focus,
+ html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link:hover,
+ html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link.is-active,
+ html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link.is-active {
+ background-color: #2f4d6d;
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link::after, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link::after,
+ html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link::after,
+ html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link::after {
+ border-color: #fff; }
+ html.theme--documenter-dark .navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown:focus .navbar-link,
+ html.theme--documenter-dark .navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,
+ html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown:hover .navbar-link,
+ html.theme--documenter-dark .navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link,
+ html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #2f4d6d;
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-primary .navbar-dropdown a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-dropdown a.navbar-item.is-active {
+ background-color: #375a7f;
+ color: #fff; } }
+ html.theme--documenter-dark .navbar.is-link {
+ background-color: #1abc9c;
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-link .navbar-brand > .navbar-item,
+ html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link {
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-link .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-link .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-link .navbar-brand > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link.is-active {
+ background-color: #17a689;
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link::after {
+ border-color: #fff; }
+ html.theme--documenter-dark .navbar.is-link .navbar-burger {
+ color: #fff; }
+ @media screen and (min-width: 1056px) {
+ html.theme--documenter-dark .navbar.is-link .navbar-start > .navbar-item,
+ html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link,
+ html.theme--documenter-dark .navbar.is-link .navbar-end > .navbar-item,
+ html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link {
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-link .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-link .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-link .navbar-start > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link.is-active,
+ html.theme--documenter-dark .navbar.is-link .navbar-end > a.navbar-item:focus,
+ html.theme--documenter-dark .navbar.is-link .navbar-end > a.navbar-item:hover,
+ html.theme--documenter-dark .navbar.is-link .navbar-end > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link.is-active {
+ background-color: #17a689;
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link::after,
+ html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link::after {
+ border-color: #fff; }
+ html.theme--documenter-dark .navbar.is-link .navbar-item.has-dropdown:focus .navbar-link,
+ html.theme--documenter-dark .navbar.is-link .navbar-item.has-dropdown:hover .navbar-link,
+ html.theme--documenter-dark .navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #17a689;
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-link .navbar-dropdown a.navbar-item.is-active {
+ background-color: #1abc9c;
+ color: #fff; } }
+ html.theme--documenter-dark .navbar.is-info {
+ background-color: #024c7d;
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-info .navbar-brand > .navbar-item,
+ html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link {
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-info .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-info .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-info .navbar-brand > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link.is-active {
+ background-color: #023d64;
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link::after {
+ border-color: #fff; }
+ html.theme--documenter-dark .navbar.is-info .navbar-burger {
+ color: #fff; }
+ @media screen and (min-width: 1056px) {
+ html.theme--documenter-dark .navbar.is-info .navbar-start > .navbar-item,
+ html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link,
+ html.theme--documenter-dark .navbar.is-info .navbar-end > .navbar-item,
+ html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link {
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-info .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-info .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-info .navbar-start > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link.is-active,
+ html.theme--documenter-dark .navbar.is-info .navbar-end > a.navbar-item:focus,
+ html.theme--documenter-dark .navbar.is-info .navbar-end > a.navbar-item:hover,
+ html.theme--documenter-dark .navbar.is-info .navbar-end > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link.is-active {
+ background-color: #023d64;
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link::after,
+ html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link::after {
+ border-color: #fff; }
+ html.theme--documenter-dark .navbar.is-info .navbar-item.has-dropdown:focus .navbar-link,
+ html.theme--documenter-dark .navbar.is-info .navbar-item.has-dropdown:hover .navbar-link,
+ html.theme--documenter-dark .navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #023d64;
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-info .navbar-dropdown a.navbar-item.is-active {
+ background-color: #024c7d;
+ color: #fff; } }
+ html.theme--documenter-dark .navbar.is-success {
+ background-color: #008438;
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-success .navbar-brand > .navbar-item,
+ html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link {
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-success .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-success .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-success .navbar-brand > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link.is-active {
+ background-color: #006b2d;
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link::after {
+ border-color: #fff; }
+ html.theme--documenter-dark .navbar.is-success .navbar-burger {
+ color: #fff; }
+ @media screen and (min-width: 1056px) {
+ html.theme--documenter-dark .navbar.is-success .navbar-start > .navbar-item,
+ html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link,
+ html.theme--documenter-dark .navbar.is-success .navbar-end > .navbar-item,
+ html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link {
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-success .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-success .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-success .navbar-start > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link.is-active,
+ html.theme--documenter-dark .navbar.is-success .navbar-end > a.navbar-item:focus,
+ html.theme--documenter-dark .navbar.is-success .navbar-end > a.navbar-item:hover,
+ html.theme--documenter-dark .navbar.is-success .navbar-end > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link.is-active {
+ background-color: #006b2d;
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link::after,
+ html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link::after {
+ border-color: #fff; }
+ html.theme--documenter-dark .navbar.is-success .navbar-item.has-dropdown:focus .navbar-link,
+ html.theme--documenter-dark .navbar.is-success .navbar-item.has-dropdown:hover .navbar-link,
+ html.theme--documenter-dark .navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #006b2d;
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-success .navbar-dropdown a.navbar-item.is-active {
+ background-color: #008438;
+ color: #fff; } }
+ html.theme--documenter-dark .navbar.is-warning {
+ background-color: #ad8100;
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-warning .navbar-brand > .navbar-item,
+ html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link {
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-warning .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-warning .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-warning .navbar-brand > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link.is-active {
+ background-color: #946e00;
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link::after {
+ border-color: #fff; }
+ html.theme--documenter-dark .navbar.is-warning .navbar-burger {
+ color: #fff; }
+ @media screen and (min-width: 1056px) {
+ html.theme--documenter-dark .navbar.is-warning .navbar-start > .navbar-item,
+ html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link,
+ html.theme--documenter-dark .navbar.is-warning .navbar-end > .navbar-item,
+ html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link {
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-warning .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-warning .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-warning .navbar-start > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link.is-active,
+ html.theme--documenter-dark .navbar.is-warning .navbar-end > a.navbar-item:focus,
+ html.theme--documenter-dark .navbar.is-warning .navbar-end > a.navbar-item:hover,
+ html.theme--documenter-dark .navbar.is-warning .navbar-end > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link.is-active {
+ background-color: #946e00;
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link::after,
+ html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link::after {
+ border-color: #fff; }
+ html.theme--documenter-dark .navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link,
+ html.theme--documenter-dark .navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link,
+ html.theme--documenter-dark .navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #946e00;
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-warning .navbar-dropdown a.navbar-item.is-active {
+ background-color: #ad8100;
+ color: #fff; } }
+ html.theme--documenter-dark .navbar.is-danger {
+ background-color: #9e1b0d;
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-danger .navbar-brand > .navbar-item,
+ html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link {
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-danger .navbar-brand > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-danger .navbar-brand > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-danger .navbar-brand > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link.is-active {
+ background-color: #86170b;
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link::after {
+ border-color: #fff; }
+ html.theme--documenter-dark .navbar.is-danger .navbar-burger {
+ color: #fff; }
+ @media screen and (min-width: 1056px) {
+ html.theme--documenter-dark .navbar.is-danger .navbar-start > .navbar-item,
+ html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link,
+ html.theme--documenter-dark .navbar.is-danger .navbar-end > .navbar-item,
+ html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link {
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-danger .navbar-start > a.navbar-item:focus, html.theme--documenter-dark .navbar.is-danger .navbar-start > a.navbar-item:hover, html.theme--documenter-dark .navbar.is-danger .navbar-start > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link.is-active,
+ html.theme--documenter-dark .navbar.is-danger .navbar-end > a.navbar-item:focus,
+ html.theme--documenter-dark .navbar.is-danger .navbar-end > a.navbar-item:hover,
+ html.theme--documenter-dark .navbar.is-danger .navbar-end > a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link.is-active {
+ background-color: #86170b;
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link::after,
+ html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link::after {
+ border-color: #fff; }
+ html.theme--documenter-dark .navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link,
+ html.theme--documenter-dark .navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link,
+ html.theme--documenter-dark .navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #86170b;
+ color: #fff; }
+ html.theme--documenter-dark .navbar.is-danger .navbar-dropdown a.navbar-item.is-active {
+ background-color: #9e1b0d;
+ color: #fff; } }
+ html.theme--documenter-dark .navbar > .container {
+ align-items: stretch;
+ display: flex;
+ min-height: 4rem;
+ width: 100%; }
+ html.theme--documenter-dark .navbar.has-shadow {
+ box-shadow: 0 2px 0 0 #282f2f; }
+ html.theme--documenter-dark .navbar.is-fixed-bottom, html.theme--documenter-dark .navbar.is-fixed-top {
+ left: 0;
+ position: fixed;
+ right: 0;
+ z-index: 30; }
+ html.theme--documenter-dark .navbar.is-fixed-bottom {
+ bottom: 0; }
+ html.theme--documenter-dark .navbar.is-fixed-bottom.has-shadow {
+ box-shadow: 0 -2px 0 0 #282f2f; }
+ html.theme--documenter-dark .navbar.is-fixed-top {
+ top: 0; }
+ html.theme--documenter-dark html.has-navbar-fixed-top,
+ html.theme--documenter-dark body.has-navbar-fixed-top {
+ padding-top: 4rem; }
+ html.theme--documenter-dark html.has-navbar-fixed-bottom,
+ html.theme--documenter-dark body.has-navbar-fixed-bottom {
+ padding-bottom: 4rem; }
+ html.theme--documenter-dark .navbar-brand,
+ html.theme--documenter-dark .navbar-tabs {
+ align-items: stretch;
+ display: flex;
+ flex-shrink: 0;
+ min-height: 4rem; }
+ html.theme--documenter-dark .navbar-brand a.navbar-item:focus, html.theme--documenter-dark .navbar-brand a.navbar-item:hover {
+ background-color: transparent; }
+ html.theme--documenter-dark .navbar-tabs {
+ -webkit-overflow-scrolling: touch;
+ max-width: 100vw;
+ overflow-x: auto;
+ overflow-y: hidden; }
+ html.theme--documenter-dark .navbar-burger {
+ color: #fff;
+ cursor: pointer;
+ display: block;
+ height: 4rem;
+ position: relative;
+ width: 4rem;
+ margin-left: auto; }
+ html.theme--documenter-dark .navbar-burger span {
+ background-color: currentColor;
+ display: block;
+ height: 1px;
+ left: calc(50% - 8px);
+ position: absolute;
+ transform-origin: center;
+ transition-duration: 86ms;
+ transition-property: background-color, opacity, transform;
+ transition-timing-function: ease-out;
+ width: 16px; }
+ html.theme--documenter-dark .navbar-burger span:nth-child(1) {
+ top: calc(50% - 6px); }
+ html.theme--documenter-dark .navbar-burger span:nth-child(2) {
+ top: calc(50% - 1px); }
+ html.theme--documenter-dark .navbar-burger span:nth-child(3) {
+ top: calc(50% + 4px); }
+ html.theme--documenter-dark .navbar-burger:hover {
+ background-color: rgba(0, 0, 0, 0.05); }
+ html.theme--documenter-dark .navbar-burger.is-active span:nth-child(1) {
+ transform: translateY(5px) rotate(45deg); }
+ html.theme--documenter-dark .navbar-burger.is-active span:nth-child(2) {
+ opacity: 0; }
+ html.theme--documenter-dark .navbar-burger.is-active span:nth-child(3) {
+ transform: translateY(-5px) rotate(-45deg); }
+ html.theme--documenter-dark .navbar-menu {
+ display: none; }
+ html.theme--documenter-dark .navbar-item,
+ html.theme--documenter-dark .navbar-link {
+ color: #fff;
+ display: block;
+ line-height: 1.5;
+ padding: 0.5rem 0.75rem;
+ position: relative; }
+ html.theme--documenter-dark .navbar-item .icon:only-child,
+ html.theme--documenter-dark .navbar-link .icon:only-child {
+ margin-left: -0.25rem;
+ margin-right: -0.25rem; }
+ html.theme--documenter-dark a.navbar-item,
+ html.theme--documenter-dark .navbar-link {
+ cursor: pointer; }
+ html.theme--documenter-dark a.navbar-item:focus, html.theme--documenter-dark a.navbar-item:focus-within, html.theme--documenter-dark a.navbar-item:hover, html.theme--documenter-dark a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar-link:focus,
+ html.theme--documenter-dark .navbar-link:focus-within,
+ html.theme--documenter-dark .navbar-link:hover,
+ html.theme--documenter-dark .navbar-link.is-active {
+ background-color: transparent;
+ color: #1abc9c; }
+ html.theme--documenter-dark .navbar-item {
+ display: block;
+ flex-grow: 0;
+ flex-shrink: 0; }
+ html.theme--documenter-dark .navbar-item img {
+ max-height: 1.75rem; }
+ html.theme--documenter-dark .navbar-item.has-dropdown {
+ padding: 0; }
+ html.theme--documenter-dark .navbar-item.is-expanded {
+ flex-grow: 1;
+ flex-shrink: 1; }
+ html.theme--documenter-dark .navbar-item.is-tab {
+ border-bottom: 1px solid transparent;
+ min-height: 4rem;
+ padding-bottom: calc(0.5rem - 1px); }
+ html.theme--documenter-dark .navbar-item.is-tab:focus, html.theme--documenter-dark .navbar-item.is-tab:hover {
+ background-color: transparent;
+ border-bottom-color: #1abc9c; }
+ html.theme--documenter-dark .navbar-item.is-tab.is-active {
+ background-color: transparent;
+ border-bottom-color: #1abc9c;
+ border-bottom-style: solid;
+ border-bottom-width: 3px;
+ color: #1abc9c;
+ padding-bottom: calc(0.5rem - 3px); }
+ html.theme--documenter-dark .navbar-content {
+ flex-grow: 1;
+ flex-shrink: 1; }
+ html.theme--documenter-dark .navbar-link:not(.is-arrowless) {
+ padding-right: 2.5em; }
+ html.theme--documenter-dark .navbar-link:not(.is-arrowless)::after {
+ border-color: #fff;
+ margin-top: -0.375em;
+ right: 1.125em; }
+ html.theme--documenter-dark .navbar-dropdown {
+ font-size: 0.875rem;
+ padding-bottom: 0.5rem;
+ padding-top: 0.5rem; }
+ html.theme--documenter-dark .navbar-dropdown .navbar-item {
+ padding-left: 1.5rem;
+ padding-right: 1.5rem; }
+ html.theme--documenter-dark .navbar-divider {
+ background-color: rgba(0, 0, 0, 0.2);
+ border: none;
+ display: none;
+ height: 2px;
+ margin: 0.5rem 0; }
+ @media screen and (max-width: 1055px) {
+ html.theme--documenter-dark .navbar > .container {
+ display: block; }
+ html.theme--documenter-dark .navbar-brand .navbar-item,
+ html.theme--documenter-dark .navbar-tabs .navbar-item {
+ align-items: center;
+ display: flex; }
+ html.theme--documenter-dark .navbar-link::after {
+ display: none; }
+ html.theme--documenter-dark .navbar-menu {
+ background-color: #375a7f;
+ box-shadow: 0 8px 16px rgba(10, 10, 10, 0.1);
+ padding: 0.5rem 0; }
+ html.theme--documenter-dark .navbar-menu.is-active {
+ display: block; }
+ html.theme--documenter-dark .navbar.is-fixed-bottom-touch, html.theme--documenter-dark .navbar.is-fixed-top-touch {
+ left: 0;
+ position: fixed;
+ right: 0;
+ z-index: 30; }
+ html.theme--documenter-dark .navbar.is-fixed-bottom-touch {
+ bottom: 0; }
+ html.theme--documenter-dark .navbar.is-fixed-bottom-touch.has-shadow {
+ box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); }
+ html.theme--documenter-dark .navbar.is-fixed-top-touch {
+ top: 0; }
+ html.theme--documenter-dark .navbar.is-fixed-top .navbar-menu, html.theme--documenter-dark .navbar.is-fixed-top-touch .navbar-menu {
+ -webkit-overflow-scrolling: touch;
+ max-height: calc(100vh - 4rem);
+ overflow: auto; }
+ html.theme--documenter-dark html.has-navbar-fixed-top-touch,
+ html.theme--documenter-dark body.has-navbar-fixed-top-touch {
+ padding-top: 4rem; }
+ html.theme--documenter-dark html.has-navbar-fixed-bottom-touch,
+ html.theme--documenter-dark body.has-navbar-fixed-bottom-touch {
+ padding-bottom: 4rem; } }
+ @media screen and (min-width: 1056px) {
+ html.theme--documenter-dark .navbar,
+ html.theme--documenter-dark .navbar-menu,
+ html.theme--documenter-dark .navbar-start,
+ html.theme--documenter-dark .navbar-end {
+ align-items: stretch;
+ display: flex; }
+ html.theme--documenter-dark .navbar {
+ min-height: 4rem; }
+ html.theme--documenter-dark .navbar.is-spaced {
+ padding: 1rem 2rem; }
+ html.theme--documenter-dark .navbar.is-spaced .navbar-start,
+ html.theme--documenter-dark .navbar.is-spaced .navbar-end {
+ align-items: center; }
+ html.theme--documenter-dark .navbar.is-spaced a.navbar-item,
+ html.theme--documenter-dark .navbar.is-spaced .navbar-link {
+ border-radius: 0.4em; }
+ html.theme--documenter-dark .navbar.is-transparent a.navbar-item:focus, html.theme--documenter-dark .navbar.is-transparent a.navbar-item:hover, html.theme--documenter-dark .navbar.is-transparent a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar.is-transparent .navbar-link:focus,
+ html.theme--documenter-dark .navbar.is-transparent .navbar-link:hover,
+ html.theme--documenter-dark .navbar.is-transparent .navbar-link.is-active {
+ background-color: transparent !important; }
+ html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link, html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link, html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link, html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link {
+ background-color: transparent !important; }
+ html.theme--documenter-dark .navbar.is-transparent .navbar-dropdown a.navbar-item:focus, html.theme--documenter-dark .navbar.is-transparent .navbar-dropdown a.navbar-item:hover {
+ background-color: transparent;
+ color: #dbdee0; }
+ html.theme--documenter-dark .navbar.is-transparent .navbar-dropdown a.navbar-item.is-active {
+ background-color: transparent;
+ color: #1abc9c; }
+ html.theme--documenter-dark .navbar-burger {
+ display: none; }
+ html.theme--documenter-dark .navbar-item,
+ html.theme--documenter-dark .navbar-link {
+ align-items: center;
+ display: flex; }
+ html.theme--documenter-dark .navbar-item {
+ display: flex; }
+ html.theme--documenter-dark .navbar-item.has-dropdown {
+ align-items: stretch; }
+ html.theme--documenter-dark .navbar-item.has-dropdown-up .navbar-link::after {
+ transform: rotate(135deg) translate(0.25em, -0.25em); }
+ html.theme--documenter-dark .navbar-item.has-dropdown-up .navbar-dropdown {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 8px 8px 0 0;
+ border-top: none;
+ bottom: 100%;
+ box-shadow: 0 -8px 8px rgba(10, 10, 10, 0.1);
+ top: auto; }
+ html.theme--documenter-dark .navbar-item.is-active .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:focus .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:focus-within .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:hover .navbar-dropdown {
+ display: block; }
+ .navbar.is-spaced html.theme--documenter-dark .navbar-item.is-active .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-active .navbar-dropdown.is-boxed, .navbar.is-spaced html.theme--documenter-dark .navbar-item.is-hoverable:focus .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed, .navbar.is-spaced html.theme--documenter-dark .navbar-item.is-hoverable:focus-within .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed, .navbar.is-spaced html.theme--documenter-dark .navbar-item.is-hoverable:hover .navbar-dropdown, html.theme--documenter-dark .navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed {
+ opacity: 1;
+ pointer-events: auto;
+ transform: translateY(0); }
+ html.theme--documenter-dark .navbar-menu {
+ flex-grow: 1;
+ flex-shrink: 0; }
+ html.theme--documenter-dark .navbar-start {
+ justify-content: flex-start;
+ margin-right: auto; }
+ html.theme--documenter-dark .navbar-end {
+ justify-content: flex-end;
+ margin-left: auto; }
+ html.theme--documenter-dark .navbar-dropdown {
+ background-color: #375a7f;
+ border-bottom-left-radius: 8px;
+ border-bottom-right-radius: 8px;
+ border-top: 1px solid rgba(0, 0, 0, 0.2);
+ box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1);
+ display: none;
+ font-size: 0.875rem;
+ left: 0;
+ min-width: 100%;
+ position: absolute;
+ top: 100%;
+ z-index: 20; }
+ html.theme--documenter-dark .navbar-dropdown .navbar-item {
+ padding: 0.375rem 1rem;
+ white-space: nowrap; }
+ html.theme--documenter-dark .navbar-dropdown a.navbar-item {
+ padding-right: 3rem; }
+ html.theme--documenter-dark .navbar-dropdown a.navbar-item:focus, html.theme--documenter-dark .navbar-dropdown a.navbar-item:hover {
+ background-color: transparent;
+ color: #dbdee0; }
+ html.theme--documenter-dark .navbar-dropdown a.navbar-item.is-active {
+ background-color: transparent;
+ color: #1abc9c; }
+ .navbar.is-spaced html.theme--documenter-dark .navbar-dropdown, html.theme--documenter-dark .navbar-dropdown.is-boxed {
+ border-radius: 8px;
+ border-top: none;
+ box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
+ display: block;
+ opacity: 0;
+ pointer-events: none;
+ top: calc(100% + (-4px));
+ transform: translateY(-5px);
+ transition-duration: 86ms;
+ transition-property: opacity, transform; }
+ html.theme--documenter-dark .navbar-dropdown.is-right {
+ left: auto;
+ right: 0; }
+ html.theme--documenter-dark .navbar-divider {
+ display: block; }
+ html.theme--documenter-dark .navbar > .container .navbar-brand,
+ html.theme--documenter-dark .container > .navbar .navbar-brand {
+ margin-left: -.75rem; }
+ html.theme--documenter-dark .navbar > .container .navbar-menu,
+ html.theme--documenter-dark .container > .navbar .navbar-menu {
+ margin-right: -.75rem; }
+ html.theme--documenter-dark .navbar.is-fixed-bottom-desktop, html.theme--documenter-dark .navbar.is-fixed-top-desktop {
+ left: 0;
+ position: fixed;
+ right: 0;
+ z-index: 30; }
+ html.theme--documenter-dark .navbar.is-fixed-bottom-desktop {
+ bottom: 0; }
+ html.theme--documenter-dark .navbar.is-fixed-bottom-desktop.has-shadow {
+ box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); }
+ html.theme--documenter-dark .navbar.is-fixed-top-desktop {
+ top: 0; }
+ html.theme--documenter-dark html.has-navbar-fixed-top-desktop,
+ html.theme--documenter-dark body.has-navbar-fixed-top-desktop {
+ padding-top: 4rem; }
+ html.theme--documenter-dark html.has-navbar-fixed-bottom-desktop,
+ html.theme--documenter-dark body.has-navbar-fixed-bottom-desktop {
+ padding-bottom: 4rem; }
+ html.theme--documenter-dark html.has-spaced-navbar-fixed-top,
+ html.theme--documenter-dark body.has-spaced-navbar-fixed-top {
+ padding-top: 6rem; }
+ html.theme--documenter-dark html.has-spaced-navbar-fixed-bottom,
+ html.theme--documenter-dark body.has-spaced-navbar-fixed-bottom {
+ padding-bottom: 6rem; }
+ html.theme--documenter-dark a.navbar-item.is-active,
+ html.theme--documenter-dark .navbar-link.is-active {
+ color: #1abc9c; }
+ html.theme--documenter-dark a.navbar-item.is-active:not(:focus):not(:hover),
+ html.theme--documenter-dark .navbar-link.is-active:not(:focus):not(:hover) {
+ background-color: transparent; }
+ html.theme--documenter-dark .navbar-item.has-dropdown:focus .navbar-link, html.theme--documenter-dark .navbar-item.has-dropdown:hover .navbar-link, html.theme--documenter-dark .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: transparent; } }
+ html.theme--documenter-dark .hero.is-fullheight-with-navbar {
+ min-height: calc(100vh - 4rem); }
+ html.theme--documenter-dark .pagination {
+ font-size: 15px;
+ margin: -0.25rem; }
+ html.theme--documenter-dark .pagination.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.pagination {
+ font-size: 0.85em; }
+ html.theme--documenter-dark .pagination.is-medium {
+ font-size: 1.25rem; }
+ html.theme--documenter-dark .pagination.is-large {
+ font-size: 1.5rem; }
+ html.theme--documenter-dark .pagination.is-rounded .pagination-previous, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.pagination .pagination-previous,
+ html.theme--documenter-dark .pagination.is-rounded .pagination-next,
+ html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.pagination .pagination-next {
+ padding-left: 1em;
+ padding-right: 1em;
+ border-radius: 290486px; }
+ html.theme--documenter-dark .pagination.is-rounded .pagination-link, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.pagination .pagination-link {
+ border-radius: 290486px; }
+ html.theme--documenter-dark .pagination,
+ html.theme--documenter-dark .pagination-list {
+ align-items: center;
+ display: flex;
+ justify-content: center;
+ text-align: center; }
+ html.theme--documenter-dark .pagination-previous,
+ html.theme--documenter-dark .pagination-next,
+ html.theme--documenter-dark .pagination-link,
+ html.theme--documenter-dark .pagination-ellipsis {
+ font-size: 1em;
+ justify-content: center;
+ margin: 0.25rem;
+ padding-left: 0.5em;
+ padding-right: 0.5em;
+ text-align: center; }
+ html.theme--documenter-dark .pagination-previous,
+ html.theme--documenter-dark .pagination-next,
+ html.theme--documenter-dark .pagination-link {
+ border-color: #5e6d6f;
+ color: #1abc9c;
+ min-width: 2.25em; }
+ html.theme--documenter-dark .pagination-previous:hover,
+ html.theme--documenter-dark .pagination-next:hover,
+ html.theme--documenter-dark .pagination-link:hover {
+ border-color: #8c9b9d;
+ color: #1dd2af; }
+ html.theme--documenter-dark .pagination-previous:focus,
+ html.theme--documenter-dark .pagination-next:focus,
+ html.theme--documenter-dark .pagination-link:focus {
+ border-color: #8c9b9d; }
+ html.theme--documenter-dark .pagination-previous:active,
+ html.theme--documenter-dark .pagination-next:active,
+ html.theme--documenter-dark .pagination-link:active {
+ box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2); }
+ html.theme--documenter-dark .pagination-previous[disabled],
+ html.theme--documenter-dark .pagination-next[disabled],
+ html.theme--documenter-dark .pagination-link[disabled] {
+ background-color: #dbdee0;
+ border-color: #dbdee0;
+ box-shadow: none;
+ color: #5e6d6f;
+ opacity: 0.5; }
+ html.theme--documenter-dark .pagination-previous,
+ html.theme--documenter-dark .pagination-next {
+ padding-left: 0.75em;
+ padding-right: 0.75em;
+ white-space: nowrap; }
+ html.theme--documenter-dark .pagination-link.is-current {
+ background-color: #1abc9c;
+ border-color: #1abc9c;
+ color: #fff; }
+ html.theme--documenter-dark .pagination-ellipsis {
+ color: #8c9b9d;
+ pointer-events: none; }
+ html.theme--documenter-dark .pagination-list {
+ flex-wrap: wrap; }
+ @media screen and (max-width: 768px) {
+ html.theme--documenter-dark .pagination {
+ flex-wrap: wrap; }
+ html.theme--documenter-dark .pagination-previous,
+ html.theme--documenter-dark .pagination-next {
+ flex-grow: 1;
+ flex-shrink: 1; }
+ html.theme--documenter-dark .pagination-list li {
+ flex-grow: 1;
+ flex-shrink: 1; } }
+ @media screen and (min-width: 769px), print {
+ html.theme--documenter-dark .pagination-list {
+ flex-grow: 1;
+ flex-shrink: 1;
+ justify-content: flex-start;
+ order: 1; }
+ html.theme--documenter-dark .pagination-previous {
+ order: 2; }
+ html.theme--documenter-dark .pagination-next {
+ order: 3; }
+ html.theme--documenter-dark .pagination {
+ justify-content: space-between; }
+ html.theme--documenter-dark .pagination.is-centered .pagination-previous {
+ order: 1; }
+ html.theme--documenter-dark .pagination.is-centered .pagination-list {
+ justify-content: center;
+ order: 2; }
+ html.theme--documenter-dark .pagination.is-centered .pagination-next {
+ order: 3; }
+ html.theme--documenter-dark .pagination.is-right .pagination-previous {
+ order: 1; }
+ html.theme--documenter-dark .pagination.is-right .pagination-next {
+ order: 2; }
+ html.theme--documenter-dark .pagination.is-right .pagination-list {
+ justify-content: flex-end;
+ order: 3; } }
+ html.theme--documenter-dark .panel {
+ font-size: 15px; }
+ html.theme--documenter-dark .panel:not(:last-child) {
+ margin-bottom: 1.5rem; }
+ html.theme--documenter-dark .panel-heading,
+ html.theme--documenter-dark .panel-tabs,
+ html.theme--documenter-dark .panel-block {
+ border-bottom: 1px solid #5e6d6f;
+ border-left: 1px solid #5e6d6f;
+ border-right: 1px solid #5e6d6f; }
+ html.theme--documenter-dark .panel-heading:first-child,
+ html.theme--documenter-dark .panel-tabs:first-child,
+ html.theme--documenter-dark .panel-block:first-child {
+ border-top: 1px solid #5e6d6f; }
+ html.theme--documenter-dark .panel-heading {
+ background-color: #282f2f;
+ border-radius: 0.4em 0.4em 0 0;
+ color: #f2f2f2;
+ font-size: 1.25em;
+ font-weight: 300;
+ line-height: 1.25;
+ padding: 0.5em 0.75em; }
+ html.theme--documenter-dark .panel-tabs {
+ align-items: flex-end;
+ display: flex;
+ font-size: 0.875em;
+ justify-content: center; }
+ html.theme--documenter-dark .panel-tabs a {
+ border-bottom: 1px solid #5e6d6f;
+ margin-bottom: -1px;
+ padding: 0.5em; }
+ html.theme--documenter-dark .panel-tabs a.is-active {
+ border-bottom-color: #343c3d;
+ color: #17a689; }
+ html.theme--documenter-dark .panel-list a {
+ color: #fff; }
+ html.theme--documenter-dark .panel-list a:hover {
+ color: #1abc9c; }
+ html.theme--documenter-dark .panel-block {
+ align-items: center;
+ color: #f2f2f2;
+ display: flex;
+ justify-content: flex-start;
+ padding: 0.5em 0.75em; }
+ html.theme--documenter-dark .panel-block input[type="checkbox"] {
+ margin-right: 0.75em; }
+ html.theme--documenter-dark .panel-block > .control {
+ flex-grow: 1;
+ flex-shrink: 1;
+ width: 100%; }
+ html.theme--documenter-dark .panel-block.is-wrapped {
+ flex-wrap: wrap; }
+ html.theme--documenter-dark .panel-block.is-active {
+ border-left-color: #1abc9c;
+ color: #17a689; }
+ html.theme--documenter-dark .panel-block.is-active .panel-icon {
+ color: #1abc9c; }
+ html.theme--documenter-dark a.panel-block,
+ html.theme--documenter-dark label.panel-block {
+ cursor: pointer; }
+ html.theme--documenter-dark a.panel-block:hover,
+ html.theme--documenter-dark label.panel-block:hover {
+ background-color: #282f2f; }
+ html.theme--documenter-dark .panel-icon {
+ display: inline-block;
+ font-size: 14px;
+ height: 1em;
+ line-height: 1em;
+ text-align: center;
+ vertical-align: top;
+ width: 1em;
+ color: white;
+ margin-right: 0.75em; }
+ html.theme--documenter-dark .panel-icon .fa {
+ font-size: inherit;
+ line-height: inherit; }
+ html.theme--documenter-dark .tabs {
+ -webkit-overflow-scrolling: touch;
+ align-items: stretch;
+ display: flex;
+ font-size: 15px;
+ justify-content: space-between;
+ overflow: hidden;
+ overflow-x: auto;
+ white-space: nowrap; }
+ html.theme--documenter-dark .tabs a {
+ align-items: center;
+ border-bottom-color: #5e6d6f;
+ border-bottom-style: solid;
+ border-bottom-width: 1px;
+ color: #fff;
+ display: flex;
+ justify-content: center;
+ margin-bottom: -1px;
+ padding: 0.5em 1em;
+ vertical-align: top; }
+ html.theme--documenter-dark .tabs a:hover {
+ border-bottom-color: #f2f2f2;
+ color: #f2f2f2; }
+ html.theme--documenter-dark .tabs li {
+ display: block; }
+ html.theme--documenter-dark .tabs li.is-active a {
+ border-bottom-color: #1abc9c;
+ color: #1abc9c; }
+ html.theme--documenter-dark .tabs ul {
+ align-items: center;
+ border-bottom-color: #5e6d6f;
+ border-bottom-style: solid;
+ border-bottom-width: 1px;
+ display: flex;
+ flex-grow: 1;
+ flex-shrink: 0;
+ justify-content: flex-start; }
+ html.theme--documenter-dark .tabs ul.is-left {
+ padding-right: 0.75em; }
+ html.theme--documenter-dark .tabs ul.is-center {
+ flex: none;
+ justify-content: center;
+ padding-left: 0.75em;
+ padding-right: 0.75em; }
+ html.theme--documenter-dark .tabs ul.is-right {
+ justify-content: flex-end;
+ padding-left: 0.75em; }
+ html.theme--documenter-dark .tabs .icon:first-child {
+ margin-right: 0.5em; }
+ html.theme--documenter-dark .tabs .icon:last-child {
+ margin-left: 0.5em; }
+ html.theme--documenter-dark .tabs.is-centered ul {
+ justify-content: center; }
+ html.theme--documenter-dark .tabs.is-right ul {
+ justify-content: flex-end; }
+ html.theme--documenter-dark .tabs.is-boxed a {
+ border: 1px solid transparent;
+ border-radius: 0.4em 0.4em 0 0; }
+ html.theme--documenter-dark .tabs.is-boxed a:hover {
+ background-color: #282f2f;
+ border-bottom-color: #5e6d6f; }
+ html.theme--documenter-dark .tabs.is-boxed li.is-active a {
+ background-color: white;
+ border-color: #5e6d6f;
+ border-bottom-color: transparent !important; }
+ html.theme--documenter-dark .tabs.is-fullwidth li {
+ flex-grow: 1;
+ flex-shrink: 0; }
+ html.theme--documenter-dark .tabs.is-toggle a {
+ border-color: #5e6d6f;
+ border-style: solid;
+ border-width: 1px;
+ margin-bottom: 0;
+ position: relative; }
+ html.theme--documenter-dark .tabs.is-toggle a:hover {
+ background-color: #282f2f;
+ border-color: #8c9b9d;
+ z-index: 2; }
+ html.theme--documenter-dark .tabs.is-toggle li + li {
+ margin-left: -1px; }
+ html.theme--documenter-dark .tabs.is-toggle li:first-child a {
+ border-radius: 0.4em 0 0 0.4em; }
+ html.theme--documenter-dark .tabs.is-toggle li:last-child a {
+ border-radius: 0 0.4em 0.4em 0; }
+ html.theme--documenter-dark .tabs.is-toggle li.is-active a {
+ background-color: #1abc9c;
+ border-color: #1abc9c;
+ color: #fff;
+ z-index: 1; }
+ html.theme--documenter-dark .tabs.is-toggle ul {
+ border-bottom: none; }
+ html.theme--documenter-dark .tabs.is-toggle.is-toggle-rounded li:first-child a {
+ border-bottom-left-radius: 290486px;
+ border-top-left-radius: 290486px;
+ padding-left: 1.25em; }
+ html.theme--documenter-dark .tabs.is-toggle.is-toggle-rounded li:last-child a {
+ border-bottom-right-radius: 290486px;
+ border-top-right-radius: 290486px;
+ padding-right: 1.25em; }
+ html.theme--documenter-dark .tabs.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.tabs {
+ font-size: 0.85em; }
+ html.theme--documenter-dark .tabs.is-medium {
+ font-size: 1.25rem; }
+ html.theme--documenter-dark .tabs.is-large {
+ font-size: 1.5rem; }
+ html.theme--documenter-dark .column {
+ display: block;
+ flex-basis: 0;
+ flex-grow: 1;
+ flex-shrink: 1;
+ padding: 0.75rem; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-narrow {
+ flex: none; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-full {
+ flex: none;
+ width: 100%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-three-quarters {
+ flex: none;
+ width: 75%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-two-thirds {
+ flex: none;
+ width: 66.6666%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-half {
+ flex: none;
+ width: 50%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-one-third {
+ flex: none;
+ width: 33.3333%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-one-quarter {
+ flex: none;
+ width: 25%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-one-fifth {
+ flex: none;
+ width: 20%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-two-fifths {
+ flex: none;
+ width: 40%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-three-fifths {
+ flex: none;
+ width: 60%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-four-fifths {
+ flex: none;
+ width: 80%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-offset-three-quarters {
+ margin-left: 75%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-offset-two-thirds {
+ margin-left: 66.6666%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-offset-half {
+ margin-left: 50%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-offset-one-third {
+ margin-left: 33.3333%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-offset-one-quarter {
+ margin-left: 25%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-offset-one-fifth {
+ margin-left: 20%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-offset-two-fifths {
+ margin-left: 40%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-offset-three-fifths {
+ margin-left: 60%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-offset-four-fifths {
+ margin-left: 80%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-0 {
+ flex: none;
+ width: 0%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-offset-0 {
+ margin-left: 0%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-1 {
+ flex: none;
+ width: 8.3333333333%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-offset-1 {
+ margin-left: 8.3333333333%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-2 {
+ flex: none;
+ width: 16.6666666667%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-offset-2 {
+ margin-left: 16.6666666667%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-3 {
+ flex: none;
+ width: 25%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-offset-3 {
+ margin-left: 25%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-4 {
+ flex: none;
+ width: 33.3333333333%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-offset-4 {
+ margin-left: 33.3333333333%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-5 {
+ flex: none;
+ width: 41.6666666667%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-offset-5 {
+ margin-left: 41.6666666667%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-6 {
+ flex: none;
+ width: 50%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-offset-6 {
+ margin-left: 50%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-7 {
+ flex: none;
+ width: 58.3333333333%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-offset-7 {
+ margin-left: 58.3333333333%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-8 {
+ flex: none;
+ width: 66.6666666667%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-offset-8 {
+ margin-left: 66.6666666667%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-9 {
+ flex: none;
+ width: 75%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-offset-9 {
+ margin-left: 75%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-10 {
+ flex: none;
+ width: 83.3333333333%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-offset-10 {
+ margin-left: 83.3333333333%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-11 {
+ flex: none;
+ width: 91.6666666667%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-offset-11 {
+ margin-left: 91.6666666667%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-12 {
+ flex: none;
+ width: 100%; }
+ .columns.is-mobile > html.theme--documenter-dark .column.is-offset-12 {
+ margin-left: 100%; }
+ @media screen and (max-width: 768px) {
+ html.theme--documenter-dark .column.is-narrow-mobile {
+ flex: none; }
+ html.theme--documenter-dark .column.is-full-mobile {
+ flex: none;
+ width: 100%; }
+ html.theme--documenter-dark .column.is-three-quarters-mobile {
+ flex: none;
+ width: 75%; }
+ html.theme--documenter-dark .column.is-two-thirds-mobile {
+ flex: none;
+ width: 66.6666%; }
+ html.theme--documenter-dark .column.is-half-mobile {
+ flex: none;
+ width: 50%; }
+ html.theme--documenter-dark .column.is-one-third-mobile {
+ flex: none;
+ width: 33.3333%; }
+ html.theme--documenter-dark .column.is-one-quarter-mobile {
+ flex: none;
+ width: 25%; }
+ html.theme--documenter-dark .column.is-one-fifth-mobile {
+ flex: none;
+ width: 20%; }
+ html.theme--documenter-dark .column.is-two-fifths-mobile {
+ flex: none;
+ width: 40%; }
+ html.theme--documenter-dark .column.is-three-fifths-mobile {
+ flex: none;
+ width: 60%; }
+ html.theme--documenter-dark .column.is-four-fifths-mobile {
+ flex: none;
+ width: 80%; }
+ html.theme--documenter-dark .column.is-offset-three-quarters-mobile {
+ margin-left: 75%; }
+ html.theme--documenter-dark .column.is-offset-two-thirds-mobile {
+ margin-left: 66.6666%; }
+ html.theme--documenter-dark .column.is-offset-half-mobile {
+ margin-left: 50%; }
+ html.theme--documenter-dark .column.is-offset-one-third-mobile {
+ margin-left: 33.3333%; }
+ html.theme--documenter-dark .column.is-offset-one-quarter-mobile {
+ margin-left: 25%; }
+ html.theme--documenter-dark .column.is-offset-one-fifth-mobile {
+ margin-left: 20%; }
+ html.theme--documenter-dark .column.is-offset-two-fifths-mobile {
+ margin-left: 40%; }
+ html.theme--documenter-dark .column.is-offset-three-fifths-mobile {
+ margin-left: 60%; }
+ html.theme--documenter-dark .column.is-offset-four-fifths-mobile {
+ margin-left: 80%; }
+ html.theme--documenter-dark .column.is-0-mobile {
+ flex: none;
+ width: 0%; }
+ html.theme--documenter-dark .column.is-offset-0-mobile {
+ margin-left: 0%; }
+ html.theme--documenter-dark .column.is-1-mobile {
+ flex: none;
+ width: 8.3333333333%; }
+ html.theme--documenter-dark .column.is-offset-1-mobile {
+ margin-left: 8.3333333333%; }
+ html.theme--documenter-dark .column.is-2-mobile {
+ flex: none;
+ width: 16.6666666667%; }
+ html.theme--documenter-dark .column.is-offset-2-mobile {
+ margin-left: 16.6666666667%; }
+ html.theme--documenter-dark .column.is-3-mobile {
+ flex: none;
+ width: 25%; }
+ html.theme--documenter-dark .column.is-offset-3-mobile {
+ margin-left: 25%; }
+ html.theme--documenter-dark .column.is-4-mobile {
+ flex: none;
+ width: 33.3333333333%; }
+ html.theme--documenter-dark .column.is-offset-4-mobile {
+ margin-left: 33.3333333333%; }
+ html.theme--documenter-dark .column.is-5-mobile {
+ flex: none;
+ width: 41.6666666667%; }
+ html.theme--documenter-dark .column.is-offset-5-mobile {
+ margin-left: 41.6666666667%; }
+ html.theme--documenter-dark .column.is-6-mobile {
+ flex: none;
+ width: 50%; }
+ html.theme--documenter-dark .column.is-offset-6-mobile {
+ margin-left: 50%; }
+ html.theme--documenter-dark .column.is-7-mobile {
+ flex: none;
+ width: 58.3333333333%; }
+ html.theme--documenter-dark .column.is-offset-7-mobile {
+ margin-left: 58.3333333333%; }
+ html.theme--documenter-dark .column.is-8-mobile {
+ flex: none;
+ width: 66.6666666667%; }
+ html.theme--documenter-dark .column.is-offset-8-mobile {
+ margin-left: 66.6666666667%; }
+ html.theme--documenter-dark .column.is-9-mobile {
+ flex: none;
+ width: 75%; }
+ html.theme--documenter-dark .column.is-offset-9-mobile {
+ margin-left: 75%; }
+ html.theme--documenter-dark .column.is-10-mobile {
+ flex: none;
+ width: 83.3333333333%; }
+ html.theme--documenter-dark .column.is-offset-10-mobile {
+ margin-left: 83.3333333333%; }
+ html.theme--documenter-dark .column.is-11-mobile {
+ flex: none;
+ width: 91.6666666667%; }
+ html.theme--documenter-dark .column.is-offset-11-mobile {
+ margin-left: 91.6666666667%; }
+ html.theme--documenter-dark .column.is-12-mobile {
+ flex: none;
+ width: 100%; }
+ html.theme--documenter-dark .column.is-offset-12-mobile {
+ margin-left: 100%; } }
+ @media screen and (min-width: 769px), print {
+ html.theme--documenter-dark .column.is-narrow, html.theme--documenter-dark .column.is-narrow-tablet {
+ flex: none; }
+ html.theme--documenter-dark .column.is-full, html.theme--documenter-dark .column.is-full-tablet {
+ flex: none;
+ width: 100%; }
+ html.theme--documenter-dark .column.is-three-quarters, html.theme--documenter-dark .column.is-three-quarters-tablet {
+ flex: none;
+ width: 75%; }
+ html.theme--documenter-dark .column.is-two-thirds, html.theme--documenter-dark .column.is-two-thirds-tablet {
+ flex: none;
+ width: 66.6666%; }
+ html.theme--documenter-dark .column.is-half, html.theme--documenter-dark .column.is-half-tablet {
+ flex: none;
+ width: 50%; }
+ html.theme--documenter-dark .column.is-one-third, html.theme--documenter-dark .column.is-one-third-tablet {
+ flex: none;
+ width: 33.3333%; }
+ html.theme--documenter-dark .column.is-one-quarter, html.theme--documenter-dark .column.is-one-quarter-tablet {
+ flex: none;
+ width: 25%; }
+ html.theme--documenter-dark .column.is-one-fifth, html.theme--documenter-dark .column.is-one-fifth-tablet {
+ flex: none;
+ width: 20%; }
+ html.theme--documenter-dark .column.is-two-fifths, html.theme--documenter-dark .column.is-two-fifths-tablet {
+ flex: none;
+ width: 40%; }
+ html.theme--documenter-dark .column.is-three-fifths, html.theme--documenter-dark .column.is-three-fifths-tablet {
+ flex: none;
+ width: 60%; }
+ html.theme--documenter-dark .column.is-four-fifths, html.theme--documenter-dark .column.is-four-fifths-tablet {
+ flex: none;
+ width: 80%; }
+ html.theme--documenter-dark .column.is-offset-three-quarters, html.theme--documenter-dark .column.is-offset-three-quarters-tablet {
+ margin-left: 75%; }
+ html.theme--documenter-dark .column.is-offset-two-thirds, html.theme--documenter-dark .column.is-offset-two-thirds-tablet {
+ margin-left: 66.6666%; }
+ html.theme--documenter-dark .column.is-offset-half, html.theme--documenter-dark .column.is-offset-half-tablet {
+ margin-left: 50%; }
+ html.theme--documenter-dark .column.is-offset-one-third, html.theme--documenter-dark .column.is-offset-one-third-tablet {
+ margin-left: 33.3333%; }
+ html.theme--documenter-dark .column.is-offset-one-quarter, html.theme--documenter-dark .column.is-offset-one-quarter-tablet {
+ margin-left: 25%; }
+ html.theme--documenter-dark .column.is-offset-one-fifth, html.theme--documenter-dark .column.is-offset-one-fifth-tablet {
+ margin-left: 20%; }
+ html.theme--documenter-dark .column.is-offset-two-fifths, html.theme--documenter-dark .column.is-offset-two-fifths-tablet {
+ margin-left: 40%; }
+ html.theme--documenter-dark .column.is-offset-three-fifths, html.theme--documenter-dark .column.is-offset-three-fifths-tablet {
+ margin-left: 60%; }
+ html.theme--documenter-dark .column.is-offset-four-fifths, html.theme--documenter-dark .column.is-offset-four-fifths-tablet {
+ margin-left: 80%; }
+ html.theme--documenter-dark .column.is-0, html.theme--documenter-dark .column.is-0-tablet {
+ flex: none;
+ width: 0%; }
+ html.theme--documenter-dark .column.is-offset-0, html.theme--documenter-dark .column.is-offset-0-tablet {
+ margin-left: 0%; }
+ html.theme--documenter-dark .column.is-1, html.theme--documenter-dark .column.is-1-tablet {
+ flex: none;
+ width: 8.3333333333%; }
+ html.theme--documenter-dark .column.is-offset-1, html.theme--documenter-dark .column.is-offset-1-tablet {
+ margin-left: 8.3333333333%; }
+ html.theme--documenter-dark .column.is-2, html.theme--documenter-dark .column.is-2-tablet {
+ flex: none;
+ width: 16.6666666667%; }
+ html.theme--documenter-dark .column.is-offset-2, html.theme--documenter-dark .column.is-offset-2-tablet {
+ margin-left: 16.6666666667%; }
+ html.theme--documenter-dark .column.is-3, html.theme--documenter-dark .column.is-3-tablet {
+ flex: none;
+ width: 25%; }
+ html.theme--documenter-dark .column.is-offset-3, html.theme--documenter-dark .column.is-offset-3-tablet {
+ margin-left: 25%; }
+ html.theme--documenter-dark .column.is-4, html.theme--documenter-dark .column.is-4-tablet {
+ flex: none;
+ width: 33.3333333333%; }
+ html.theme--documenter-dark .column.is-offset-4, html.theme--documenter-dark .column.is-offset-4-tablet {
+ margin-left: 33.3333333333%; }
+ html.theme--documenter-dark .column.is-5, html.theme--documenter-dark .column.is-5-tablet {
+ flex: none;
+ width: 41.6666666667%; }
+ html.theme--documenter-dark .column.is-offset-5, html.theme--documenter-dark .column.is-offset-5-tablet {
+ margin-left: 41.6666666667%; }
+ html.theme--documenter-dark .column.is-6, html.theme--documenter-dark .column.is-6-tablet {
+ flex: none;
+ width: 50%; }
+ html.theme--documenter-dark .column.is-offset-6, html.theme--documenter-dark .column.is-offset-6-tablet {
+ margin-left: 50%; }
+ html.theme--documenter-dark .column.is-7, html.theme--documenter-dark .column.is-7-tablet {
+ flex: none;
+ width: 58.3333333333%; }
+ html.theme--documenter-dark .column.is-offset-7, html.theme--documenter-dark .column.is-offset-7-tablet {
+ margin-left: 58.3333333333%; }
+ html.theme--documenter-dark .column.is-8, html.theme--documenter-dark .column.is-8-tablet {
+ flex: none;
+ width: 66.6666666667%; }
+ html.theme--documenter-dark .column.is-offset-8, html.theme--documenter-dark .column.is-offset-8-tablet {
+ margin-left: 66.6666666667%; }
+ html.theme--documenter-dark .column.is-9, html.theme--documenter-dark .column.is-9-tablet {
+ flex: none;
+ width: 75%; }
+ html.theme--documenter-dark .column.is-offset-9, html.theme--documenter-dark .column.is-offset-9-tablet {
+ margin-left: 75%; }
+ html.theme--documenter-dark .column.is-10, html.theme--documenter-dark .column.is-10-tablet {
+ flex: none;
+ width: 83.3333333333%; }
+ html.theme--documenter-dark .column.is-offset-10, html.theme--documenter-dark .column.is-offset-10-tablet {
+ margin-left: 83.3333333333%; }
+ html.theme--documenter-dark .column.is-11, html.theme--documenter-dark .column.is-11-tablet {
+ flex: none;
+ width: 91.6666666667%; }
+ html.theme--documenter-dark .column.is-offset-11, html.theme--documenter-dark .column.is-offset-11-tablet {
+ margin-left: 91.6666666667%; }
+ html.theme--documenter-dark .column.is-12, html.theme--documenter-dark .column.is-12-tablet {
+ flex: none;
+ width: 100%; }
+ html.theme--documenter-dark .column.is-offset-12, html.theme--documenter-dark .column.is-offset-12-tablet {
+ margin-left: 100%; } }
+ @media screen and (max-width: 1055px) {
+ html.theme--documenter-dark .column.is-narrow-touch {
+ flex: none; }
+ html.theme--documenter-dark .column.is-full-touch {
+ flex: none;
+ width: 100%; }
+ html.theme--documenter-dark .column.is-three-quarters-touch {
+ flex: none;
+ width: 75%; }
+ html.theme--documenter-dark .column.is-two-thirds-touch {
+ flex: none;
+ width: 66.6666%; }
+ html.theme--documenter-dark .column.is-half-touch {
+ flex: none;
+ width: 50%; }
+ html.theme--documenter-dark .column.is-one-third-touch {
+ flex: none;
+ width: 33.3333%; }
+ html.theme--documenter-dark .column.is-one-quarter-touch {
+ flex: none;
+ width: 25%; }
+ html.theme--documenter-dark .column.is-one-fifth-touch {
+ flex: none;
+ width: 20%; }
+ html.theme--documenter-dark .column.is-two-fifths-touch {
+ flex: none;
+ width: 40%; }
+ html.theme--documenter-dark .column.is-three-fifths-touch {
+ flex: none;
+ width: 60%; }
+ html.theme--documenter-dark .column.is-four-fifths-touch {
+ flex: none;
+ width: 80%; }
+ html.theme--documenter-dark .column.is-offset-three-quarters-touch {
+ margin-left: 75%; }
+ html.theme--documenter-dark .column.is-offset-two-thirds-touch {
+ margin-left: 66.6666%; }
+ html.theme--documenter-dark .column.is-offset-half-touch {
+ margin-left: 50%; }
+ html.theme--documenter-dark .column.is-offset-one-third-touch {
+ margin-left: 33.3333%; }
+ html.theme--documenter-dark .column.is-offset-one-quarter-touch {
+ margin-left: 25%; }
+ html.theme--documenter-dark .column.is-offset-one-fifth-touch {
+ margin-left: 20%; }
+ html.theme--documenter-dark .column.is-offset-two-fifths-touch {
+ margin-left: 40%; }
+ html.theme--documenter-dark .column.is-offset-three-fifths-touch {
+ margin-left: 60%; }
+ html.theme--documenter-dark .column.is-offset-four-fifths-touch {
+ margin-left: 80%; }
+ html.theme--documenter-dark .column.is-0-touch {
+ flex: none;
+ width: 0%; }
+ html.theme--documenter-dark .column.is-offset-0-touch {
+ margin-left: 0%; }
+ html.theme--documenter-dark .column.is-1-touch {
+ flex: none;
+ width: 8.3333333333%; }
+ html.theme--documenter-dark .column.is-offset-1-touch {
+ margin-left: 8.3333333333%; }
+ html.theme--documenter-dark .column.is-2-touch {
+ flex: none;
+ width: 16.6666666667%; }
+ html.theme--documenter-dark .column.is-offset-2-touch {
+ margin-left: 16.6666666667%; }
+ html.theme--documenter-dark .column.is-3-touch {
+ flex: none;
+ width: 25%; }
+ html.theme--documenter-dark .column.is-offset-3-touch {
+ margin-left: 25%; }
+ html.theme--documenter-dark .column.is-4-touch {
+ flex: none;
+ width: 33.3333333333%; }
+ html.theme--documenter-dark .column.is-offset-4-touch {
+ margin-left: 33.3333333333%; }
+ html.theme--documenter-dark .column.is-5-touch {
+ flex: none;
+ width: 41.6666666667%; }
+ html.theme--documenter-dark .column.is-offset-5-touch {
+ margin-left: 41.6666666667%; }
+ html.theme--documenter-dark .column.is-6-touch {
+ flex: none;
+ width: 50%; }
+ html.theme--documenter-dark .column.is-offset-6-touch {
+ margin-left: 50%; }
+ html.theme--documenter-dark .column.is-7-touch {
+ flex: none;
+ width: 58.3333333333%; }
+ html.theme--documenter-dark .column.is-offset-7-touch {
+ margin-left: 58.3333333333%; }
+ html.theme--documenter-dark .column.is-8-touch {
+ flex: none;
+ width: 66.6666666667%; }
+ html.theme--documenter-dark .column.is-offset-8-touch {
+ margin-left: 66.6666666667%; }
+ html.theme--documenter-dark .column.is-9-touch {
+ flex: none;
+ width: 75%; }
+ html.theme--documenter-dark .column.is-offset-9-touch {
+ margin-left: 75%; }
+ html.theme--documenter-dark .column.is-10-touch {
+ flex: none;
+ width: 83.3333333333%; }
+ html.theme--documenter-dark .column.is-offset-10-touch {
+ margin-left: 83.3333333333%; }
+ html.theme--documenter-dark .column.is-11-touch {
+ flex: none;
+ width: 91.6666666667%; }
+ html.theme--documenter-dark .column.is-offset-11-touch {
+ margin-left: 91.6666666667%; }
+ html.theme--documenter-dark .column.is-12-touch {
+ flex: none;
+ width: 100%; }
+ html.theme--documenter-dark .column.is-offset-12-touch {
+ margin-left: 100%; } }
+ @media screen and (min-width: 1056px) {
+ html.theme--documenter-dark .column.is-narrow-desktop {
+ flex: none; }
+ html.theme--documenter-dark .column.is-full-desktop {
+ flex: none;
+ width: 100%; }
+ html.theme--documenter-dark .column.is-three-quarters-desktop {
+ flex: none;
+ width: 75%; }
+ html.theme--documenter-dark .column.is-two-thirds-desktop {
+ flex: none;
+ width: 66.6666%; }
+ html.theme--documenter-dark .column.is-half-desktop {
+ flex: none;
+ width: 50%; }
+ html.theme--documenter-dark .column.is-one-third-desktop {
+ flex: none;
+ width: 33.3333%; }
+ html.theme--documenter-dark .column.is-one-quarter-desktop {
+ flex: none;
+ width: 25%; }
+ html.theme--documenter-dark .column.is-one-fifth-desktop {
+ flex: none;
+ width: 20%; }
+ html.theme--documenter-dark .column.is-two-fifths-desktop {
+ flex: none;
+ width: 40%; }
+ html.theme--documenter-dark .column.is-three-fifths-desktop {
+ flex: none;
+ width: 60%; }
+ html.theme--documenter-dark .column.is-four-fifths-desktop {
+ flex: none;
+ width: 80%; }
+ html.theme--documenter-dark .column.is-offset-three-quarters-desktop {
+ margin-left: 75%; }
+ html.theme--documenter-dark .column.is-offset-two-thirds-desktop {
+ margin-left: 66.6666%; }
+ html.theme--documenter-dark .column.is-offset-half-desktop {
+ margin-left: 50%; }
+ html.theme--documenter-dark .column.is-offset-one-third-desktop {
+ margin-left: 33.3333%; }
+ html.theme--documenter-dark .column.is-offset-one-quarter-desktop {
+ margin-left: 25%; }
+ html.theme--documenter-dark .column.is-offset-one-fifth-desktop {
+ margin-left: 20%; }
+ html.theme--documenter-dark .column.is-offset-two-fifths-desktop {
+ margin-left: 40%; }
+ html.theme--documenter-dark .column.is-offset-three-fifths-desktop {
+ margin-left: 60%; }
+ html.theme--documenter-dark .column.is-offset-four-fifths-desktop {
+ margin-left: 80%; }
+ html.theme--documenter-dark .column.is-0-desktop {
+ flex: none;
+ width: 0%; }
+ html.theme--documenter-dark .column.is-offset-0-desktop {
+ margin-left: 0%; }
+ html.theme--documenter-dark .column.is-1-desktop {
+ flex: none;
+ width: 8.3333333333%; }
+ html.theme--documenter-dark .column.is-offset-1-desktop {
+ margin-left: 8.3333333333%; }
+ html.theme--documenter-dark .column.is-2-desktop {
+ flex: none;
+ width: 16.6666666667%; }
+ html.theme--documenter-dark .column.is-offset-2-desktop {
+ margin-left: 16.6666666667%; }
+ html.theme--documenter-dark .column.is-3-desktop {
+ flex: none;
+ width: 25%; }
+ html.theme--documenter-dark .column.is-offset-3-desktop {
+ margin-left: 25%; }
+ html.theme--documenter-dark .column.is-4-desktop {
+ flex: none;
+ width: 33.3333333333%; }
+ html.theme--documenter-dark .column.is-offset-4-desktop {
+ margin-left: 33.3333333333%; }
+ html.theme--documenter-dark .column.is-5-desktop {
+ flex: none;
+ width: 41.6666666667%; }
+ html.theme--documenter-dark .column.is-offset-5-desktop {
+ margin-left: 41.6666666667%; }
+ html.theme--documenter-dark .column.is-6-desktop {
+ flex: none;
+ width: 50%; }
+ html.theme--documenter-dark .column.is-offset-6-desktop {
+ margin-left: 50%; }
+ html.theme--documenter-dark .column.is-7-desktop {
+ flex: none;
+ width: 58.3333333333%; }
+ html.theme--documenter-dark .column.is-offset-7-desktop {
+ margin-left: 58.3333333333%; }
+ html.theme--documenter-dark .column.is-8-desktop {
+ flex: none;
+ width: 66.6666666667%; }
+ html.theme--documenter-dark .column.is-offset-8-desktop {
+ margin-left: 66.6666666667%; }
+ html.theme--documenter-dark .column.is-9-desktop {
+ flex: none;
+ width: 75%; }
+ html.theme--documenter-dark .column.is-offset-9-desktop {
+ margin-left: 75%; }
+ html.theme--documenter-dark .column.is-10-desktop {
+ flex: none;
+ width: 83.3333333333%; }
+ html.theme--documenter-dark .column.is-offset-10-desktop {
+ margin-left: 83.3333333333%; }
+ html.theme--documenter-dark .column.is-11-desktop {
+ flex: none;
+ width: 91.6666666667%; }
+ html.theme--documenter-dark .column.is-offset-11-desktop {
+ margin-left: 91.6666666667%; }
+ html.theme--documenter-dark .column.is-12-desktop {
+ flex: none;
+ width: 100%; }
+ html.theme--documenter-dark .column.is-offset-12-desktop {
+ margin-left: 100%; } }
+ @media screen and (min-width: 1216px) {
+ html.theme--documenter-dark .column.is-narrow-widescreen {
+ flex: none; }
+ html.theme--documenter-dark .column.is-full-widescreen {
+ flex: none;
+ width: 100%; }
+ html.theme--documenter-dark .column.is-three-quarters-widescreen {
+ flex: none;
+ width: 75%; }
+ html.theme--documenter-dark .column.is-two-thirds-widescreen {
+ flex: none;
+ width: 66.6666%; }
+ html.theme--documenter-dark .column.is-half-widescreen {
+ flex: none;
+ width: 50%; }
+ html.theme--documenter-dark .column.is-one-third-widescreen {
+ flex: none;
+ width: 33.3333%; }
+ html.theme--documenter-dark .column.is-one-quarter-widescreen {
+ flex: none;
+ width: 25%; }
+ html.theme--documenter-dark .column.is-one-fifth-widescreen {
+ flex: none;
+ width: 20%; }
+ html.theme--documenter-dark .column.is-two-fifths-widescreen {
+ flex: none;
+ width: 40%; }
+ html.theme--documenter-dark .column.is-three-fifths-widescreen {
+ flex: none;
+ width: 60%; }
+ html.theme--documenter-dark .column.is-four-fifths-widescreen {
+ flex: none;
+ width: 80%; }
+ html.theme--documenter-dark .column.is-offset-three-quarters-widescreen {
+ margin-left: 75%; }
+ html.theme--documenter-dark .column.is-offset-two-thirds-widescreen {
+ margin-left: 66.6666%; }
+ html.theme--documenter-dark .column.is-offset-half-widescreen {
+ margin-left: 50%; }
+ html.theme--documenter-dark .column.is-offset-one-third-widescreen {
+ margin-left: 33.3333%; }
+ html.theme--documenter-dark .column.is-offset-one-quarter-widescreen {
+ margin-left: 25%; }
+ html.theme--documenter-dark .column.is-offset-one-fifth-widescreen {
+ margin-left: 20%; }
+ html.theme--documenter-dark .column.is-offset-two-fifths-widescreen {
+ margin-left: 40%; }
+ html.theme--documenter-dark .column.is-offset-three-fifths-widescreen {
+ margin-left: 60%; }
+ html.theme--documenter-dark .column.is-offset-four-fifths-widescreen {
+ margin-left: 80%; }
+ html.theme--documenter-dark .column.is-0-widescreen {
+ flex: none;
+ width: 0%; }
+ html.theme--documenter-dark .column.is-offset-0-widescreen {
+ margin-left: 0%; }
+ html.theme--documenter-dark .column.is-1-widescreen {
+ flex: none;
+ width: 8.3333333333%; }
+ html.theme--documenter-dark .column.is-offset-1-widescreen {
+ margin-left: 8.3333333333%; }
+ html.theme--documenter-dark .column.is-2-widescreen {
+ flex: none;
+ width: 16.6666666667%; }
+ html.theme--documenter-dark .column.is-offset-2-widescreen {
+ margin-left: 16.6666666667%; }
+ html.theme--documenter-dark .column.is-3-widescreen {
+ flex: none;
+ width: 25%; }
+ html.theme--documenter-dark .column.is-offset-3-widescreen {
+ margin-left: 25%; }
+ html.theme--documenter-dark .column.is-4-widescreen {
+ flex: none;
+ width: 33.3333333333%; }
+ html.theme--documenter-dark .column.is-offset-4-widescreen {
+ margin-left: 33.3333333333%; }
+ html.theme--documenter-dark .column.is-5-widescreen {
+ flex: none;
+ width: 41.6666666667%; }
+ html.theme--documenter-dark .column.is-offset-5-widescreen {
+ margin-left: 41.6666666667%; }
+ html.theme--documenter-dark .column.is-6-widescreen {
+ flex: none;
+ width: 50%; }
+ html.theme--documenter-dark .column.is-offset-6-widescreen {
+ margin-left: 50%; }
+ html.theme--documenter-dark .column.is-7-widescreen {
+ flex: none;
+ width: 58.3333333333%; }
+ html.theme--documenter-dark .column.is-offset-7-widescreen {
+ margin-left: 58.3333333333%; }
+ html.theme--documenter-dark .column.is-8-widescreen {
+ flex: none;
+ width: 66.6666666667%; }
+ html.theme--documenter-dark .column.is-offset-8-widescreen {
+ margin-left: 66.6666666667%; }
+ html.theme--documenter-dark .column.is-9-widescreen {
+ flex: none;
+ width: 75%; }
+ html.theme--documenter-dark .column.is-offset-9-widescreen {
+ margin-left: 75%; }
+ html.theme--documenter-dark .column.is-10-widescreen {
+ flex: none;
+ width: 83.3333333333%; }
+ html.theme--documenter-dark .column.is-offset-10-widescreen {
+ margin-left: 83.3333333333%; }
+ html.theme--documenter-dark .column.is-11-widescreen {
+ flex: none;
+ width: 91.6666666667%; }
+ html.theme--documenter-dark .column.is-offset-11-widescreen {
+ margin-left: 91.6666666667%; }
+ html.theme--documenter-dark .column.is-12-widescreen {
+ flex: none;
+ width: 100%; }
+ html.theme--documenter-dark .column.is-offset-12-widescreen {
+ margin-left: 100%; } }
+ @media screen and (min-width: 1408px) {
+ html.theme--documenter-dark .column.is-narrow-fullhd {
+ flex: none; }
+ html.theme--documenter-dark .column.is-full-fullhd {
+ flex: none;
+ width: 100%; }
+ html.theme--documenter-dark .column.is-three-quarters-fullhd {
+ flex: none;
+ width: 75%; }
+ html.theme--documenter-dark .column.is-two-thirds-fullhd {
+ flex: none;
+ width: 66.6666%; }
+ html.theme--documenter-dark .column.is-half-fullhd {
+ flex: none;
+ width: 50%; }
+ html.theme--documenter-dark .column.is-one-third-fullhd {
+ flex: none;
+ width: 33.3333%; }
+ html.theme--documenter-dark .column.is-one-quarter-fullhd {
+ flex: none;
+ width: 25%; }
+ html.theme--documenter-dark .column.is-one-fifth-fullhd {
+ flex: none;
+ width: 20%; }
+ html.theme--documenter-dark .column.is-two-fifths-fullhd {
+ flex: none;
+ width: 40%; }
+ html.theme--documenter-dark .column.is-three-fifths-fullhd {
+ flex: none;
+ width: 60%; }
+ html.theme--documenter-dark .column.is-four-fifths-fullhd {
+ flex: none;
+ width: 80%; }
+ html.theme--documenter-dark .column.is-offset-three-quarters-fullhd {
+ margin-left: 75%; }
+ html.theme--documenter-dark .column.is-offset-two-thirds-fullhd {
+ margin-left: 66.6666%; }
+ html.theme--documenter-dark .column.is-offset-half-fullhd {
+ margin-left: 50%; }
+ html.theme--documenter-dark .column.is-offset-one-third-fullhd {
+ margin-left: 33.3333%; }
+ html.theme--documenter-dark .column.is-offset-one-quarter-fullhd {
+ margin-left: 25%; }
+ html.theme--documenter-dark .column.is-offset-one-fifth-fullhd {
+ margin-left: 20%; }
+ html.theme--documenter-dark .column.is-offset-two-fifths-fullhd {
+ margin-left: 40%; }
+ html.theme--documenter-dark .column.is-offset-three-fifths-fullhd {
+ margin-left: 60%; }
+ html.theme--documenter-dark .column.is-offset-four-fifths-fullhd {
+ margin-left: 80%; }
+ html.theme--documenter-dark .column.is-0-fullhd {
+ flex: none;
+ width: 0%; }
+ html.theme--documenter-dark .column.is-offset-0-fullhd {
+ margin-left: 0%; }
+ html.theme--documenter-dark .column.is-1-fullhd {
+ flex: none;
+ width: 8.3333333333%; }
+ html.theme--documenter-dark .column.is-offset-1-fullhd {
+ margin-left: 8.3333333333%; }
+ html.theme--documenter-dark .column.is-2-fullhd {
+ flex: none;
+ width: 16.6666666667%; }
+ html.theme--documenter-dark .column.is-offset-2-fullhd {
+ margin-left: 16.6666666667%; }
+ html.theme--documenter-dark .column.is-3-fullhd {
+ flex: none;
+ width: 25%; }
+ html.theme--documenter-dark .column.is-offset-3-fullhd {
+ margin-left: 25%; }
+ html.theme--documenter-dark .column.is-4-fullhd {
+ flex: none;
+ width: 33.3333333333%; }
+ html.theme--documenter-dark .column.is-offset-4-fullhd {
+ margin-left: 33.3333333333%; }
+ html.theme--documenter-dark .column.is-5-fullhd {
+ flex: none;
+ width: 41.6666666667%; }
+ html.theme--documenter-dark .column.is-offset-5-fullhd {
+ margin-left: 41.6666666667%; }
+ html.theme--documenter-dark .column.is-6-fullhd {
+ flex: none;
+ width: 50%; }
+ html.theme--documenter-dark .column.is-offset-6-fullhd {
+ margin-left: 50%; }
+ html.theme--documenter-dark .column.is-7-fullhd {
+ flex: none;
+ width: 58.3333333333%; }
+ html.theme--documenter-dark .column.is-offset-7-fullhd {
+ margin-left: 58.3333333333%; }
+ html.theme--documenter-dark .column.is-8-fullhd {
+ flex: none;
+ width: 66.6666666667%; }
+ html.theme--documenter-dark .column.is-offset-8-fullhd {
+ margin-left: 66.6666666667%; }
+ html.theme--documenter-dark .column.is-9-fullhd {
+ flex: none;
+ width: 75%; }
+ html.theme--documenter-dark .column.is-offset-9-fullhd {
+ margin-left: 75%; }
+ html.theme--documenter-dark .column.is-10-fullhd {
+ flex: none;
+ width: 83.3333333333%; }
+ html.theme--documenter-dark .column.is-offset-10-fullhd {
+ margin-left: 83.3333333333%; }
+ html.theme--documenter-dark .column.is-11-fullhd {
+ flex: none;
+ width: 91.6666666667%; }
+ html.theme--documenter-dark .column.is-offset-11-fullhd {
+ margin-left: 91.6666666667%; }
+ html.theme--documenter-dark .column.is-12-fullhd {
+ flex: none;
+ width: 100%; }
+ html.theme--documenter-dark .column.is-offset-12-fullhd {
+ margin-left: 100%; } }
+ html.theme--documenter-dark .columns {
+ margin-left: -0.75rem;
+ margin-right: -0.75rem;
+ margin-top: -0.75rem; }
+ html.theme--documenter-dark .columns:last-child {
+ margin-bottom: -0.75rem; }
+ html.theme--documenter-dark .columns:not(:last-child) {
+ margin-bottom: calc(1.5rem - 0.75rem); }
+ html.theme--documenter-dark .columns.is-centered {
+ justify-content: center; }
+ html.theme--documenter-dark .columns.is-gapless {
+ margin-left: 0;
+ margin-right: 0;
+ margin-top: 0; }
+ html.theme--documenter-dark .columns.is-gapless > .column {
+ margin: 0;
+ padding: 0 !important; }
+ html.theme--documenter-dark .columns.is-gapless:not(:last-child) {
+ margin-bottom: 1.5rem; }
+ html.theme--documenter-dark .columns.is-gapless:last-child {
+ margin-bottom: 0; }
+ html.theme--documenter-dark .columns.is-mobile {
+ display: flex; }
+ html.theme--documenter-dark .columns.is-multiline {
+ flex-wrap: wrap; }
+ html.theme--documenter-dark .columns.is-vcentered {
+ align-items: center; }
+ @media screen and (min-width: 769px), print {
+ html.theme--documenter-dark .columns:not(.is-desktop) {
+ display: flex; } }
+ @media screen and (min-width: 1056px) {
+ html.theme--documenter-dark .columns.is-desktop {
+ display: flex; } }
+ html.theme--documenter-dark .columns.is-variable {
+ --columnGap: 0.75rem;
+ margin-left: calc(-1 * var(--columnGap));
+ margin-right: calc(-1 * var(--columnGap)); }
+ html.theme--documenter-dark .columns.is-variable .column {
+ padding-left: var(--columnGap);
+ padding-right: var(--columnGap); }
+ html.theme--documenter-dark .columns.is-variable.is-0 {
+ --columnGap: 0rem; }
+ @media screen and (max-width: 768px) {
+ html.theme--documenter-dark .columns.is-variable.is-0-mobile {
+ --columnGap: 0rem; } }
+ @media screen and (min-width: 769px), print {
+ html.theme--documenter-dark .columns.is-variable.is-0-tablet {
+ --columnGap: 0rem; } }
+ @media screen and (min-width: 769px) and (max-width: 1055px) {
+ html.theme--documenter-dark .columns.is-variable.is-0-tablet-only {
+ --columnGap: 0rem; } }
+ @media screen and (max-width: 1055px) {
+ html.theme--documenter-dark .columns.is-variable.is-0-touch {
+ --columnGap: 0rem; } }
+ @media screen and (min-width: 1056px) {
+ html.theme--documenter-dark .columns.is-variable.is-0-desktop {
+ --columnGap: 0rem; } }
+ @media screen and (min-width: 1056px) and (max-width: 1215px) {
+ html.theme--documenter-dark .columns.is-variable.is-0-desktop-only {
+ --columnGap: 0rem; } }
+ @media screen and (min-width: 1216px) {
+ html.theme--documenter-dark .columns.is-variable.is-0-widescreen {
+ --columnGap: 0rem; } }
+ @media screen and (min-width: 1216px) and (max-width: 1407px) {
+ html.theme--documenter-dark .columns.is-variable.is-0-widescreen-only {
+ --columnGap: 0rem; } }
+ @media screen and (min-width: 1408px) {
+ html.theme--documenter-dark .columns.is-variable.is-0-fullhd {
+ --columnGap: 0rem; } }
+ html.theme--documenter-dark .columns.is-variable.is-1 {
+ --columnGap: 0.25rem; }
+ @media screen and (max-width: 768px) {
+ html.theme--documenter-dark .columns.is-variable.is-1-mobile {
+ --columnGap: 0.25rem; } }
+ @media screen and (min-width: 769px), print {
+ html.theme--documenter-dark .columns.is-variable.is-1-tablet {
+ --columnGap: 0.25rem; } }
+ @media screen and (min-width: 769px) and (max-width: 1055px) {
+ html.theme--documenter-dark .columns.is-variable.is-1-tablet-only {
+ --columnGap: 0.25rem; } }
+ @media screen and (max-width: 1055px) {
+ html.theme--documenter-dark .columns.is-variable.is-1-touch {
+ --columnGap: 0.25rem; } }
+ @media screen and (min-width: 1056px) {
+ html.theme--documenter-dark .columns.is-variable.is-1-desktop {
+ --columnGap: 0.25rem; } }
+ @media screen and (min-width: 1056px) and (max-width: 1215px) {
+ html.theme--documenter-dark .columns.is-variable.is-1-desktop-only {
+ --columnGap: 0.25rem; } }
+ @media screen and (min-width: 1216px) {
+ html.theme--documenter-dark .columns.is-variable.is-1-widescreen {
+ --columnGap: 0.25rem; } }
+ @media screen and (min-width: 1216px) and (max-width: 1407px) {
+ html.theme--documenter-dark .columns.is-variable.is-1-widescreen-only {
+ --columnGap: 0.25rem; } }
+ @media screen and (min-width: 1408px) {
+ html.theme--documenter-dark .columns.is-variable.is-1-fullhd {
+ --columnGap: 0.25rem; } }
+ html.theme--documenter-dark .columns.is-variable.is-2 {
+ --columnGap: 0.5rem; }
+ @media screen and (max-width: 768px) {
+ html.theme--documenter-dark .columns.is-variable.is-2-mobile {
+ --columnGap: 0.5rem; } }
+ @media screen and (min-width: 769px), print {
+ html.theme--documenter-dark .columns.is-variable.is-2-tablet {
+ --columnGap: 0.5rem; } }
+ @media screen and (min-width: 769px) and (max-width: 1055px) {
+ html.theme--documenter-dark .columns.is-variable.is-2-tablet-only {
+ --columnGap: 0.5rem; } }
+ @media screen and (max-width: 1055px) {
+ html.theme--documenter-dark .columns.is-variable.is-2-touch {
+ --columnGap: 0.5rem; } }
+ @media screen and (min-width: 1056px) {
+ html.theme--documenter-dark .columns.is-variable.is-2-desktop {
+ --columnGap: 0.5rem; } }
+ @media screen and (min-width: 1056px) and (max-width: 1215px) {
+ html.theme--documenter-dark .columns.is-variable.is-2-desktop-only {
+ --columnGap: 0.5rem; } }
+ @media screen and (min-width: 1216px) {
+ html.theme--documenter-dark .columns.is-variable.is-2-widescreen {
+ --columnGap: 0.5rem; } }
+ @media screen and (min-width: 1216px) and (max-width: 1407px) {
+ html.theme--documenter-dark .columns.is-variable.is-2-widescreen-only {
+ --columnGap: 0.5rem; } }
+ @media screen and (min-width: 1408px) {
+ html.theme--documenter-dark .columns.is-variable.is-2-fullhd {
+ --columnGap: 0.5rem; } }
+ html.theme--documenter-dark .columns.is-variable.is-3 {
+ --columnGap: 0.75rem; }
+ @media screen and (max-width: 768px) {
+ html.theme--documenter-dark .columns.is-variable.is-3-mobile {
+ --columnGap: 0.75rem; } }
+ @media screen and (min-width: 769px), print {
+ html.theme--documenter-dark .columns.is-variable.is-3-tablet {
+ --columnGap: 0.75rem; } }
+ @media screen and (min-width: 769px) and (max-width: 1055px) {
+ html.theme--documenter-dark .columns.is-variable.is-3-tablet-only {
+ --columnGap: 0.75rem; } }
+ @media screen and (max-width: 1055px) {
+ html.theme--documenter-dark .columns.is-variable.is-3-touch {
+ --columnGap: 0.75rem; } }
+ @media screen and (min-width: 1056px) {
+ html.theme--documenter-dark .columns.is-variable.is-3-desktop {
+ --columnGap: 0.75rem; } }
+ @media screen and (min-width: 1056px) and (max-width: 1215px) {
+ html.theme--documenter-dark .columns.is-variable.is-3-desktop-only {
+ --columnGap: 0.75rem; } }
+ @media screen and (min-width: 1216px) {
+ html.theme--documenter-dark .columns.is-variable.is-3-widescreen {
+ --columnGap: 0.75rem; } }
+ @media screen and (min-width: 1216px) and (max-width: 1407px) {
+ html.theme--documenter-dark .columns.is-variable.is-3-widescreen-only {
+ --columnGap: 0.75rem; } }
+ @media screen and (min-width: 1408px) {
+ html.theme--documenter-dark .columns.is-variable.is-3-fullhd {
+ --columnGap: 0.75rem; } }
+ html.theme--documenter-dark .columns.is-variable.is-4 {
+ --columnGap: 1rem; }
+ @media screen and (max-width: 768px) {
+ html.theme--documenter-dark .columns.is-variable.is-4-mobile {
+ --columnGap: 1rem; } }
+ @media screen and (min-width: 769px), print {
+ html.theme--documenter-dark .columns.is-variable.is-4-tablet {
+ --columnGap: 1rem; } }
+ @media screen and (min-width: 769px) and (max-width: 1055px) {
+ html.theme--documenter-dark .columns.is-variable.is-4-tablet-only {
+ --columnGap: 1rem; } }
+ @media screen and (max-width: 1055px) {
+ html.theme--documenter-dark .columns.is-variable.is-4-touch {
+ --columnGap: 1rem; } }
+ @media screen and (min-width: 1056px) {
+ html.theme--documenter-dark .columns.is-variable.is-4-desktop {
+ --columnGap: 1rem; } }
+ @media screen and (min-width: 1056px) and (max-width: 1215px) {
+ html.theme--documenter-dark .columns.is-variable.is-4-desktop-only {
+ --columnGap: 1rem; } }
+ @media screen and (min-width: 1216px) {
+ html.theme--documenter-dark .columns.is-variable.is-4-widescreen {
+ --columnGap: 1rem; } }
+ @media screen and (min-width: 1216px) and (max-width: 1407px) {
+ html.theme--documenter-dark .columns.is-variable.is-4-widescreen-only {
+ --columnGap: 1rem; } }
+ @media screen and (min-width: 1408px) {
+ html.theme--documenter-dark .columns.is-variable.is-4-fullhd {
+ --columnGap: 1rem; } }
+ html.theme--documenter-dark .columns.is-variable.is-5 {
+ --columnGap: 1.25rem; }
+ @media screen and (max-width: 768px) {
+ html.theme--documenter-dark .columns.is-variable.is-5-mobile {
+ --columnGap: 1.25rem; } }
+ @media screen and (min-width: 769px), print {
+ html.theme--documenter-dark .columns.is-variable.is-5-tablet {
+ --columnGap: 1.25rem; } }
+ @media screen and (min-width: 769px) and (max-width: 1055px) {
+ html.theme--documenter-dark .columns.is-variable.is-5-tablet-only {
+ --columnGap: 1.25rem; } }
+ @media screen and (max-width: 1055px) {
+ html.theme--documenter-dark .columns.is-variable.is-5-touch {
+ --columnGap: 1.25rem; } }
+ @media screen and (min-width: 1056px) {
+ html.theme--documenter-dark .columns.is-variable.is-5-desktop {
+ --columnGap: 1.25rem; } }
+ @media screen and (min-width: 1056px) and (max-width: 1215px) {
+ html.theme--documenter-dark .columns.is-variable.is-5-desktop-only {
+ --columnGap: 1.25rem; } }
+ @media screen and (min-width: 1216px) {
+ html.theme--documenter-dark .columns.is-variable.is-5-widescreen {
+ --columnGap: 1.25rem; } }
+ @media screen and (min-width: 1216px) and (max-width: 1407px) {
+ html.theme--documenter-dark .columns.is-variable.is-5-widescreen-only {
+ --columnGap: 1.25rem; } }
+ @media screen and (min-width: 1408px) {
+ html.theme--documenter-dark .columns.is-variable.is-5-fullhd {
+ --columnGap: 1.25rem; } }
+ html.theme--documenter-dark .columns.is-variable.is-6 {
+ --columnGap: 1.5rem; }
+ @media screen and (max-width: 768px) {
+ html.theme--documenter-dark .columns.is-variable.is-6-mobile {
+ --columnGap: 1.5rem; } }
+ @media screen and (min-width: 769px), print {
+ html.theme--documenter-dark .columns.is-variable.is-6-tablet {
+ --columnGap: 1.5rem; } }
+ @media screen and (min-width: 769px) and (max-width: 1055px) {
+ html.theme--documenter-dark .columns.is-variable.is-6-tablet-only {
+ --columnGap: 1.5rem; } }
+ @media screen and (max-width: 1055px) {
+ html.theme--documenter-dark .columns.is-variable.is-6-touch {
+ --columnGap: 1.5rem; } }
+ @media screen and (min-width: 1056px) {
+ html.theme--documenter-dark .columns.is-variable.is-6-desktop {
+ --columnGap: 1.5rem; } }
+ @media screen and (min-width: 1056px) and (max-width: 1215px) {
+ html.theme--documenter-dark .columns.is-variable.is-6-desktop-only {
+ --columnGap: 1.5rem; } }
+ @media screen and (min-width: 1216px) {
+ html.theme--documenter-dark .columns.is-variable.is-6-widescreen {
+ --columnGap: 1.5rem; } }
+ @media screen and (min-width: 1216px) and (max-width: 1407px) {
+ html.theme--documenter-dark .columns.is-variable.is-6-widescreen-only {
+ --columnGap: 1.5rem; } }
+ @media screen and (min-width: 1408px) {
+ html.theme--documenter-dark .columns.is-variable.is-6-fullhd {
+ --columnGap: 1.5rem; } }
+ html.theme--documenter-dark .columns.is-variable.is-7 {
+ --columnGap: 1.75rem; }
+ @media screen and (max-width: 768px) {
+ html.theme--documenter-dark .columns.is-variable.is-7-mobile {
+ --columnGap: 1.75rem; } }
+ @media screen and (min-width: 769px), print {
+ html.theme--documenter-dark .columns.is-variable.is-7-tablet {
+ --columnGap: 1.75rem; } }
+ @media screen and (min-width: 769px) and (max-width: 1055px) {
+ html.theme--documenter-dark .columns.is-variable.is-7-tablet-only {
+ --columnGap: 1.75rem; } }
+ @media screen and (max-width: 1055px) {
+ html.theme--documenter-dark .columns.is-variable.is-7-touch {
+ --columnGap: 1.75rem; } }
+ @media screen and (min-width: 1056px) {
+ html.theme--documenter-dark .columns.is-variable.is-7-desktop {
+ --columnGap: 1.75rem; } }
+ @media screen and (min-width: 1056px) and (max-width: 1215px) {
+ html.theme--documenter-dark .columns.is-variable.is-7-desktop-only {
+ --columnGap: 1.75rem; } }
+ @media screen and (min-width: 1216px) {
+ html.theme--documenter-dark .columns.is-variable.is-7-widescreen {
+ --columnGap: 1.75rem; } }
+ @media screen and (min-width: 1216px) and (max-width: 1407px) {
+ html.theme--documenter-dark .columns.is-variable.is-7-widescreen-only {
+ --columnGap: 1.75rem; } }
+ @media screen and (min-width: 1408px) {
+ html.theme--documenter-dark .columns.is-variable.is-7-fullhd {
+ --columnGap: 1.75rem; } }
+ html.theme--documenter-dark .columns.is-variable.is-8 {
+ --columnGap: 2rem; }
+ @media screen and (max-width: 768px) {
+ html.theme--documenter-dark .columns.is-variable.is-8-mobile {
+ --columnGap: 2rem; } }
+ @media screen and (min-width: 769px), print {
+ html.theme--documenter-dark .columns.is-variable.is-8-tablet {
+ --columnGap: 2rem; } }
+ @media screen and (min-width: 769px) and (max-width: 1055px) {
+ html.theme--documenter-dark .columns.is-variable.is-8-tablet-only {
+ --columnGap: 2rem; } }
+ @media screen and (max-width: 1055px) {
+ html.theme--documenter-dark .columns.is-variable.is-8-touch {
+ --columnGap: 2rem; } }
+ @media screen and (min-width: 1056px) {
+ html.theme--documenter-dark .columns.is-variable.is-8-desktop {
+ --columnGap: 2rem; } }
+ @media screen and (min-width: 1056px) and (max-width: 1215px) {
+ html.theme--documenter-dark .columns.is-variable.is-8-desktop-only {
+ --columnGap: 2rem; } }
+ @media screen and (min-width: 1216px) {
+ html.theme--documenter-dark .columns.is-variable.is-8-widescreen {
+ --columnGap: 2rem; } }
+ @media screen and (min-width: 1216px) and (max-width: 1407px) {
+ html.theme--documenter-dark .columns.is-variable.is-8-widescreen-only {
+ --columnGap: 2rem; } }
+ @media screen and (min-width: 1408px) {
+ html.theme--documenter-dark .columns.is-variable.is-8-fullhd {
+ --columnGap: 2rem; } }
+ html.theme--documenter-dark .tile {
+ align-items: stretch;
+ display: block;
+ flex-basis: 0;
+ flex-grow: 1;
+ flex-shrink: 1;
+ min-height: min-content; }
+ html.theme--documenter-dark .tile.is-ancestor {
+ margin-left: -0.75rem;
+ margin-right: -0.75rem;
+ margin-top: -0.75rem; }
+ html.theme--documenter-dark .tile.is-ancestor:last-child {
+ margin-bottom: -0.75rem; }
+ html.theme--documenter-dark .tile.is-ancestor:not(:last-child) {
+ margin-bottom: 0.75rem; }
+ html.theme--documenter-dark .tile.is-child {
+ margin: 0 !important; }
+ html.theme--documenter-dark .tile.is-parent {
+ padding: 0.75rem; }
+ html.theme--documenter-dark .tile.is-vertical {
+ flex-direction: column; }
+ html.theme--documenter-dark .tile.is-vertical > .tile.is-child:not(:last-child) {
+ margin-bottom: 1.5rem !important; }
+ @media screen and (min-width: 769px), print {
+ html.theme--documenter-dark .tile:not(.is-child) {
+ display: flex; }
+ html.theme--documenter-dark .tile.is-1 {
+ flex: none;
+ width: 8.3333333333%; }
+ html.theme--documenter-dark .tile.is-2 {
+ flex: none;
+ width: 16.6666666667%; }
+ html.theme--documenter-dark .tile.is-3 {
+ flex: none;
+ width: 25%; }
+ html.theme--documenter-dark .tile.is-4 {
+ flex: none;
+ width: 33.3333333333%; }
+ html.theme--documenter-dark .tile.is-5 {
+ flex: none;
+ width: 41.6666666667%; }
+ html.theme--documenter-dark .tile.is-6 {
+ flex: none;
+ width: 50%; }
+ html.theme--documenter-dark .tile.is-7 {
+ flex: none;
+ width: 58.3333333333%; }
+ html.theme--documenter-dark .tile.is-8 {
+ flex: none;
+ width: 66.6666666667%; }
+ html.theme--documenter-dark .tile.is-9 {
+ flex: none;
+ width: 75%; }
+ html.theme--documenter-dark .tile.is-10 {
+ flex: none;
+ width: 83.3333333333%; }
+ html.theme--documenter-dark .tile.is-11 {
+ flex: none;
+ width: 91.6666666667%; }
+ html.theme--documenter-dark .tile.is-12 {
+ flex: none;
+ width: 100%; } }
+ html.theme--documenter-dark .hero {
+ align-items: stretch;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between; }
+ html.theme--documenter-dark .hero .navbar {
+ background: none; }
+ html.theme--documenter-dark .hero .tabs ul {
+ border-bottom: none; }
+ html.theme--documenter-dark .hero.is-white {
+ background-color: white;
+ color: #0a0a0a; }
+ html.theme--documenter-dark .hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+ html.theme--documenter-dark .hero.is-white strong {
+ color: inherit; }
+ html.theme--documenter-dark .hero.is-white .title {
+ color: #0a0a0a; }
+ html.theme--documenter-dark .hero.is-white .subtitle {
+ color: rgba(10, 10, 10, 0.9); }
+ html.theme--documenter-dark .hero.is-white .subtitle a:not(.button),
+ html.theme--documenter-dark .hero.is-white .subtitle strong {
+ color: #0a0a0a; }
+ @media screen and (max-width: 1055px) {
+ html.theme--documenter-dark .hero.is-white .navbar-menu {
+ background-color: white; } }
+ html.theme--documenter-dark .hero.is-white .navbar-item,
+ html.theme--documenter-dark .hero.is-white .navbar-link {
+ color: rgba(10, 10, 10, 0.7); }
+ html.theme--documenter-dark .hero.is-white a.navbar-item:hover, html.theme--documenter-dark .hero.is-white a.navbar-item.is-active,
+ html.theme--documenter-dark .hero.is-white .navbar-link:hover,
+ html.theme--documenter-dark .hero.is-white .navbar-link.is-active {
+ background-color: #f2f2f2;
+ color: #0a0a0a; }
+ html.theme--documenter-dark .hero.is-white .tabs a {
+ color: #0a0a0a;
+ opacity: 0.9; }
+ html.theme--documenter-dark .hero.is-white .tabs a:hover {
+ opacity: 1; }
+ html.theme--documenter-dark .hero.is-white .tabs li.is-active a {
+ opacity: 1; }
+ html.theme--documenter-dark .hero.is-white .tabs.is-boxed a, html.theme--documenter-dark .hero.is-white .tabs.is-toggle a {
+ color: #0a0a0a; }
+ html.theme--documenter-dark .hero.is-white .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-white .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1); }
+ html.theme--documenter-dark .hero.is-white .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-white .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-white .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-white .tabs.is-toggle li.is-active a:hover {
+ background-color: #0a0a0a;
+ border-color: #0a0a0a;
+ color: white; }
+ html.theme--documenter-dark .hero.is-white.is-bold {
+ background-image: linear-gradient(141deg, #e8e3e4 0%, white 71%, white 100%); }
+ @media screen and (max-width: 768px) {
+ html.theme--documenter-dark .hero.is-white.is-bold .navbar-menu {
+ background-image: linear-gradient(141deg, #e8e3e4 0%, white 71%, white 100%); } }
+ html.theme--documenter-dark .hero.is-black {
+ background-color: #0a0a0a;
+ color: white; }
+ html.theme--documenter-dark .hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+ html.theme--documenter-dark .hero.is-black strong {
+ color: inherit; }
+ html.theme--documenter-dark .hero.is-black .title {
+ color: white; }
+ html.theme--documenter-dark .hero.is-black .subtitle {
+ color: rgba(255, 255, 255, 0.9); }
+ html.theme--documenter-dark .hero.is-black .subtitle a:not(.button),
+ html.theme--documenter-dark .hero.is-black .subtitle strong {
+ color: white; }
+ @media screen and (max-width: 1055px) {
+ html.theme--documenter-dark .hero.is-black .navbar-menu {
+ background-color: #0a0a0a; } }
+ html.theme--documenter-dark .hero.is-black .navbar-item,
+ html.theme--documenter-dark .hero.is-black .navbar-link {
+ color: rgba(255, 255, 255, 0.7); }
+ html.theme--documenter-dark .hero.is-black a.navbar-item:hover, html.theme--documenter-dark .hero.is-black a.navbar-item.is-active,
+ html.theme--documenter-dark .hero.is-black .navbar-link:hover,
+ html.theme--documenter-dark .hero.is-black .navbar-link.is-active {
+ background-color: black;
+ color: white; }
+ html.theme--documenter-dark .hero.is-black .tabs a {
+ color: white;
+ opacity: 0.9; }
+ html.theme--documenter-dark .hero.is-black .tabs a:hover {
+ opacity: 1; }
+ html.theme--documenter-dark .hero.is-black .tabs li.is-active a {
+ opacity: 1; }
+ html.theme--documenter-dark .hero.is-black .tabs.is-boxed a, html.theme--documenter-dark .hero.is-black .tabs.is-toggle a {
+ color: white; }
+ html.theme--documenter-dark .hero.is-black .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-black .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1); }
+ html.theme--documenter-dark .hero.is-black .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-black .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-black .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-black .tabs.is-toggle li.is-active a:hover {
+ background-color: white;
+ border-color: white;
+ color: #0a0a0a; }
+ html.theme--documenter-dark .hero.is-black.is-bold {
+ background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); }
+ @media screen and (max-width: 768px) {
+ html.theme--documenter-dark .hero.is-black.is-bold .navbar-menu {
+ background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); } }
+ html.theme--documenter-dark .hero.is-light {
+ background-color: #ecf0f1;
+ color: #282f2f; }
+ html.theme--documenter-dark .hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+ html.theme--documenter-dark .hero.is-light strong {
+ color: inherit; }
+ html.theme--documenter-dark .hero.is-light .title {
+ color: #282f2f; }
+ html.theme--documenter-dark .hero.is-light .subtitle {
+ color: rgba(40, 47, 47, 0.9); }
+ html.theme--documenter-dark .hero.is-light .subtitle a:not(.button),
+ html.theme--documenter-dark .hero.is-light .subtitle strong {
+ color: #282f2f; }
+ @media screen and (max-width: 1055px) {
+ html.theme--documenter-dark .hero.is-light .navbar-menu {
+ background-color: #ecf0f1; } }
+ html.theme--documenter-dark .hero.is-light .navbar-item,
+ html.theme--documenter-dark .hero.is-light .navbar-link {
+ color: rgba(40, 47, 47, 0.7); }
+ html.theme--documenter-dark .hero.is-light a.navbar-item:hover, html.theme--documenter-dark .hero.is-light a.navbar-item.is-active,
+ html.theme--documenter-dark .hero.is-light .navbar-link:hover,
+ html.theme--documenter-dark .hero.is-light .navbar-link.is-active {
+ background-color: #dde4e6;
+ color: #282f2f; }
+ html.theme--documenter-dark .hero.is-light .tabs a {
+ color: #282f2f;
+ opacity: 0.9; }
+ html.theme--documenter-dark .hero.is-light .tabs a:hover {
+ opacity: 1; }
+ html.theme--documenter-dark .hero.is-light .tabs li.is-active a {
+ opacity: 1; }
+ html.theme--documenter-dark .hero.is-light .tabs.is-boxed a, html.theme--documenter-dark .hero.is-light .tabs.is-toggle a {
+ color: #282f2f; }
+ html.theme--documenter-dark .hero.is-light .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-light .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1); }
+ html.theme--documenter-dark .hero.is-light .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-light .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-light .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-light .tabs.is-toggle li.is-active a:hover {
+ background-color: #282f2f;
+ border-color: #282f2f;
+ color: #ecf0f1; }
+ html.theme--documenter-dark .hero.is-light.is-bold {
+ background-image: linear-gradient(141deg, #cadfe0 0%, #ecf0f1 71%, #fafbfc 100%); }
+ @media screen and (max-width: 768px) {
+ html.theme--documenter-dark .hero.is-light.is-bold .navbar-menu {
+ background-image: linear-gradient(141deg, #cadfe0 0%, #ecf0f1 71%, #fafbfc 100%); } }
+ html.theme--documenter-dark .hero.is-dark, html.theme--documenter-dark .content kbd.hero {
+ background-color: #282f2f;
+ color: #ecf0f1; }
+ html.theme--documenter-dark .hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), html.theme--documenter-dark .content kbd.hero a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+ html.theme--documenter-dark .hero.is-dark strong,
+ html.theme--documenter-dark .content kbd.hero strong {
+ color: inherit; }
+ html.theme--documenter-dark .hero.is-dark .title, html.theme--documenter-dark .content kbd.hero .title {
+ color: #ecf0f1; }
+ html.theme--documenter-dark .hero.is-dark .subtitle, html.theme--documenter-dark .content kbd.hero .subtitle {
+ color: rgba(236, 240, 241, 0.9); }
+ html.theme--documenter-dark .hero.is-dark .subtitle a:not(.button), html.theme--documenter-dark .content kbd.hero .subtitle a:not(.button),
+ html.theme--documenter-dark .hero.is-dark .subtitle strong,
+ html.theme--documenter-dark .content kbd.hero .subtitle strong {
+ color: #ecf0f1; }
+ @media screen and (max-width: 1055px) {
+ html.theme--documenter-dark .hero.is-dark .navbar-menu, html.theme--documenter-dark .content kbd.hero .navbar-menu {
+ background-color: #282f2f; } }
+ html.theme--documenter-dark .hero.is-dark .navbar-item, html.theme--documenter-dark .content kbd.hero .navbar-item,
+ html.theme--documenter-dark .hero.is-dark .navbar-link,
+ html.theme--documenter-dark .content kbd.hero .navbar-link {
+ color: rgba(236, 240, 241, 0.7); }
+ html.theme--documenter-dark .hero.is-dark a.navbar-item:hover, html.theme--documenter-dark .content kbd.hero a.navbar-item:hover, html.theme--documenter-dark .hero.is-dark a.navbar-item.is-active, html.theme--documenter-dark .content kbd.hero a.navbar-item.is-active,
+ html.theme--documenter-dark .hero.is-dark .navbar-link:hover,
+ html.theme--documenter-dark .content kbd.hero .navbar-link:hover,
+ html.theme--documenter-dark .hero.is-dark .navbar-link.is-active,
+ html.theme--documenter-dark .content kbd.hero .navbar-link.is-active {
+ background-color: #1d2122;
+ color: #ecf0f1; }
+ html.theme--documenter-dark .hero.is-dark .tabs a, html.theme--documenter-dark .content kbd.hero .tabs a {
+ color: #ecf0f1;
+ opacity: 0.9; }
+ html.theme--documenter-dark .hero.is-dark .tabs a:hover, html.theme--documenter-dark .content kbd.hero .tabs a:hover {
+ opacity: 1; }
+ html.theme--documenter-dark .hero.is-dark .tabs li.is-active a, html.theme--documenter-dark .content kbd.hero .tabs li.is-active a {
+ opacity: 1; }
+ html.theme--documenter-dark .hero.is-dark .tabs.is-boxed a, html.theme--documenter-dark .content kbd.hero .tabs.is-boxed a, html.theme--documenter-dark .hero.is-dark .tabs.is-toggle a, html.theme--documenter-dark .content kbd.hero .tabs.is-toggle a {
+ color: #ecf0f1; }
+ html.theme--documenter-dark .hero.is-dark .tabs.is-boxed a:hover, html.theme--documenter-dark .content kbd.hero .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-dark .tabs.is-toggle a:hover, html.theme--documenter-dark .content kbd.hero .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1); }
+ html.theme--documenter-dark .hero.is-dark .tabs.is-boxed li.is-active a, html.theme--documenter-dark .content kbd.hero .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-dark .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-dark .tabs.is-toggle li.is-active a, html.theme--documenter-dark .content kbd.hero .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-dark .tabs.is-toggle li.is-active a:hover {
+ background-color: #ecf0f1;
+ border-color: #ecf0f1;
+ color: #282f2f; }
+ html.theme--documenter-dark .hero.is-dark.is-bold, html.theme--documenter-dark .content kbd.hero.is-bold {
+ background-image: linear-gradient(141deg, #0f1615 0%, #282f2f 71%, #313c40 100%); }
+ @media screen and (max-width: 768px) {
+ html.theme--documenter-dark .hero.is-dark.is-bold .navbar-menu, html.theme--documenter-dark .content kbd.hero.is-bold .navbar-menu {
+ background-image: linear-gradient(141deg, #0f1615 0%, #282f2f 71%, #313c40 100%); } }
+ html.theme--documenter-dark .hero.is-primary, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink {
+ background-color: #375a7f;
+ color: #fff; }
+ html.theme--documenter-dark .hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+ html.theme--documenter-dark .hero.is-primary strong,
+ html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink strong {
+ color: inherit; }
+ html.theme--documenter-dark .hero.is-primary .title, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .title {
+ color: #fff; }
+ html.theme--documenter-dark .hero.is-primary .subtitle, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .subtitle {
+ color: rgba(255, 255, 255, 0.9); }
+ html.theme--documenter-dark .hero.is-primary .subtitle a:not(.button), html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .subtitle a:not(.button),
+ html.theme--documenter-dark .hero.is-primary .subtitle strong,
+ html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .subtitle strong {
+ color: #fff; }
+ @media screen and (max-width: 1055px) {
+ html.theme--documenter-dark .hero.is-primary .navbar-menu, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-menu {
+ background-color: #375a7f; } }
+ html.theme--documenter-dark .hero.is-primary .navbar-item, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-item,
+ html.theme--documenter-dark .hero.is-primary .navbar-link,
+ html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-link {
+ color: rgba(255, 255, 255, 0.7); }
+ html.theme--documenter-dark .hero.is-primary a.navbar-item:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink a.navbar-item:hover, html.theme--documenter-dark .hero.is-primary a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink a.navbar-item.is-active,
+ html.theme--documenter-dark .hero.is-primary .navbar-link:hover,
+ html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-link:hover,
+ html.theme--documenter-dark .hero.is-primary .navbar-link.is-active,
+ html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar-link.is-active {
+ background-color: #2f4d6d;
+ color: #fff; }
+ html.theme--documenter-dark .hero.is-primary .tabs a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs a {
+ color: #fff;
+ opacity: 0.9; }
+ html.theme--documenter-dark .hero.is-primary .tabs a:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs a:hover {
+ opacity: 1; }
+ html.theme--documenter-dark .hero.is-primary .tabs li.is-active a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs li.is-active a {
+ opacity: 1; }
+ html.theme--documenter-dark .hero.is-primary .tabs.is-boxed a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed a, html.theme--documenter-dark .hero.is-primary .tabs.is-toggle a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle a {
+ color: #fff; }
+ html.theme--documenter-dark .hero.is-primary .tabs.is-boxed a:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-primary .tabs.is-toggle a:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1); }
+ html.theme--documenter-dark .hero.is-primary .tabs.is-boxed li.is-active a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-primary .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-primary .tabs.is-toggle li.is-active a, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-primary .tabs.is-toggle li.is-active a:hover {
+ background-color: #fff;
+ border-color: #fff;
+ color: #375a7f; }
+ html.theme--documenter-dark .hero.is-primary.is-bold, html.theme--documenter-dark .docstring > section > a.hero.is-bold.docs-sourcelink {
+ background-image: linear-gradient(141deg, #214b62 0%, #375a7f 71%, #3a5796 100%); }
+ @media screen and (max-width: 768px) {
+ html.theme--documenter-dark .hero.is-primary.is-bold .navbar-menu, html.theme--documenter-dark .docstring > section > a.hero.is-bold.docs-sourcelink .navbar-menu {
+ background-image: linear-gradient(141deg, #214b62 0%, #375a7f 71%, #3a5796 100%); } }
+ html.theme--documenter-dark .hero.is-link {
+ background-color: #1abc9c;
+ color: #fff; }
+ html.theme--documenter-dark .hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+ html.theme--documenter-dark .hero.is-link strong {
+ color: inherit; }
+ html.theme--documenter-dark .hero.is-link .title {
+ color: #fff; }
+ html.theme--documenter-dark .hero.is-link .subtitle {
+ color: rgba(255, 255, 255, 0.9); }
+ html.theme--documenter-dark .hero.is-link .subtitle a:not(.button),
+ html.theme--documenter-dark .hero.is-link .subtitle strong {
+ color: #fff; }
+ @media screen and (max-width: 1055px) {
+ html.theme--documenter-dark .hero.is-link .navbar-menu {
+ background-color: #1abc9c; } }
+ html.theme--documenter-dark .hero.is-link .navbar-item,
+ html.theme--documenter-dark .hero.is-link .navbar-link {
+ color: rgba(255, 255, 255, 0.7); }
+ html.theme--documenter-dark .hero.is-link a.navbar-item:hover, html.theme--documenter-dark .hero.is-link a.navbar-item.is-active,
+ html.theme--documenter-dark .hero.is-link .navbar-link:hover,
+ html.theme--documenter-dark .hero.is-link .navbar-link.is-active {
+ background-color: #17a689;
+ color: #fff; }
+ html.theme--documenter-dark .hero.is-link .tabs a {
+ color: #fff;
+ opacity: 0.9; }
+ html.theme--documenter-dark .hero.is-link .tabs a:hover {
+ opacity: 1; }
+ html.theme--documenter-dark .hero.is-link .tabs li.is-active a {
+ opacity: 1; }
+ html.theme--documenter-dark .hero.is-link .tabs.is-boxed a, html.theme--documenter-dark .hero.is-link .tabs.is-toggle a {
+ color: #fff; }
+ html.theme--documenter-dark .hero.is-link .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-link .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1); }
+ html.theme--documenter-dark .hero.is-link .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-link .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-link .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-link .tabs.is-toggle li.is-active a:hover {
+ background-color: #fff;
+ border-color: #fff;
+ color: #1abc9c; }
+ html.theme--documenter-dark .hero.is-link.is-bold {
+ background-image: linear-gradient(141deg, #0c9764 0%, #1abc9c 71%, #17d8d2 100%); }
+ @media screen and (max-width: 768px) {
+ html.theme--documenter-dark .hero.is-link.is-bold .navbar-menu {
+ background-image: linear-gradient(141deg, #0c9764 0%, #1abc9c 71%, #17d8d2 100%); } }
+ html.theme--documenter-dark .hero.is-info {
+ background-color: #024c7d;
+ color: #fff; }
+ html.theme--documenter-dark .hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+ html.theme--documenter-dark .hero.is-info strong {
+ color: inherit; }
+ html.theme--documenter-dark .hero.is-info .title {
+ color: #fff; }
+ html.theme--documenter-dark .hero.is-info .subtitle {
+ color: rgba(255, 255, 255, 0.9); }
+ html.theme--documenter-dark .hero.is-info .subtitle a:not(.button),
+ html.theme--documenter-dark .hero.is-info .subtitle strong {
+ color: #fff; }
+ @media screen and (max-width: 1055px) {
+ html.theme--documenter-dark .hero.is-info .navbar-menu {
+ background-color: #024c7d; } }
+ html.theme--documenter-dark .hero.is-info .navbar-item,
+ html.theme--documenter-dark .hero.is-info .navbar-link {
+ color: rgba(255, 255, 255, 0.7); }
+ html.theme--documenter-dark .hero.is-info a.navbar-item:hover, html.theme--documenter-dark .hero.is-info a.navbar-item.is-active,
+ html.theme--documenter-dark .hero.is-info .navbar-link:hover,
+ html.theme--documenter-dark .hero.is-info .navbar-link.is-active {
+ background-color: #023d64;
+ color: #fff; }
+ html.theme--documenter-dark .hero.is-info .tabs a {
+ color: #fff;
+ opacity: 0.9; }
+ html.theme--documenter-dark .hero.is-info .tabs a:hover {
+ opacity: 1; }
+ html.theme--documenter-dark .hero.is-info .tabs li.is-active a {
+ opacity: 1; }
+ html.theme--documenter-dark .hero.is-info .tabs.is-boxed a, html.theme--documenter-dark .hero.is-info .tabs.is-toggle a {
+ color: #fff; }
+ html.theme--documenter-dark .hero.is-info .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-info .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1); }
+ html.theme--documenter-dark .hero.is-info .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-info .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-info .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-info .tabs.is-toggle li.is-active a:hover {
+ background-color: #fff;
+ border-color: #fff;
+ color: #024c7d; }
+ html.theme--documenter-dark .hero.is-info.is-bold {
+ background-image: linear-gradient(141deg, #003a4c 0%, #024c7d 71%, #004299 100%); }
+ @media screen and (max-width: 768px) {
+ html.theme--documenter-dark .hero.is-info.is-bold .navbar-menu {
+ background-image: linear-gradient(141deg, #003a4c 0%, #024c7d 71%, #004299 100%); } }
+ html.theme--documenter-dark .hero.is-success {
+ background-color: #008438;
+ color: #fff; }
+ html.theme--documenter-dark .hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+ html.theme--documenter-dark .hero.is-success strong {
+ color: inherit; }
+ html.theme--documenter-dark .hero.is-success .title {
+ color: #fff; }
+ html.theme--documenter-dark .hero.is-success .subtitle {
+ color: rgba(255, 255, 255, 0.9); }
+ html.theme--documenter-dark .hero.is-success .subtitle a:not(.button),
+ html.theme--documenter-dark .hero.is-success .subtitle strong {
+ color: #fff; }
+ @media screen and (max-width: 1055px) {
+ html.theme--documenter-dark .hero.is-success .navbar-menu {
+ background-color: #008438; } }
+ html.theme--documenter-dark .hero.is-success .navbar-item,
+ html.theme--documenter-dark .hero.is-success .navbar-link {
+ color: rgba(255, 255, 255, 0.7); }
+ html.theme--documenter-dark .hero.is-success a.navbar-item:hover, html.theme--documenter-dark .hero.is-success a.navbar-item.is-active,
+ html.theme--documenter-dark .hero.is-success .navbar-link:hover,
+ html.theme--documenter-dark .hero.is-success .navbar-link.is-active {
+ background-color: #006b2d;
+ color: #fff; }
+ html.theme--documenter-dark .hero.is-success .tabs a {
+ color: #fff;
+ opacity: 0.9; }
+ html.theme--documenter-dark .hero.is-success .tabs a:hover {
+ opacity: 1; }
+ html.theme--documenter-dark .hero.is-success .tabs li.is-active a {
+ opacity: 1; }
+ html.theme--documenter-dark .hero.is-success .tabs.is-boxed a, html.theme--documenter-dark .hero.is-success .tabs.is-toggle a {
+ color: #fff; }
+ html.theme--documenter-dark .hero.is-success .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-success .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1); }
+ html.theme--documenter-dark .hero.is-success .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-success .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-success .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-success .tabs.is-toggle li.is-active a:hover {
+ background-color: #fff;
+ border-color: #fff;
+ color: #008438; }
+ html.theme--documenter-dark .hero.is-success.is-bold {
+ background-image: linear-gradient(141deg, #005115 0%, #008438 71%, #009e5d 100%); }
+ @media screen and (max-width: 768px) {
+ html.theme--documenter-dark .hero.is-success.is-bold .navbar-menu {
+ background-image: linear-gradient(141deg, #005115 0%, #008438 71%, #009e5d 100%); } }
+ html.theme--documenter-dark .hero.is-warning {
+ background-color: #ad8100;
+ color: #fff; }
+ html.theme--documenter-dark .hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+ html.theme--documenter-dark .hero.is-warning strong {
+ color: inherit; }
+ html.theme--documenter-dark .hero.is-warning .title {
+ color: #fff; }
+ html.theme--documenter-dark .hero.is-warning .subtitle {
+ color: rgba(255, 255, 255, 0.9); }
+ html.theme--documenter-dark .hero.is-warning .subtitle a:not(.button),
+ html.theme--documenter-dark .hero.is-warning .subtitle strong {
+ color: #fff; }
+ @media screen and (max-width: 1055px) {
+ html.theme--documenter-dark .hero.is-warning .navbar-menu {
+ background-color: #ad8100; } }
+ html.theme--documenter-dark .hero.is-warning .navbar-item,
+ html.theme--documenter-dark .hero.is-warning .navbar-link {
+ color: rgba(255, 255, 255, 0.7); }
+ html.theme--documenter-dark .hero.is-warning a.navbar-item:hover, html.theme--documenter-dark .hero.is-warning a.navbar-item.is-active,
+ html.theme--documenter-dark .hero.is-warning .navbar-link:hover,
+ html.theme--documenter-dark .hero.is-warning .navbar-link.is-active {
+ background-color: #946e00;
+ color: #fff; }
+ html.theme--documenter-dark .hero.is-warning .tabs a {
+ color: #fff;
+ opacity: 0.9; }
+ html.theme--documenter-dark .hero.is-warning .tabs a:hover {
+ opacity: 1; }
+ html.theme--documenter-dark .hero.is-warning .tabs li.is-active a {
+ opacity: 1; }
+ html.theme--documenter-dark .hero.is-warning .tabs.is-boxed a, html.theme--documenter-dark .hero.is-warning .tabs.is-toggle a {
+ color: #fff; }
+ html.theme--documenter-dark .hero.is-warning .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-warning .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1); }
+ html.theme--documenter-dark .hero.is-warning .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-warning .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-warning .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-warning .tabs.is-toggle li.is-active a:hover {
+ background-color: #fff;
+ border-color: #fff;
+ color: #ad8100; }
+ html.theme--documenter-dark .hero.is-warning.is-bold {
+ background-image: linear-gradient(141deg, #7a4700 0%, #ad8100 71%, #c7b500 100%); }
+ @media screen and (max-width: 768px) {
+ html.theme--documenter-dark .hero.is-warning.is-bold .navbar-menu {
+ background-image: linear-gradient(141deg, #7a4700 0%, #ad8100 71%, #c7b500 100%); } }
+ html.theme--documenter-dark .hero.is-danger {
+ background-color: #9e1b0d;
+ color: #fff; }
+ html.theme--documenter-dark .hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+ html.theme--documenter-dark .hero.is-danger strong {
+ color: inherit; }
+ html.theme--documenter-dark .hero.is-danger .title {
+ color: #fff; }
+ html.theme--documenter-dark .hero.is-danger .subtitle {
+ color: rgba(255, 255, 255, 0.9); }
+ html.theme--documenter-dark .hero.is-danger .subtitle a:not(.button),
+ html.theme--documenter-dark .hero.is-danger .subtitle strong {
+ color: #fff; }
+ @media screen and (max-width: 1055px) {
+ html.theme--documenter-dark .hero.is-danger .navbar-menu {
+ background-color: #9e1b0d; } }
+ html.theme--documenter-dark .hero.is-danger .navbar-item,
+ html.theme--documenter-dark .hero.is-danger .navbar-link {
+ color: rgba(255, 255, 255, 0.7); }
+ html.theme--documenter-dark .hero.is-danger a.navbar-item:hover, html.theme--documenter-dark .hero.is-danger a.navbar-item.is-active,
+ html.theme--documenter-dark .hero.is-danger .navbar-link:hover,
+ html.theme--documenter-dark .hero.is-danger .navbar-link.is-active {
+ background-color: #86170b;
+ color: #fff; }
+ html.theme--documenter-dark .hero.is-danger .tabs a {
+ color: #fff;
+ opacity: 0.9; }
+ html.theme--documenter-dark .hero.is-danger .tabs a:hover {
+ opacity: 1; }
+ html.theme--documenter-dark .hero.is-danger .tabs li.is-active a {
+ opacity: 1; }
+ html.theme--documenter-dark .hero.is-danger .tabs.is-boxed a, html.theme--documenter-dark .hero.is-danger .tabs.is-toggle a {
+ color: #fff; }
+ html.theme--documenter-dark .hero.is-danger .tabs.is-boxed a:hover, html.theme--documenter-dark .hero.is-danger .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1); }
+ html.theme--documenter-dark .hero.is-danger .tabs.is-boxed li.is-active a, html.theme--documenter-dark .hero.is-danger .tabs.is-boxed li.is-active a:hover, html.theme--documenter-dark .hero.is-danger .tabs.is-toggle li.is-active a, html.theme--documenter-dark .hero.is-danger .tabs.is-toggle li.is-active a:hover {
+ background-color: #fff;
+ border-color: #fff;
+ color: #9e1b0d; }
+ html.theme--documenter-dark .hero.is-danger.is-bold {
+ background-image: linear-gradient(141deg, #75030b 0%, #9e1b0d 71%, #ba380a 100%); }
+ @media screen and (max-width: 768px) {
+ html.theme--documenter-dark .hero.is-danger.is-bold .navbar-menu {
+ background-image: linear-gradient(141deg, #75030b 0%, #9e1b0d 71%, #ba380a 100%); } }
+ html.theme--documenter-dark .hero.is-small .hero-body, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.hero .hero-body {
+ padding-bottom: 1.5rem;
+ padding-top: 1.5rem; }
+ @media screen and (min-width: 769px), print {
+ html.theme--documenter-dark .hero.is-medium .hero-body {
+ padding-bottom: 9rem;
+ padding-top: 9rem; } }
+ @media screen and (min-width: 769px), print {
+ html.theme--documenter-dark .hero.is-large .hero-body {
+ padding-bottom: 18rem;
+ padding-top: 18rem; } }
+ html.theme--documenter-dark .hero.is-halfheight .hero-body, html.theme--documenter-dark .hero.is-fullheight .hero-body, html.theme--documenter-dark .hero.is-fullheight-with-navbar .hero-body {
+ align-items: center;
+ display: flex; }
+ html.theme--documenter-dark .hero.is-halfheight .hero-body > .container, html.theme--documenter-dark .hero.is-fullheight .hero-body > .container, html.theme--documenter-dark .hero.is-fullheight-with-navbar .hero-body > .container {
+ flex-grow: 1;
+ flex-shrink: 1; }
+ html.theme--documenter-dark .hero.is-halfheight {
+ min-height: 50vh; }
+ html.theme--documenter-dark .hero.is-fullheight {
+ min-height: 100vh; }
+ html.theme--documenter-dark .hero-video {
+ overflow: hidden; }
+ html.theme--documenter-dark .hero-video video {
+ left: 50%;
+ min-height: 100%;
+ min-width: 100%;
+ position: absolute;
+ top: 50%;
+ transform: translate3d(-50%, -50%, 0); }
+ html.theme--documenter-dark .hero-video.is-transparent {
+ opacity: 0.3; }
+ @media screen and (max-width: 768px) {
+ html.theme--documenter-dark .hero-video {
+ display: none; } }
+ html.theme--documenter-dark .hero-buttons {
+ margin-top: 1.5rem; }
+ @media screen and (max-width: 768px) {
+ html.theme--documenter-dark .hero-buttons .button {
+ display: flex; }
+ html.theme--documenter-dark .hero-buttons .button:not(:last-child) {
+ margin-bottom: 0.75rem; } }
+ @media screen and (min-width: 769px), print {
+ html.theme--documenter-dark .hero-buttons {
+ display: flex;
+ justify-content: center; }
+ html.theme--documenter-dark .hero-buttons .button:not(:last-child) {
+ margin-right: 1.5rem; } }
+ html.theme--documenter-dark .hero-head,
+ html.theme--documenter-dark .hero-foot {
+ flex-grow: 0;
+ flex-shrink: 0; }
+ html.theme--documenter-dark .hero-body {
+ flex-grow: 1;
+ flex-shrink: 0;
+ padding: 3rem 1.5rem; }
+ html.theme--documenter-dark .section {
+ padding: 3rem 1.5rem; }
+ @media screen and (min-width: 1056px) {
+ html.theme--documenter-dark .section.is-medium {
+ padding: 9rem 1.5rem; }
+ html.theme--documenter-dark .section.is-large {
+ padding: 18rem 1.5rem; } }
+ html.theme--documenter-dark .footer {
+ background-color: #282f2f;
+ padding: 3rem 1.5rem 6rem; }
+ html.theme--documenter-dark hr {
+ height: 1px; }
+ html.theme--documenter-dark h6 {
+ text-transform: uppercase;
+ letter-spacing: 0.5px; }
+ html.theme--documenter-dark .hero {
+ background-color: #343c3d; }
+ html.theme--documenter-dark a {
+ transition: all 200ms ease; }
+ html.theme--documenter-dark .button {
+ transition: all 200ms ease;
+ border-width: 1px;
+ color: white; }
+ html.theme--documenter-dark .button.is-active, html.theme--documenter-dark .button.is-focused, html.theme--documenter-dark .button:active, html.theme--documenter-dark .button:focus {
+ box-shadow: 0 0 0 2px rgba(140, 155, 157, 0.5); }
+ html.theme--documenter-dark .button.is-white.is-hovered, html.theme--documenter-dark .button.is-white:hover {
+ background-color: white; }
+ html.theme--documenter-dark .button.is-white.is-active, html.theme--documenter-dark .button.is-white.is-focused, html.theme--documenter-dark .button.is-white:active, html.theme--documenter-dark .button.is-white:focus {
+ border-color: white;
+ box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5); }
+ html.theme--documenter-dark .button.is-black.is-hovered, html.theme--documenter-dark .button.is-black:hover {
+ background-color: #1d1d1d; }
+ html.theme--documenter-dark .button.is-black.is-active, html.theme--documenter-dark .button.is-black.is-focused, html.theme--documenter-dark .button.is-black:active, html.theme--documenter-dark .button.is-black:focus {
+ border-color: #0a0a0a;
+ box-shadow: 0 0 0 2px rgba(10, 10, 10, 0.5); }
+ html.theme--documenter-dark .button.is-light.is-hovered, html.theme--documenter-dark .button.is-light:hover {
+ background-color: white; }
+ html.theme--documenter-dark .button.is-light.is-active, html.theme--documenter-dark .button.is-light.is-focused, html.theme--documenter-dark .button.is-light:active, html.theme--documenter-dark .button.is-light:focus {
+ border-color: #ecf0f1;
+ box-shadow: 0 0 0 2px rgba(236, 240, 241, 0.5); }
+ html.theme--documenter-dark .button.is-dark.is-hovered, html.theme--documenter-dark .content kbd.button.is-hovered, html.theme--documenter-dark .button.is-dark:hover, html.theme--documenter-dark .content kbd.button:hover {
+ background-color: #3a4344; }
+ html.theme--documenter-dark .button.is-dark.is-active, html.theme--documenter-dark .content kbd.button.is-active, html.theme--documenter-dark .button.is-dark.is-focused, html.theme--documenter-dark .content kbd.button.is-focused, html.theme--documenter-dark .button.is-dark:active, html.theme--documenter-dark .content kbd.button:active, html.theme--documenter-dark .button.is-dark:focus, html.theme--documenter-dark .content kbd.button:focus {
+ border-color: #282f2f;
+ box-shadow: 0 0 0 2px rgba(40, 47, 47, 0.5); }
+ html.theme--documenter-dark .button.is-primary.is-hovered, html.theme--documenter-dark .docstring > section > a.button.is-hovered.docs-sourcelink, html.theme--documenter-dark .button.is-primary:hover, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:hover {
+ background-color: #436d9a; }
+ html.theme--documenter-dark .button.is-primary.is-active, html.theme--documenter-dark .docstring > section > a.button.is-active.docs-sourcelink, html.theme--documenter-dark .button.is-primary.is-focused, html.theme--documenter-dark .docstring > section > a.button.is-focused.docs-sourcelink, html.theme--documenter-dark .button.is-primary:active, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:active, html.theme--documenter-dark .button.is-primary:focus, html.theme--documenter-dark .docstring > section > a.button.docs-sourcelink:focus {
+ border-color: #375a7f;
+ box-shadow: 0 0 0 2px rgba(55, 90, 127, 0.5); }
+ html.theme--documenter-dark .button.is-link.is-hovered, html.theme--documenter-dark .button.is-link:hover {
+ background-color: #1fdeb8; }
+ html.theme--documenter-dark .button.is-link.is-active, html.theme--documenter-dark .button.is-link.is-focused, html.theme--documenter-dark .button.is-link:active, html.theme--documenter-dark .button.is-link:focus {
+ border-color: #1abc9c;
+ box-shadow: 0 0 0 2px rgba(26, 188, 156, 0.5); }
+ html.theme--documenter-dark .button.is-info.is-hovered, html.theme--documenter-dark .button.is-info:hover {
+ background-color: #0363a3; }
+ html.theme--documenter-dark .button.is-info.is-active, html.theme--documenter-dark .button.is-info.is-focused, html.theme--documenter-dark .button.is-info:active, html.theme--documenter-dark .button.is-info:focus {
+ border-color: #024c7d;
+ box-shadow: 0 0 0 2px rgba(2, 76, 125, 0.5); }
+ html.theme--documenter-dark .button.is-success.is-hovered, html.theme--documenter-dark .button.is-success:hover {
+ background-color: #00aa48; }
+ html.theme--documenter-dark .button.is-success.is-active, html.theme--documenter-dark .button.is-success.is-focused, html.theme--documenter-dark .button.is-success:active, html.theme--documenter-dark .button.is-success:focus {
+ border-color: #008438;
+ box-shadow: 0 0 0 2px rgba(0, 132, 56, 0.5); }
+ html.theme--documenter-dark .button.is-warning.is-hovered, html.theme--documenter-dark .button.is-warning:hover {
+ background-color: #d39e00; }
+ html.theme--documenter-dark .button.is-warning.is-active, html.theme--documenter-dark .button.is-warning.is-focused, html.theme--documenter-dark .button.is-warning:active, html.theme--documenter-dark .button.is-warning:focus {
+ border-color: #ad8100;
+ box-shadow: 0 0 0 2px rgba(173, 129, 0, 0.5); }
+ html.theme--documenter-dark .button.is-danger.is-hovered, html.theme--documenter-dark .button.is-danger:hover {
+ background-color: #c12110; }
+ html.theme--documenter-dark .button.is-danger.is-active, html.theme--documenter-dark .button.is-danger.is-focused, html.theme--documenter-dark .button.is-danger:active, html.theme--documenter-dark .button.is-danger:focus {
+ border-color: #9e1b0d;
+ box-shadow: 0 0 0 2px rgba(158, 27, 13, 0.5); }
+ html.theme--documenter-dark .label {
+ color: #dbdee0; }
+ html.theme--documenter-dark .button,
+ html.theme--documenter-dark .control.has-icons-left .icon,
+ html.theme--documenter-dark .control.has-icons-right .icon,
+ html.theme--documenter-dark .input,
+ html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input,
+ html.theme--documenter-dark .pagination-ellipsis,
+ html.theme--documenter-dark .pagination-link,
+ html.theme--documenter-dark .pagination-next,
+ html.theme--documenter-dark .pagination-previous,
+ html.theme--documenter-dark .select,
+ html.theme--documenter-dark .select select,
+ html.theme--documenter-dark .textarea {
+ height: 2.5em; }
+ html.theme--documenter-dark .input, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input,
+ html.theme--documenter-dark .textarea {
+ transition: all 200ms ease;
+ box-shadow: none;
+ border-width: 1px;
+ padding-left: 1em;
+ padding-right: 1em; }
+ html.theme--documenter-dark .select:after,
+ html.theme--documenter-dark .select select {
+ border-width: 1px; }
+ html.theme--documenter-dark .control.has-addons .button,
+ html.theme--documenter-dark .control.has-addons .input,
+ html.theme--documenter-dark .control.has-addons #documenter .docs-sidebar form.docs-search > input,
+ html.theme--documenter-dark #documenter .docs-sidebar .control.has-addons form.docs-search > input,
+ html.theme--documenter-dark .control.has-addons .select {
+ margin-right: -1px; }
+ html.theme--documenter-dark .notification {
+ background-color: #343c3d; }
+ html.theme--documenter-dark .card {
+ box-shadow: none;
+ border: 1px solid #343c3d;
+ background-color: #282f2f;
+ border-radius: 0.4em; }
+ html.theme--documenter-dark .card .card-image img {
+ border-radius: 0.4em 0.4em 0 0; }
+ html.theme--documenter-dark .card .card-header {
+ box-shadow: none;
+ background-color: rgba(18, 18, 18, 0.2);
+ border-radius: 0.4em 0.4em 0 0; }
+ html.theme--documenter-dark .card .card-footer {
+ background-color: rgba(18, 18, 18, 0.2); }
+ html.theme--documenter-dark .card .card-footer,
+ html.theme--documenter-dark .card .card-footer-item {
+ border-width: 1px;
+ border-color: #343c3d; }
+ html.theme--documenter-dark .notification.is-white a:not(.button) {
+ color: #0a0a0a;
+ text-decoration: underline; }
+ html.theme--documenter-dark .notification.is-black a:not(.button) {
+ color: white;
+ text-decoration: underline; }
+ html.theme--documenter-dark .notification.is-light a:not(.button) {
+ color: #282f2f;
+ text-decoration: underline; }
+ html.theme--documenter-dark .notification.is-dark a:not(.button), html.theme--documenter-dark .content kbd.notification a:not(.button) {
+ color: #ecf0f1;
+ text-decoration: underline; }
+ html.theme--documenter-dark .notification.is-primary a:not(.button), html.theme--documenter-dark .docstring > section > a.notification.docs-sourcelink a:not(.button) {
+ color: #fff;
+ text-decoration: underline; }
+ html.theme--documenter-dark .notification.is-link a:not(.button) {
+ color: #fff;
+ text-decoration: underline; }
+ html.theme--documenter-dark .notification.is-info a:not(.button) {
+ color: #fff;
+ text-decoration: underline; }
+ html.theme--documenter-dark .notification.is-success a:not(.button) {
+ color: #fff;
+ text-decoration: underline; }
+ html.theme--documenter-dark .notification.is-warning a:not(.button) {
+ color: #fff;
+ text-decoration: underline; }
+ html.theme--documenter-dark .notification.is-danger a:not(.button) {
+ color: #fff;
+ text-decoration: underline; }
+ html.theme--documenter-dark .tag, html.theme--documenter-dark .content kbd, html.theme--documenter-dark .docstring > section > a.docs-sourcelink {
+ border-radius: 0.4em; }
+ html.theme--documenter-dark .menu-list a {
+ transition: all 300ms ease; }
+ html.theme--documenter-dark .modal-card-body {
+ background-color: #282f2f; }
+ html.theme--documenter-dark .modal-card-foot,
+ html.theme--documenter-dark .modal-card-head {
+ border-color: #343c3d; }
+ html.theme--documenter-dark .message-header {
+ font-weight: 700;
+ background-color: #343c3d;
+ color: white; }
+ html.theme--documenter-dark .message-body {
+ border-width: 1px;
+ border-color: #343c3d; }
+ html.theme--documenter-dark .navbar {
+ border-radius: 0.4em; }
+ html.theme--documenter-dark .navbar.is-transparent {
+ background: none; }
+ html.theme--documenter-dark .navbar.is-primary .navbar-dropdown a.navbar-item.is-active, html.theme--documenter-dark .docstring > section > a.navbar.docs-sourcelink .navbar-dropdown a.navbar-item.is-active {
+ background-color: #1abc9c; }
+ @media screen and (max-width: 1055px) {
+ html.theme--documenter-dark .navbar .navbar-menu {
+ background-color: #375a7f;
+ border-radius: 0 0 0.4em 0.4em; } }
+ html.theme--documenter-dark .hero .navbar,
+ html.theme--documenter-dark body > .navbar {
+ border-radius: 0; }
+ html.theme--documenter-dark .pagination-link,
+ html.theme--documenter-dark .pagination-next,
+ html.theme--documenter-dark .pagination-previous {
+ border-width: 1px; }
+ html.theme--documenter-dark .panel-block,
+ html.theme--documenter-dark .panel-heading,
+ html.theme--documenter-dark .panel-tabs {
+ border-width: 1px; }
+ html.theme--documenter-dark .panel-block:first-child,
+ html.theme--documenter-dark .panel-heading:first-child,
+ html.theme--documenter-dark .panel-tabs:first-child {
+ border-top-width: 1px; }
+ html.theme--documenter-dark .panel-heading {
+ font-weight: 700; }
+ html.theme--documenter-dark .panel-tabs a {
+ border-width: 1px;
+ margin-bottom: -1px; }
+ html.theme--documenter-dark .panel-tabs a.is-active {
+ border-bottom-color: #17a689; }
+ html.theme--documenter-dark .panel-block:hover {
+ color: #1dd2af; }
+ html.theme--documenter-dark .panel-block:hover .panel-icon {
+ color: #1dd2af; }
+ html.theme--documenter-dark .panel-block.is-active .panel-icon {
+ color: #17a689; }
+ html.theme--documenter-dark .tabs a {
+ border-bottom-width: 1px;
+ margin-bottom: -1px; }
+ html.theme--documenter-dark .tabs ul {
+ border-bottom-width: 1px; }
+ html.theme--documenter-dark .tabs.is-boxed a {
+ border-width: 1px; }
+ html.theme--documenter-dark .tabs.is-boxed li.is-active a {
+ background-color: #1f2424; }
+ html.theme--documenter-dark .tabs.is-toggle li a {
+ border-width: 1px;
+ margin-bottom: 0; }
+ html.theme--documenter-dark .tabs.is-toggle li + li {
+ margin-left: -1px; }
+ html.theme--documenter-dark .hero.is-white .navbar .navbar-dropdown .navbar-item:hover {
+ background-color: transparent; }
+ html.theme--documenter-dark .hero.is-black .navbar .navbar-dropdown .navbar-item:hover {
+ background-color: transparent; }
+ html.theme--documenter-dark .hero.is-light .navbar .navbar-dropdown .navbar-item:hover {
+ background-color: transparent; }
+ html.theme--documenter-dark .hero.is-dark .navbar .navbar-dropdown .navbar-item:hover, html.theme--documenter-dark .content kbd.hero .navbar .navbar-dropdown .navbar-item:hover {
+ background-color: transparent; }
+ html.theme--documenter-dark .hero.is-primary .navbar .navbar-dropdown .navbar-item:hover, html.theme--documenter-dark .docstring > section > a.hero.docs-sourcelink .navbar .navbar-dropdown .navbar-item:hover {
+ background-color: transparent; }
+ html.theme--documenter-dark .hero.is-link .navbar .navbar-dropdown .navbar-item:hover {
+ background-color: transparent; }
+ html.theme--documenter-dark .hero.is-info .navbar .navbar-dropdown .navbar-item:hover {
+ background-color: transparent; }
+ html.theme--documenter-dark .hero.is-success .navbar .navbar-dropdown .navbar-item:hover {
+ background-color: transparent; }
+ html.theme--documenter-dark .hero.is-warning .navbar .navbar-dropdown .navbar-item:hover {
+ background-color: transparent; }
+ html.theme--documenter-dark .hero.is-danger .navbar .navbar-dropdown .navbar-item:hover {
+ background-color: transparent; }
+ html.theme--documenter-dark h1 .docs-heading-anchor, html.theme--documenter-dark h1 .docs-heading-anchor:hover, html.theme--documenter-dark h1 .docs-heading-anchor:visited, html.theme--documenter-dark h2 .docs-heading-anchor, html.theme--documenter-dark h2 .docs-heading-anchor:hover, html.theme--documenter-dark h2 .docs-heading-anchor:visited, html.theme--documenter-dark h3 .docs-heading-anchor, html.theme--documenter-dark h3 .docs-heading-anchor:hover, html.theme--documenter-dark h3 .docs-heading-anchor:visited, html.theme--documenter-dark h4 .docs-heading-anchor, html.theme--documenter-dark h4 .docs-heading-anchor:hover, html.theme--documenter-dark h4 .docs-heading-anchor:visited, html.theme--documenter-dark h5 .docs-heading-anchor, html.theme--documenter-dark h5 .docs-heading-anchor:hover, html.theme--documenter-dark h5 .docs-heading-anchor:visited, html.theme--documenter-dark h6 .docs-heading-anchor, html.theme--documenter-dark h6 .docs-heading-anchor:hover, html.theme--documenter-dark h6 .docs-heading-anchor:visited {
+ color: #f2f2f2; }
+ html.theme--documenter-dark h1 .docs-heading-anchor-permalink, html.theme--documenter-dark h2 .docs-heading-anchor-permalink, html.theme--documenter-dark h3 .docs-heading-anchor-permalink, html.theme--documenter-dark h4 .docs-heading-anchor-permalink, html.theme--documenter-dark h5 .docs-heading-anchor-permalink, html.theme--documenter-dark h6 .docs-heading-anchor-permalink {
+ visibility: hidden;
+ vertical-align: middle;
+ margin-left: 0.5em;
+ font-size: 0.7rem; }
+ html.theme--documenter-dark h1 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h2 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h3 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h4 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h5 .docs-heading-anchor-permalink::before, html.theme--documenter-dark h6 .docs-heading-anchor-permalink::before {
+ font-family: "Font Awesome 5 Free";
+ font-weight: 900;
+ content: "\f0c1"; }
+ html.theme--documenter-dark h1:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h2:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h3:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h4:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h5:hover .docs-heading-anchor-permalink, html.theme--documenter-dark h6:hover .docs-heading-anchor-permalink {
+ visibility: visible; }
+ html.theme--documenter-dark .docs-light-only {
+ display: none !important; }
+ html.theme--documenter-dark pre {
+ position: relative;
+ overflow: hidden; }
+ html.theme--documenter-dark pre code, html.theme--documenter-dark pre code.hljs {
+ padding: 0 0.75rem !important;
+ overflow: auto;
+ display: block; }
+ html.theme--documenter-dark pre code:first-of-type, html.theme--documenter-dark pre code.hljs:first-of-type {
+ padding-top: 0.5rem !important; }
+ html.theme--documenter-dark pre code:last-of-type, html.theme--documenter-dark pre code.hljs:last-of-type {
+ padding-bottom: 0.5rem !important; }
+ html.theme--documenter-dark pre .copy-button {
+ opacity: 0.2;
+ transition: opacity 0.2s;
+ position: absolute;
+ right: 0em;
+ top: 0em;
+ padding: 0.5em;
+ width: 2.5em;
+ height: 2.5em;
+ background: transparent;
+ border: none;
+ font-family: "Font Awesome 5 Free";
+ color: #fff;
+ cursor: pointer;
+ text-align: center; }
+ html.theme--documenter-dark pre .copy-button:focus, html.theme--documenter-dark pre .copy-button:hover {
+ opacity: 1;
+ background: rgba(255, 255, 255, 0.1);
+ color: #1abc9c; }
+ html.theme--documenter-dark pre .copy-button.success {
+ color: #259a12;
+ opacity: 1; }
+ html.theme--documenter-dark pre .copy-button.error {
+ color: #cb3c33;
+ opacity: 1; }
+ html.theme--documenter-dark pre:hover .copy-button {
+ opacity: 1; }
+ html.theme--documenter-dark .admonition {
+ background-color: #282f2f;
+ border-style: solid;
+ border-width: 1px;
+ border-color: #5e6d6f;
+ border-radius: 0.4em;
+ font-size: 15px; }
+ html.theme--documenter-dark .admonition strong {
+ color: currentColor; }
+ html.theme--documenter-dark .admonition.is-small, html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input.admonition {
+ font-size: 0.85em; }
+ html.theme--documenter-dark .admonition.is-medium {
+ font-size: 1.25rem; }
+ html.theme--documenter-dark .admonition.is-large {
+ font-size: 1.5rem; }
+ html.theme--documenter-dark .admonition.is-default {
+ background-color: #282f2f;
+ border-color: #5e6d6f; }
+ html.theme--documenter-dark .admonition.is-default > .admonition-header {
+ background-color: #5e6d6f; }
+ html.theme--documenter-dark .admonition.is-info {
+ background-color: #282f2f;
+ border-color: #024c7d; }
+ html.theme--documenter-dark .admonition.is-info > .admonition-header {
+ background-color: #024c7d; }
+ html.theme--documenter-dark .admonition.is-success {
+ background-color: #282f2f;
+ border-color: #008438; }
+ html.theme--documenter-dark .admonition.is-success > .admonition-header {
+ background-color: #008438; }
+ html.theme--documenter-dark .admonition.is-warning {
+ background-color: #282f2f;
+ border-color: #ad8100; }
+ html.theme--documenter-dark .admonition.is-warning > .admonition-header {
+ background-color: #ad8100; }
+ html.theme--documenter-dark .admonition.is-danger {
+ background-color: #282f2f;
+ border-color: #9e1b0d; }
+ html.theme--documenter-dark .admonition.is-danger > .admonition-header {
+ background-color: #9e1b0d; }
+ html.theme--documenter-dark .admonition.is-compat {
+ background-color: #282f2f;
+ border-color: #137886; }
+ html.theme--documenter-dark .admonition.is-compat > .admonition-header {
+ background-color: #137886; }
+ html.theme--documenter-dark .admonition-header {
+ background-color: #5e6d6f;
+ align-items: center;
+ font-weight: 700;
+ justify-content: space-between;
+ line-height: 1.25;
+ padding: 0.5rem 0.75rem;
+ position: relative; }
+ html.theme--documenter-dark .admonition-header:before {
+ font-family: "Font Awesome 5 Free";
+ font-weight: 900;
+ margin-right: 0.75rem;
+ content: "\f06a"; }
+ html.theme--documenter-dark .admonition-body {
+ color: #fff;
+ padding: 0.5rem 0.75rem; }
+ html.theme--documenter-dark .admonition-body pre {
+ background-color: #282f2f; }
+ html.theme--documenter-dark .admonition-body code {
+ background-color: rgba(255, 255, 255, 0.05); }
+ html.theme--documenter-dark .docstring {
+ margin-bottom: 1em;
+ background-color: transparent;
+ border: 1px solid #5e6d6f;
+ box-shadow: none;
+ max-width: 100%; }
+ html.theme--documenter-dark .docstring > header {
+ display: flex;
+ flex-grow: 1;
+ align-items: stretch;
+ padding: 0.5rem 0.75rem;
+ background-color: #282f2f;
+ box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1);
+ box-shadow: none;
+ border-bottom: 1px solid #5e6d6f; }
+ html.theme--documenter-dark .docstring > header code {
+ background-color: transparent; }
+ html.theme--documenter-dark .docstring > header .docstring-binding {
+ margin-right: 0.3em; }
+ html.theme--documenter-dark .docstring > header .docstring-category {
+ margin-left: 0.3em; }
+ html.theme--documenter-dark .docstring > section {
+ position: relative;
+ padding: 0.75rem 0.75rem;
+ border-bottom: 1px solid #5e6d6f; }
+ html.theme--documenter-dark .docstring > section:last-child {
+ border-bottom: none; }
+ html.theme--documenter-dark .docstring > section > a.docs-sourcelink {
+ transition: opacity 0.3s;
+ opacity: 0;
+ position: absolute;
+ right: 0.375rem;
+ bottom: 0.375rem; }
+ html.theme--documenter-dark .docstring > section > a.docs-sourcelink:focus {
+ opacity: 1 !important; }
+ html.theme--documenter-dark .docstring:hover > section > a.docs-sourcelink {
+ opacity: 0.2; }
+ html.theme--documenter-dark .docstring:focus-within > section > a.docs-sourcelink {
+ opacity: 0.2; }
+ html.theme--documenter-dark .docstring > section:hover a.docs-sourcelink {
+ opacity: 1; }
+ html.theme--documenter-dark .documenter-example-output {
+ background-color: #1f2424; }
+ html.theme--documenter-dark .outdated-warning-overlay {
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
+ z-index: 999;
+ background-color: #282f2f;
+ border-bottom: 3px solid #9e1b0d;
+ padding: 10px 35px;
+ text-align: center;
+ font-size: 15px; }
+ html.theme--documenter-dark .outdated-warning-overlay .outdated-warning-closer {
+ position: absolute;
+ top: calc(50% - 10px);
+ right: 18px;
+ cursor: pointer;
+ width: 12px; }
+ html.theme--documenter-dark .outdated-warning-overlay a {
+ color: #1abc9c; }
+ html.theme--documenter-dark .outdated-warning-overlay a:hover {
+ color: #1dd2af; }
+ html.theme--documenter-dark .content pre {
+ border: 1px solid #5e6d6f; }
+ html.theme--documenter-dark .content code {
+ font-weight: inherit; }
+ html.theme--documenter-dark .content a code {
+ color: #1abc9c; }
+ html.theme--documenter-dark .content h1 code, html.theme--documenter-dark .content h2 code, html.theme--documenter-dark .content h3 code, html.theme--documenter-dark .content h4 code, html.theme--documenter-dark .content h5 code, html.theme--documenter-dark .content h6 code {
+ color: #f2f2f2; }
+ html.theme--documenter-dark .content table {
+ display: block;
+ width: initial;
+ max-width: 100%;
+ overflow-x: auto; }
+ html.theme--documenter-dark .content blockquote > ul:first-child, html.theme--documenter-dark .content blockquote > ol:first-child, html.theme--documenter-dark .content .admonition-body > ul:first-child, html.theme--documenter-dark .content .admonition-body > ol:first-child {
+ margin-top: 0; }
+ html.theme--documenter-dark pre, html.theme--documenter-dark code {
+ font-variant-ligatures: no-contextual; }
+ html.theme--documenter-dark .breadcrumb a.is-disabled {
+ cursor: default;
+ pointer-events: none; }
+ html.theme--documenter-dark .breadcrumb a.is-disabled, html.theme--documenter-dark .breadcrumb a.is-disabled:hover {
+ color: #f2f2f2; }
+ html.theme--documenter-dark .hljs {
+ background: initial !important; }
+ html.theme--documenter-dark .katex .katex-mathml {
+ top: 0;
+ right: 0; }
+ html.theme--documenter-dark .katex-display, html.theme--documenter-dark mjx-container, html.theme--documenter-dark .MathJax_Display {
+ margin: 0.5em 0 !important; }
+ html.theme--documenter-dark html {
+ -moz-osx-font-smoothing: auto;
+ -webkit-font-smoothing: auto; }
+ html.theme--documenter-dark li.no-marker {
+ list-style: none; }
+ html.theme--documenter-dark #documenter .docs-main > article {
+ overflow-wrap: break-word; }
+ html.theme--documenter-dark #documenter .docs-main > article .math-container {
+ overflow-x: auto;
+ overflow-y: hidden; }
+ @media screen and (min-width: 1056px) {
+ html.theme--documenter-dark #documenter .docs-main {
+ max-width: 52rem;
+ margin-left: 20rem;
+ padding-right: 1rem; } }
+ @media screen and (max-width: 1055px) {
+ html.theme--documenter-dark #documenter .docs-main {
+ width: 100%; }
+ html.theme--documenter-dark #documenter .docs-main > article {
+ max-width: 52rem;
+ margin-left: auto;
+ margin-right: auto;
+ margin-bottom: 1rem;
+ padding: 0 1rem; }
+ html.theme--documenter-dark #documenter .docs-main > header, html.theme--documenter-dark #documenter .docs-main > nav {
+ max-width: 100%;
+ width: 100%;
+ margin: 0; } }
+ html.theme--documenter-dark #documenter .docs-main header.docs-navbar {
+ background-color: #1f2424;
+ border-bottom: 1px solid #5e6d6f;
+ z-index: 2;
+ min-height: 4rem;
+ margin-bottom: 1rem;
+ display: flex; }
+ html.theme--documenter-dark #documenter .docs-main header.docs-navbar .breadcrumb {
+ flex-grow: 1; }
+ html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right {
+ display: flex;
+ white-space: nowrap; }
+ html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-icon, html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-label, html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button {
+ display: inline-block; }
+ html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-label {
+ padding: 0;
+ margin-left: 0.3em; }
+ html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-settings-button {
+ margin: auto 0 auto 1rem; }
+ html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button {
+ font-size: 1.5rem;
+ margin: auto 0 auto 1rem; }
+ html.theme--documenter-dark #documenter .docs-main header.docs-navbar > * {
+ margin: auto 0; }
+ @media screen and (max-width: 1055px) {
+ html.theme--documenter-dark #documenter .docs-main header.docs-navbar {
+ position: sticky;
+ top: 0;
+ padding: 0 1rem;
+ /* For Headroom.js */
+ transition-property: top, box-shadow;
+ -webkit-transition-property: top, box-shadow;
+ /* Safari */
+ transition-duration: 0.3s;
+ -webkit-transition-duration: 0.3s;
+ /* Safari */ }
+ html.theme--documenter-dark #documenter .docs-main header.docs-navbar.headroom--not-top {
+ box-shadow: 0.2rem 0rem 0.4rem #171717;
+ transition-duration: 0.7s;
+ -webkit-transition-duration: 0.7s;
+ /* Safari */ }
+ html.theme--documenter-dark #documenter .docs-main header.docs-navbar.headroom--unpinned.headroom--not-top.headroom--not-bottom {
+ top: -4.5rem;
+ transition-duration: 0.7s;
+ -webkit-transition-duration: 0.7s;
+ /* Safari */ } }
+ html.theme--documenter-dark #documenter .docs-main section.footnotes {
+ border-top: 1px solid #5e6d6f; }
+ html.theme--documenter-dark #documenter .docs-main section.footnotes li .tag:first-child, html.theme--documenter-dark #documenter .docs-main section.footnotes li .docstring > section > a.docs-sourcelink:first-child, html.theme--documenter-dark #documenter .docs-main section.footnotes li .content kbd:first-child, html.theme--documenter-dark .content #documenter .docs-main section.footnotes li kbd:first-child {
+ margin-right: 1em;
+ margin-bottom: 0.4em; }
+ html.theme--documenter-dark #documenter .docs-main .docs-footer {
+ display: flex;
+ flex-wrap: wrap;
+ margin-left: 0;
+ margin-right: 0;
+ border-top: 1px solid #5e6d6f;
+ padding-top: 1rem;
+ padding-bottom: 1rem; }
+ @media screen and (max-width: 1055px) {
+ html.theme--documenter-dark #documenter .docs-main .docs-footer {
+ padding-left: 1rem;
+ padding-right: 1rem; } }
+ html.theme--documenter-dark #documenter .docs-main .docs-footer .docs-footer-nextpage, html.theme--documenter-dark #documenter .docs-main .docs-footer .docs-footer-prevpage {
+ flex-grow: 1; }
+ html.theme--documenter-dark #documenter .docs-main .docs-footer .docs-footer-nextpage {
+ text-align: right; }
+ html.theme--documenter-dark #documenter .docs-main .docs-footer .flexbox-break {
+ flex-basis: 100%;
+ height: 0; }
+ html.theme--documenter-dark #documenter .docs-main .docs-footer .footer-message {
+ font-size: 0.8em;
+ margin: 0.5em auto 0 auto;
+ text-align: center; }
+ html.theme--documenter-dark #documenter .docs-sidebar {
+ display: flex;
+ flex-direction: column;
+ color: #fff;
+ background-color: #282f2f;
+ border-right: 1px solid #5e6d6f;
+ padding: 0;
+ flex: 0 0 18rem;
+ z-index: 5;
+ font-size: 15px;
+ position: fixed;
+ left: -18rem;
+ width: 18rem;
+ height: 100%;
+ transition: left 0.3s;
+ /* Setting up a nicer theme style for the scrollbar */ }
+ html.theme--documenter-dark #documenter .docs-sidebar.visible {
+ left: 0;
+ box-shadow: 0.4rem 0rem 0.8rem #171717; }
+ @media screen and (min-width: 1056px) {
+ html.theme--documenter-dark #documenter .docs-sidebar.visible {
+ box-shadow: none; } }
+ @media screen and (min-width: 1056px) {
+ html.theme--documenter-dark #documenter .docs-sidebar {
+ left: 0;
+ top: 0; } }
+ html.theme--documenter-dark #documenter .docs-sidebar .docs-logo {
+ margin-top: 1rem;
+ padding: 0 1rem; }
+ html.theme--documenter-dark #documenter .docs-sidebar .docs-logo > img {
+ max-height: 6rem;
+ margin: auto; }
+ html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name {
+ flex-shrink: 0;
+ font-size: 1.5rem;
+ font-weight: 700;
+ text-align: center;
+ white-space: nowrap;
+ overflow: hidden;
+ padding: 0.5rem 0; }
+ html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name .docs-autofit {
+ max-width: 16.2rem; }
+ html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name a, html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name a:hover {
+ color: #fff; }
+ html.theme--documenter-dark #documenter .docs-sidebar .docs-version-selector {
+ border-top: 1px solid #5e6d6f;
+ display: none;
+ padding: 0.5rem; }
+ html.theme--documenter-dark #documenter .docs-sidebar .docs-version-selector.visible {
+ display: flex; }
+ html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu {
+ flex-grow: 1;
+ user-select: none;
+ border-top: 1px solid #5e6d6f;
+ padding-bottom: 1.5rem;
+ /* Managing collapsible submenus */ }
+ html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu > li > .tocitem {
+ font-weight: bold; }
+ html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu > li li {
+ font-size: 14.25px;
+ margin-left: 1em;
+ border-left: 1px solid #5e6d6f; }
+ html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu input.collapse-toggle {
+ display: none; }
+ html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.collapsed {
+ display: none; }
+ html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu input:checked ~ ul.collapsed {
+ display: block; }
+ html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem {
+ display: flex; }
+ html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-label {
+ flex-grow: 2; }
+ html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron {
+ display: inline-block;
+ font-style: normal;
+ font-variant: normal;
+ text-rendering: auto;
+ line-height: 1;
+ font-size: 11.25px;
+ margin-left: 1rem;
+ margin-top: auto;
+ margin-bottom: auto; }
+ html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron::before {
+ font-family: "Font Awesome 5 Free";
+ font-weight: 900;
+ content: "\f054"; }
+ html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu input:checked ~ label.tocitem .docs-chevron::before {
+ content: "\f078"; }
+ html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu .tocitem {
+ display: block;
+ padding: 0.5rem 0.5rem; }
+ html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu .tocitem, html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu .tocitem:hover {
+ color: #fff;
+ background: #282f2f; }
+ html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu a.tocitem:hover, html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem:hover {
+ color: #fff;
+ background-color: #32393a; }
+ html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active {
+ border-top: 1px solid #5e6d6f;
+ border-bottom: 1px solid #5e6d6f;
+ background-color: #1f2424; }
+ html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem, html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem:hover {
+ background-color: #1f2424;
+ color: #fff; }
+ html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active ul.internal .tocitem:hover {
+ background-color: #32393a;
+ color: #fff; }
+ html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu > li.is-active:first-child {
+ border-top: none; }
+ html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal {
+ margin: 0 0.5rem 0.5rem;
+ border-top: 1px solid #5e6d6f; }
+ html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal li {
+ font-size: 12.75px;
+ border-left: none;
+ margin-left: 0;
+ margin-top: 0.5rem; }
+ html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem {
+ width: 100%;
+ padding: 0; }
+ html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem::before {
+ content: "⚬";
+ margin-right: 0.4em; }
+ html.theme--documenter-dark #documenter .docs-sidebar form.docs-search {
+ margin: auto;
+ margin-top: 0.5rem;
+ margin-bottom: 0.5rem; }
+ html.theme--documenter-dark #documenter .docs-sidebar form.docs-search > input {
+ width: 14.4rem; }
+ @media screen and (min-width: 1056px) {
+ html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu {
+ overflow-y: auto;
+ -webkit-overflow-scroll: touch; }
+ html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar {
+ width: .3rem;
+ background: none; }
+ html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb {
+ border-radius: 5px 0px 0px 5px;
+ background: #3b4445; }
+ html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb:hover {
+ background: #4e5a5c; } }
+ @media screen and (max-width: 1055px) {
+ html.theme--documenter-dark #documenter .docs-sidebar {
+ overflow-y: auto;
+ -webkit-overflow-scroll: touch; }
+ html.theme--documenter-dark #documenter .docs-sidebar::-webkit-scrollbar {
+ width: .3rem;
+ background: none; }
+ html.theme--documenter-dark #documenter .docs-sidebar::-webkit-scrollbar-thumb {
+ border-radius: 5px 0px 0px 5px;
+ background: #3b4445; }
+ html.theme--documenter-dark #documenter .docs-sidebar::-webkit-scrollbar-thumb:hover {
+ background: #4e5a5c; } }
+ html.theme--documenter-dark #documenter .docs-main #documenter-search-info {
+ margin-bottom: 1rem; }
+ html.theme--documenter-dark #documenter .docs-main #documenter-search-results {
+ list-style-type: circle;
+ list-style-position: outside; }
+ html.theme--documenter-dark #documenter .docs-main #documenter-search-results li {
+ margin-left: 2rem; }
+ html.theme--documenter-dark #documenter .docs-main #documenter-search-results .docs-highlight {
+ background-color: yellow; }
+ html.theme--documenter-dark {
+ background-color: #1f2424;
+ font-size: 16px;
+ min-width: 300px;
+ overflow-x: auto;
+ overflow-y: scroll;
+ text-rendering: optimizeLegibility;
+ text-size-adjust: 100%; }
+ html.theme--documenter-dark .ansi span.sgr1 {
+ font-weight: bolder; }
+ html.theme--documenter-dark .ansi span.sgr2 {
+ font-weight: lighter; }
+ html.theme--documenter-dark .ansi span.sgr3 {
+ font-style: italic; }
+ html.theme--documenter-dark .ansi span.sgr4 {
+ text-decoration: underline; }
+ html.theme--documenter-dark .ansi span.sgr7 {
+ color: #1f2424;
+ background-color: #fff; }
+ html.theme--documenter-dark .ansi span.sgr8 {
+ color: transparent; }
+ html.theme--documenter-dark .ansi span.sgr8 span {
+ color: transparent; }
+ html.theme--documenter-dark .ansi span.sgr9 {
+ text-decoration: line-through; }
+ html.theme--documenter-dark .ansi span.sgr30 {
+ color: #242424; }
+ html.theme--documenter-dark .ansi span.sgr31 {
+ color: #f6705f; }
+ html.theme--documenter-dark .ansi span.sgr32 {
+ color: #4fb43a; }
+ html.theme--documenter-dark .ansi span.sgr33 {
+ color: #f4c72f; }
+ html.theme--documenter-dark .ansi span.sgr34 {
+ color: #7587f0; }
+ html.theme--documenter-dark .ansi span.sgr35 {
+ color: #bc89d3; }
+ html.theme--documenter-dark .ansi span.sgr36 {
+ color: #49b6ca; }
+ html.theme--documenter-dark .ansi span.sgr37 {
+ color: #b3bdbe; }
+ html.theme--documenter-dark .ansi span.sgr40 {
+ background-color: #242424; }
+ html.theme--documenter-dark .ansi span.sgr41 {
+ background-color: #f6705f; }
+ html.theme--documenter-dark .ansi span.sgr42 {
+ background-color: #4fb43a; }
+ html.theme--documenter-dark .ansi span.sgr43 {
+ background-color: #f4c72f; }
+ html.theme--documenter-dark .ansi span.sgr44 {
+ background-color: #7587f0; }
+ html.theme--documenter-dark .ansi span.sgr45 {
+ background-color: #bc89d3; }
+ html.theme--documenter-dark .ansi span.sgr46 {
+ background-color: #49b6ca; }
+ html.theme--documenter-dark .ansi span.sgr47 {
+ background-color: #b3bdbe; }
+ html.theme--documenter-dark .ansi span.sgr90 {
+ color: #92a0a2; }
+ html.theme--documenter-dark .ansi span.sgr91 {
+ color: #ff8674; }
+ html.theme--documenter-dark .ansi span.sgr92 {
+ color: #79d462; }
+ html.theme--documenter-dark .ansi span.sgr93 {
+ color: #ffe76b; }
+ html.theme--documenter-dark .ansi span.sgr94 {
+ color: #8a98ff; }
+ html.theme--documenter-dark .ansi span.sgr95 {
+ color: #d2a4e6; }
+ html.theme--documenter-dark .ansi span.sgr96 {
+ color: #6bc8db; }
+ html.theme--documenter-dark .ansi span.sgr97 {
+ color: #ecf0f1; }
+ html.theme--documenter-dark .ansi span.sgr100 {
+ background-color: #92a0a2; }
+ html.theme--documenter-dark .ansi span.sgr101 {
+ background-color: #ff8674; }
+ html.theme--documenter-dark .ansi span.sgr102 {
+ background-color: #79d462; }
+ html.theme--documenter-dark .ansi span.sgr103 {
+ background-color: #ffe76b; }
+ html.theme--documenter-dark .ansi span.sgr104 {
+ background-color: #8a98ff; }
+ html.theme--documenter-dark .ansi span.sgr105 {
+ background-color: #d2a4e6; }
+ html.theme--documenter-dark .ansi span.sgr106 {
+ background-color: #6bc8db; }
+ html.theme--documenter-dark .ansi span.sgr107 {
+ background-color: #ecf0f1; }
+ html.theme--documenter-dark code.language-julia-repl > span.hljs-meta {
+ color: #4fb43a;
+ font-weight: bolder; }
+ html.theme--documenter-dark .hljs {
+ background: #2b2b2b;
+ color: #f8f8f2; }
+ html.theme--documenter-dark .hljs-comment,
+ html.theme--documenter-dark .hljs-quote {
+ color: #d4d0ab; }
+ html.theme--documenter-dark .hljs-variable,
+ html.theme--documenter-dark .hljs-template-variable,
+ html.theme--documenter-dark .hljs-tag,
+ html.theme--documenter-dark .hljs-name,
+ html.theme--documenter-dark .hljs-selector-id,
+ html.theme--documenter-dark .hljs-selector-class,
+ html.theme--documenter-dark .hljs-regexp,
+ html.theme--documenter-dark .hljs-deletion {
+ color: #ffa07a; }
+ html.theme--documenter-dark .hljs-number,
+ html.theme--documenter-dark .hljs-built_in,
+ html.theme--documenter-dark .hljs-literal,
+ html.theme--documenter-dark .hljs-type,
+ html.theme--documenter-dark .hljs-params,
+ html.theme--documenter-dark .hljs-meta,
+ html.theme--documenter-dark .hljs-link {
+ color: #f5ab35; }
+ html.theme--documenter-dark .hljs-attribute {
+ color: #ffd700; }
+ html.theme--documenter-dark .hljs-string,
+ html.theme--documenter-dark .hljs-symbol,
+ html.theme--documenter-dark .hljs-bullet,
+ html.theme--documenter-dark .hljs-addition {
+ color: #abe338; }
+ html.theme--documenter-dark .hljs-title,
+ html.theme--documenter-dark .hljs-section {
+ color: #00e0e0; }
+ html.theme--documenter-dark .hljs-keyword,
+ html.theme--documenter-dark .hljs-selector-tag {
+ color: #dcc6e0; }
+ html.theme--documenter-dark .hljs-emphasis {
+ font-style: italic; }
+ html.theme--documenter-dark .hljs-strong {
+ font-weight: bold; }
+ @media screen and (-ms-high-contrast: active) {
+ html.theme--documenter-dark .hljs-addition,
+ html.theme--documenter-dark .hljs-attribute,
+ html.theme--documenter-dark .hljs-built_in,
+ html.theme--documenter-dark .hljs-bullet,
+ html.theme--documenter-dark .hljs-comment,
+ html.theme--documenter-dark .hljs-link,
+ html.theme--documenter-dark .hljs-literal,
+ html.theme--documenter-dark .hljs-meta,
+ html.theme--documenter-dark .hljs-number,
+ html.theme--documenter-dark .hljs-params,
+ html.theme--documenter-dark .hljs-string,
+ html.theme--documenter-dark .hljs-symbol,
+ html.theme--documenter-dark .hljs-type,
+ html.theme--documenter-dark .hljs-quote {
+ color: highlight; }
+ html.theme--documenter-dark .hljs-keyword,
+ html.theme--documenter-dark .hljs-selector-tag {
+ font-weight: bold; } }
+ html.theme--documenter-dark .hljs-subst {
+ color: #f8f8f2; }
diff --git a/0.5/assets/themes/documenter-light.css b/0.5/assets/themes/documenter-light.css
new file mode 100644
index 0000000..9595d5b
--- /dev/null
+++ b/0.5/assets/themes/documenter-light.css
@@ -0,0 +1,7738 @@
+@charset "UTF-8";
+/* Font Awesome 5 mixin. Can be included in any rule that should render Font Awesome icons. */
+@keyframes spinAround {
+ from {
+ transform: rotate(0deg); }
+ to {
+ transform: rotate(359deg); } }
+
+.tabs, .pagination-previous,
+.pagination-next,
+.pagination-link,
+.pagination-ellipsis, .breadcrumb, .file, .button, .is-unselectable, .modal-close, .delete {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none; }
+
+.navbar-link:not(.is-arrowless)::after, .select:not(.is-multiple):not(.is-loading)::after {
+ border: 3px solid transparent;
+ border-radius: 2px;
+ border-right: 0;
+ border-top: 0;
+ content: " ";
+ display: block;
+ height: 0.625em;
+ margin-top: -0.4375em;
+ pointer-events: none;
+ position: absolute;
+ top: 50%;
+ transform: rotate(-45deg);
+ transform-origin: center;
+ width: 0.625em; }
+
+.admonition:not(:last-child), .tabs:not(:last-child), .message:not(:last-child), .list:not(:last-child), .level:not(:last-child), .breadcrumb:not(:last-child), .highlight:not(:last-child), .block:not(:last-child), .title:not(:last-child),
+.subtitle:not(:last-child), .table-container:not(:last-child), .table:not(:last-child), .progress:not(:last-child), .notification:not(:last-child), .content:not(:last-child), .box:not(:last-child) {
+ margin-bottom: 1.5rem; }
+
+.modal-close, .delete {
+ -moz-appearance: none;
+ -webkit-appearance: none;
+ background-color: rgba(10, 10, 10, 0.2);
+ border: none;
+ border-radius: 290486px;
+ cursor: pointer;
+ pointer-events: auto;
+ display: inline-block;
+ flex-grow: 0;
+ flex-shrink: 0;
+ font-size: 0;
+ height: 20px;
+ max-height: 20px;
+ max-width: 20px;
+ min-height: 20px;
+ min-width: 20px;
+ outline: none;
+ position: relative;
+ vertical-align: top;
+ width: 20px; }
+ .modal-close::before, .delete::before, .modal-close::after, .delete::after {
+ background-color: white;
+ content: "";
+ display: block;
+ left: 50%;
+ position: absolute;
+ top: 50%;
+ transform: translateX(-50%) translateY(-50%) rotate(45deg);
+ transform-origin: center center; }
+ .modal-close::before, .delete::before {
+ height: 2px;
+ width: 50%; }
+ .modal-close::after, .delete::after {
+ height: 50%;
+ width: 2px; }
+ .modal-close:hover, .delete:hover, .modal-close:focus, .delete:focus {
+ background-color: rgba(10, 10, 10, 0.3); }
+ .modal-close:active, .delete:active {
+ background-color: rgba(10, 10, 10, 0.4); }
+ .is-small.modal-close, #documenter .docs-sidebar form.docs-search > input.modal-close, .is-small.delete, #documenter .docs-sidebar form.docs-search > input.delete {
+ height: 16px;
+ max-height: 16px;
+ max-width: 16px;
+ min-height: 16px;
+ min-width: 16px;
+ width: 16px; }
+ .is-medium.modal-close, .is-medium.delete {
+ height: 24px;
+ max-height: 24px;
+ max-width: 24px;
+ min-height: 24px;
+ min-width: 24px;
+ width: 24px; }
+ .is-large.modal-close, .is-large.delete {
+ height: 32px;
+ max-height: 32px;
+ max-width: 32px;
+ min-height: 32px;
+ min-width: 32px;
+ width: 32px; }
+
+.control.is-loading::after, .select.is-loading::after, .loader, .button.is-loading::after {
+ animation: spinAround 500ms infinite linear;
+ border: 2px solid #dbdbdb;
+ border-radius: 290486px;
+ border-right-color: transparent;
+ border-top-color: transparent;
+ content: "";
+ display: block;
+ height: 1em;
+ position: relative;
+ width: 1em; }
+
+.hero-video, .modal-background, .modal, .image.is-square img, #documenter .docs-sidebar .docs-logo > img.is-square img,
+.image.is-square .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-square .has-ratio, .image.is-1by1 img, #documenter .docs-sidebar .docs-logo > img.is-1by1 img,
+.image.is-1by1 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-1by1 .has-ratio, .image.is-5by4 img, #documenter .docs-sidebar .docs-logo > img.is-5by4 img,
+.image.is-5by4 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-5by4 .has-ratio, .image.is-4by3 img, #documenter .docs-sidebar .docs-logo > img.is-4by3 img,
+.image.is-4by3 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-4by3 .has-ratio, .image.is-3by2 img, #documenter .docs-sidebar .docs-logo > img.is-3by2 img,
+.image.is-3by2 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-3by2 .has-ratio, .image.is-5by3 img, #documenter .docs-sidebar .docs-logo > img.is-5by3 img,
+.image.is-5by3 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-5by3 .has-ratio, .image.is-16by9 img, #documenter .docs-sidebar .docs-logo > img.is-16by9 img,
+.image.is-16by9 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-16by9 .has-ratio, .image.is-2by1 img, #documenter .docs-sidebar .docs-logo > img.is-2by1 img,
+.image.is-2by1 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-2by1 .has-ratio, .image.is-3by1 img, #documenter .docs-sidebar .docs-logo > img.is-3by1 img,
+.image.is-3by1 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-3by1 .has-ratio, .image.is-4by5 img, #documenter .docs-sidebar .docs-logo > img.is-4by5 img,
+.image.is-4by5 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-4by5 .has-ratio, .image.is-3by4 img, #documenter .docs-sidebar .docs-logo > img.is-3by4 img,
+.image.is-3by4 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-3by4 .has-ratio, .image.is-2by3 img, #documenter .docs-sidebar .docs-logo > img.is-2by3 img,
+.image.is-2by3 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-2by3 .has-ratio, .image.is-3by5 img, #documenter .docs-sidebar .docs-logo > img.is-3by5 img,
+.image.is-3by5 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-3by5 .has-ratio, .image.is-9by16 img, #documenter .docs-sidebar .docs-logo > img.is-9by16 img,
+.image.is-9by16 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-9by16 .has-ratio, .image.is-1by2 img, #documenter .docs-sidebar .docs-logo > img.is-1by2 img,
+.image.is-1by2 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-1by2 .has-ratio, .image.is-1by3 img, #documenter .docs-sidebar .docs-logo > img.is-1by3 img,
+.image.is-1by3 .has-ratio,
+#documenter .docs-sidebar .docs-logo > img.is-1by3 .has-ratio, .is-overlay {
+ bottom: 0;
+ left: 0;
+ position: absolute;
+ right: 0;
+ top: 0; }
+
+.pagination-previous,
+.pagination-next,
+.pagination-link,
+.pagination-ellipsis, .file-cta,
+.file-name, .select select, .textarea, .input, #documenter .docs-sidebar form.docs-search > input, .button {
+ -moz-appearance: none;
+ -webkit-appearance: none;
+ align-items: center;
+ border: 1px solid transparent;
+ border-radius: 4px;
+ box-shadow: none;
+ display: inline-flex;
+ font-size: 1rem;
+ height: 2.25em;
+ justify-content: flex-start;
+ line-height: 1.5;
+ padding-bottom: calc(0.375em - 1px);
+ padding-left: calc(0.625em - 1px);
+ padding-right: calc(0.625em - 1px);
+ padding-top: calc(0.375em - 1px);
+ position: relative;
+ vertical-align: top; }
+ .pagination-previous:focus,
+ .pagination-next:focus,
+ .pagination-link:focus,
+ .pagination-ellipsis:focus, .file-cta:focus,
+ .file-name:focus, .select select:focus, .textarea:focus, .input:focus, #documenter .docs-sidebar form.docs-search > input:focus, .button:focus, .is-focused.pagination-previous,
+ .is-focused.pagination-next,
+ .is-focused.pagination-link,
+ .is-focused.pagination-ellipsis, .is-focused.file-cta,
+ .is-focused.file-name, .select select.is-focused, .is-focused.textarea, .is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-focused.button, .pagination-previous:active,
+ .pagination-next:active,
+ .pagination-link:active,
+ .pagination-ellipsis:active, .file-cta:active,
+ .file-name:active, .select select:active, .textarea:active, .input:active, #documenter .docs-sidebar form.docs-search > input:active, .button:active, .is-active.pagination-previous,
+ .is-active.pagination-next,
+ .is-active.pagination-link,
+ .is-active.pagination-ellipsis, .is-active.file-cta,
+ .is-active.file-name, .select select.is-active, .is-active.textarea, .is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active, .is-active.button {
+ outline: none; }
+ .pagination-previous[disabled],
+ .pagination-next[disabled],
+ .pagination-link[disabled],
+ .pagination-ellipsis[disabled], .file-cta[disabled],
+ .file-name[disabled], .select select[disabled], .textarea[disabled], .input[disabled], #documenter .docs-sidebar form.docs-search > input[disabled], .button[disabled], fieldset[disabled] .pagination-previous,
+ fieldset[disabled] .pagination-next,
+ fieldset[disabled] .pagination-link,
+ fieldset[disabled] .pagination-ellipsis, fieldset[disabled] .file-cta,
+ fieldset[disabled] .file-name, fieldset[disabled] .select select, .select fieldset[disabled] select, fieldset[disabled] .textarea, fieldset[disabled] .input, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input, fieldset[disabled] .button {
+ cursor: not-allowed; }
+
+/*! minireset.css v0.0.4 | MIT License | github.com/jgthms/minireset.css */
+html,
+body,
+p,
+ol,
+ul,
+li,
+dl,
+dt,
+dd,
+blockquote,
+figure,
+fieldset,
+legend,
+textarea,
+pre,
+iframe,
+hr,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ margin: 0;
+ padding: 0; }
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ font-size: 100%;
+ font-weight: normal; }
+
+ul {
+ list-style: none; }
+
+button,
+input,
+select,
+textarea {
+ margin: 0; }
+
+html {
+ box-sizing: border-box; }
+
+*, *::before, *::after {
+ box-sizing: inherit; }
+
+img,
+embed,
+iframe,
+object,
+video {
+ height: auto;
+ max-width: 100%; }
+
+audio {
+ max-width: 100%; }
+
+iframe {
+ border: 0; }
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0; }
+
+td,
+th {
+ padding: 0; }
+ td:not([align]),
+ th:not([align]) {
+ text-align: left; }
+
+html {
+ background-color: white;
+ font-size: 16px;
+ -moz-osx-font-smoothing: grayscale;
+ -webkit-font-smoothing: antialiased;
+ min-width: 300px;
+ overflow-x: auto;
+ overflow-y: scroll;
+ text-rendering: optimizeLegibility;
+ text-size-adjust: 100%; }
+
+article,
+aside,
+figure,
+footer,
+header,
+hgroup,
+section {
+ display: block; }
+
+body,
+button,
+input,
+select,
+textarea {
+ font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }
+
+code,
+pre {
+ -moz-osx-font-smoothing: auto;
+ -webkit-font-smoothing: auto;
+ font-family: "JuliaMono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace; }
+
+body {
+ color: #222222;
+ font-size: 1em;
+ font-weight: 400;
+ line-height: 1.5; }
+
+a {
+ color: #2e63b8;
+ cursor: pointer;
+ text-decoration: none; }
+ a strong {
+ color: currentColor; }
+ a:hover {
+ color: #363636; }
+
+code {
+ background-color: rgba(0, 0, 0, 0.05);
+ color: #000000;
+ font-size: 0.875em;
+ font-weight: normal;
+ padding: 0.1em; }
+
+hr {
+ background-color: whitesmoke;
+ border: none;
+ display: block;
+ height: 2px;
+ margin: 1.5rem 0; }
+
+img {
+ height: auto;
+ max-width: 100%; }
+
+input[type="checkbox"],
+input[type="radio"] {
+ vertical-align: baseline; }
+
+small {
+ font-size: 0.875em; }
+
+span {
+ font-style: inherit;
+ font-weight: inherit; }
+
+strong {
+ color: #222222;
+ font-weight: 700; }
+
+fieldset {
+ border: none; }
+
+pre {
+ -webkit-overflow-scrolling: touch;
+ background-color: whitesmoke;
+ color: #222222;
+ font-size: 0.875em;
+ overflow-x: auto;
+ padding: 1.25rem 1.5rem;
+ white-space: pre;
+ word-wrap: normal; }
+ pre code {
+ background-color: transparent;
+ color: currentColor;
+ font-size: 1em;
+ padding: 0; }
+
+table td,
+table th {
+ vertical-align: top; }
+ table td:not([align]),
+ table th:not([align]) {
+ text-align: left; }
+
+table th {
+ color: #222222; }
+
+.is-clearfix::after {
+ clear: both;
+ content: " ";
+ display: table; }
+
+.is-pulled-left {
+ float: left !important; }
+
+.is-pulled-right {
+ float: right !important; }
+
+.is-clipped {
+ overflow: hidden !important; }
+
+.is-size-1 {
+ font-size: 3rem !important; }
+
+.is-size-2 {
+ font-size: 2.5rem !important; }
+
+.is-size-3 {
+ font-size: 2rem !important; }
+
+.is-size-4 {
+ font-size: 1.5rem !important; }
+
+.is-size-5 {
+ font-size: 1.25rem !important; }
+
+.is-size-6 {
+ font-size: 1rem !important; }
+
+.is-size-7, .docstring > section > a.docs-sourcelink {
+ font-size: 0.75rem !important; }
+
+@media screen and (max-width: 768px) {
+ .is-size-1-mobile {
+ font-size: 3rem !important; }
+ .is-size-2-mobile {
+ font-size: 2.5rem !important; }
+ .is-size-3-mobile {
+ font-size: 2rem !important; }
+ .is-size-4-mobile {
+ font-size: 1.5rem !important; }
+ .is-size-5-mobile {
+ font-size: 1.25rem !important; }
+ .is-size-6-mobile {
+ font-size: 1rem !important; }
+ .is-size-7-mobile {
+ font-size: 0.75rem !important; } }
+
+@media screen and (min-width: 769px), print {
+ .is-size-1-tablet {
+ font-size: 3rem !important; }
+ .is-size-2-tablet {
+ font-size: 2.5rem !important; }
+ .is-size-3-tablet {
+ font-size: 2rem !important; }
+ .is-size-4-tablet {
+ font-size: 1.5rem !important; }
+ .is-size-5-tablet {
+ font-size: 1.25rem !important; }
+ .is-size-6-tablet {
+ font-size: 1rem !important; }
+ .is-size-7-tablet {
+ font-size: 0.75rem !important; } }
+
+@media screen and (max-width: 1055px) {
+ .is-size-1-touch {
+ font-size: 3rem !important; }
+ .is-size-2-touch {
+ font-size: 2.5rem !important; }
+ .is-size-3-touch {
+ font-size: 2rem !important; }
+ .is-size-4-touch {
+ font-size: 1.5rem !important; }
+ .is-size-5-touch {
+ font-size: 1.25rem !important; }
+ .is-size-6-touch {
+ font-size: 1rem !important; }
+ .is-size-7-touch {
+ font-size: 0.75rem !important; } }
+
+@media screen and (min-width: 1056px) {
+ .is-size-1-desktop {
+ font-size: 3rem !important; }
+ .is-size-2-desktop {
+ font-size: 2.5rem !important; }
+ .is-size-3-desktop {
+ font-size: 2rem !important; }
+ .is-size-4-desktop {
+ font-size: 1.5rem !important; }
+ .is-size-5-desktop {
+ font-size: 1.25rem !important; }
+ .is-size-6-desktop {
+ font-size: 1rem !important; }
+ .is-size-7-desktop {
+ font-size: 0.75rem !important; } }
+
+@media screen and (min-width: 1216px) {
+ .is-size-1-widescreen {
+ font-size: 3rem !important; }
+ .is-size-2-widescreen {
+ font-size: 2.5rem !important; }
+ .is-size-3-widescreen {
+ font-size: 2rem !important; }
+ .is-size-4-widescreen {
+ font-size: 1.5rem !important; }
+ .is-size-5-widescreen {
+ font-size: 1.25rem !important; }
+ .is-size-6-widescreen {
+ font-size: 1rem !important; }
+ .is-size-7-widescreen {
+ font-size: 0.75rem !important; } }
+
+@media screen and (min-width: 1408px) {
+ .is-size-1-fullhd {
+ font-size: 3rem !important; }
+ .is-size-2-fullhd {
+ font-size: 2.5rem !important; }
+ .is-size-3-fullhd {
+ font-size: 2rem !important; }
+ .is-size-4-fullhd {
+ font-size: 1.5rem !important; }
+ .is-size-5-fullhd {
+ font-size: 1.25rem !important; }
+ .is-size-6-fullhd {
+ font-size: 1rem !important; }
+ .is-size-7-fullhd {
+ font-size: 0.75rem !important; } }
+
+.has-text-centered {
+ text-align: center !important; }
+
+.has-text-justified {
+ text-align: justify !important; }
+
+.has-text-left {
+ text-align: left !important; }
+
+.has-text-right {
+ text-align: right !important; }
+
+@media screen and (max-width: 768px) {
+ .has-text-centered-mobile {
+ text-align: center !important; } }
+
+@media screen and (min-width: 769px), print {
+ .has-text-centered-tablet {
+ text-align: center !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+ .has-text-centered-tablet-only {
+ text-align: center !important; } }
+
+@media screen and (max-width: 1055px) {
+ .has-text-centered-touch {
+ text-align: center !important; } }
+
+@media screen and (min-width: 1056px) {
+ .has-text-centered-desktop {
+ text-align: center !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+ .has-text-centered-desktop-only {
+ text-align: center !important; } }
+
+@media screen and (min-width: 1216px) {
+ .has-text-centered-widescreen {
+ text-align: center !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .has-text-centered-widescreen-only {
+ text-align: center !important; } }
+
+@media screen and (min-width: 1408px) {
+ .has-text-centered-fullhd {
+ text-align: center !important; } }
+
+@media screen and (max-width: 768px) {
+ .has-text-justified-mobile {
+ text-align: justify !important; } }
+
+@media screen and (min-width: 769px), print {
+ .has-text-justified-tablet {
+ text-align: justify !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+ .has-text-justified-tablet-only {
+ text-align: justify !important; } }
+
+@media screen and (max-width: 1055px) {
+ .has-text-justified-touch {
+ text-align: justify !important; } }
+
+@media screen and (min-width: 1056px) {
+ .has-text-justified-desktop {
+ text-align: justify !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+ .has-text-justified-desktop-only {
+ text-align: justify !important; } }
+
+@media screen and (min-width: 1216px) {
+ .has-text-justified-widescreen {
+ text-align: justify !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .has-text-justified-widescreen-only {
+ text-align: justify !important; } }
+
+@media screen and (min-width: 1408px) {
+ .has-text-justified-fullhd {
+ text-align: justify !important; } }
+
+@media screen and (max-width: 768px) {
+ .has-text-left-mobile {
+ text-align: left !important; } }
+
+@media screen and (min-width: 769px), print {
+ .has-text-left-tablet {
+ text-align: left !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+ .has-text-left-tablet-only {
+ text-align: left !important; } }
+
+@media screen and (max-width: 1055px) {
+ .has-text-left-touch {
+ text-align: left !important; } }
+
+@media screen and (min-width: 1056px) {
+ .has-text-left-desktop {
+ text-align: left !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+ .has-text-left-desktop-only {
+ text-align: left !important; } }
+
+@media screen and (min-width: 1216px) {
+ .has-text-left-widescreen {
+ text-align: left !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .has-text-left-widescreen-only {
+ text-align: left !important; } }
+
+@media screen and (min-width: 1408px) {
+ .has-text-left-fullhd {
+ text-align: left !important; } }
+
+@media screen and (max-width: 768px) {
+ .has-text-right-mobile {
+ text-align: right !important; } }
+
+@media screen and (min-width: 769px), print {
+ .has-text-right-tablet {
+ text-align: right !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+ .has-text-right-tablet-only {
+ text-align: right !important; } }
+
+@media screen and (max-width: 1055px) {
+ .has-text-right-touch {
+ text-align: right !important; } }
+
+@media screen and (min-width: 1056px) {
+ .has-text-right-desktop {
+ text-align: right !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+ .has-text-right-desktop-only {
+ text-align: right !important; } }
+
+@media screen and (min-width: 1216px) {
+ .has-text-right-widescreen {
+ text-align: right !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .has-text-right-widescreen-only {
+ text-align: right !important; } }
+
+@media screen and (min-width: 1408px) {
+ .has-text-right-fullhd {
+ text-align: right !important; } }
+
+.is-capitalized {
+ text-transform: capitalize !important; }
+
+.is-lowercase {
+ text-transform: lowercase !important; }
+
+.is-uppercase {
+ text-transform: uppercase !important; }
+
+.is-italic {
+ font-style: italic !important; }
+
+.has-text-white {
+ color: white !important; }
+
+a.has-text-white:hover, a.has-text-white:focus {
+ color: #e6e6e6 !important; }
+
+.has-background-white {
+ background-color: white !important; }
+
+.has-text-black {
+ color: #0a0a0a !important; }
+
+a.has-text-black:hover, a.has-text-black:focus {
+ color: black !important; }
+
+.has-background-black {
+ background-color: #0a0a0a !important; }
+
+.has-text-light {
+ color: whitesmoke !important; }
+
+a.has-text-light:hover, a.has-text-light:focus {
+ color: #dbdbdb !important; }
+
+.has-background-light {
+ background-color: whitesmoke !important; }
+
+.has-text-dark {
+ color: #363636 !important; }
+
+a.has-text-dark:hover, a.has-text-dark:focus {
+ color: #1c1c1c !important; }
+
+.has-background-dark {
+ background-color: #363636 !important; }
+
+.has-text-primary {
+ color: #4eb5de !important; }
+
+a.has-text-primary:hover, a.has-text-primary:focus {
+ color: #27a1d2 !important; }
+
+.has-background-primary {
+ background-color: #4eb5de !important; }
+
+.has-text-link {
+ color: #2e63b8 !important; }
+
+a.has-text-link:hover, a.has-text-link:focus {
+ color: #244d8f !important; }
+
+.has-background-link {
+ background-color: #2e63b8 !important; }
+
+.has-text-info {
+ color: #209cee !important; }
+
+a.has-text-info:hover, a.has-text-info:focus {
+ color: #1081cb !important; }
+
+.has-background-info {
+ background-color: #209cee !important; }
+
+.has-text-success {
+ color: #22c35b !important; }
+
+a.has-text-success:hover, a.has-text-success:focus {
+ color: #1a9847 !important; }
+
+.has-background-success {
+ background-color: #22c35b !important; }
+
+.has-text-warning {
+ color: #ffdd57 !important; }
+
+a.has-text-warning:hover, a.has-text-warning:focus {
+ color: #ffd324 !important; }
+
+.has-background-warning {
+ background-color: #ffdd57 !important; }
+
+.has-text-danger {
+ color: #da0b00 !important; }
+
+a.has-text-danger:hover, a.has-text-danger:focus {
+ color: #a70800 !important; }
+
+.has-background-danger {
+ background-color: #da0b00 !important; }
+
+.has-text-black-bis {
+ color: #121212 !important; }
+
+.has-background-black-bis {
+ background-color: #121212 !important; }
+
+.has-text-black-ter {
+ color: #242424 !important; }
+
+.has-background-black-ter {
+ background-color: #242424 !important; }
+
+.has-text-grey-darker {
+ color: #363636 !important; }
+
+.has-background-grey-darker {
+ background-color: #363636 !important; }
+
+.has-text-grey-dark {
+ color: #4a4a4a !important; }
+
+.has-background-grey-dark {
+ background-color: #4a4a4a !important; }
+
+.has-text-grey {
+ color: #6b6b6b !important; }
+
+.has-background-grey {
+ background-color: #6b6b6b !important; }
+
+.has-text-grey-light {
+ color: #b5b5b5 !important; }
+
+.has-background-grey-light {
+ background-color: #b5b5b5 !important; }
+
+.has-text-grey-lighter {
+ color: #dbdbdb !important; }
+
+.has-background-grey-lighter {
+ background-color: #dbdbdb !important; }
+
+.has-text-white-ter {
+ color: whitesmoke !important; }
+
+.has-background-white-ter {
+ background-color: whitesmoke !important; }
+
+.has-text-white-bis {
+ color: #fafafa !important; }
+
+.has-background-white-bis {
+ background-color: #fafafa !important; }
+
+.has-text-weight-light {
+ font-weight: 300 !important; }
+
+.has-text-weight-normal {
+ font-weight: 400 !important; }
+
+.has-text-weight-medium {
+ font-weight: 500 !important; }
+
+.has-text-weight-semibold {
+ font-weight: 600 !important; }
+
+.has-text-weight-bold {
+ font-weight: 700 !important; }
+
+.is-family-primary {
+ font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
+
+.is-family-secondary {
+ font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
+
+.is-family-sans-serif {
+ font-family: "Lato Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }
+
+.is-family-monospace {
+ font-family: "JuliaMono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace !important; }
+
+.is-family-code {
+ font-family: "JuliaMono", "SFMono-Regular", "Menlo", "Consolas", "Liberation Mono", "DejaVu Sans Mono", monospace !important; }
+
+.is-block {
+ display: block !important; }
+
+@media screen and (max-width: 768px) {
+ .is-block-mobile {
+ display: block !important; } }
+
+@media screen and (min-width: 769px), print {
+ .is-block-tablet {
+ display: block !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+ .is-block-tablet-only {
+ display: block !important; } }
+
+@media screen and (max-width: 1055px) {
+ .is-block-touch {
+ display: block !important; } }
+
+@media screen and (min-width: 1056px) {
+ .is-block-desktop {
+ display: block !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+ .is-block-desktop-only {
+ display: block !important; } }
+
+@media screen and (min-width: 1216px) {
+ .is-block-widescreen {
+ display: block !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .is-block-widescreen-only {
+ display: block !important; } }
+
+@media screen and (min-width: 1408px) {
+ .is-block-fullhd {
+ display: block !important; } }
+
+.is-flex {
+ display: flex !important; }
+
+@media screen and (max-width: 768px) {
+ .is-flex-mobile {
+ display: flex !important; } }
+
+@media screen and (min-width: 769px), print {
+ .is-flex-tablet {
+ display: flex !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+ .is-flex-tablet-only {
+ display: flex !important; } }
+
+@media screen and (max-width: 1055px) {
+ .is-flex-touch {
+ display: flex !important; } }
+
+@media screen and (min-width: 1056px) {
+ .is-flex-desktop {
+ display: flex !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+ .is-flex-desktop-only {
+ display: flex !important; } }
+
+@media screen and (min-width: 1216px) {
+ .is-flex-widescreen {
+ display: flex !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .is-flex-widescreen-only {
+ display: flex !important; } }
+
+@media screen and (min-width: 1408px) {
+ .is-flex-fullhd {
+ display: flex !important; } }
+
+.is-inline {
+ display: inline !important; }
+
+@media screen and (max-width: 768px) {
+ .is-inline-mobile {
+ display: inline !important; } }
+
+@media screen and (min-width: 769px), print {
+ .is-inline-tablet {
+ display: inline !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+ .is-inline-tablet-only {
+ display: inline !important; } }
+
+@media screen and (max-width: 1055px) {
+ .is-inline-touch {
+ display: inline !important; } }
+
+@media screen and (min-width: 1056px) {
+ .is-inline-desktop {
+ display: inline !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+ .is-inline-desktop-only {
+ display: inline !important; } }
+
+@media screen and (min-width: 1216px) {
+ .is-inline-widescreen {
+ display: inline !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .is-inline-widescreen-only {
+ display: inline !important; } }
+
+@media screen and (min-width: 1408px) {
+ .is-inline-fullhd {
+ display: inline !important; } }
+
+.is-inline-block {
+ display: inline-block !important; }
+
+@media screen and (max-width: 768px) {
+ .is-inline-block-mobile {
+ display: inline-block !important; } }
+
+@media screen and (min-width: 769px), print {
+ .is-inline-block-tablet {
+ display: inline-block !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+ .is-inline-block-tablet-only {
+ display: inline-block !important; } }
+
+@media screen and (max-width: 1055px) {
+ .is-inline-block-touch {
+ display: inline-block !important; } }
+
+@media screen and (min-width: 1056px) {
+ .is-inline-block-desktop {
+ display: inline-block !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+ .is-inline-block-desktop-only {
+ display: inline-block !important; } }
+
+@media screen and (min-width: 1216px) {
+ .is-inline-block-widescreen {
+ display: inline-block !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .is-inline-block-widescreen-only {
+ display: inline-block !important; } }
+
+@media screen and (min-width: 1408px) {
+ .is-inline-block-fullhd {
+ display: inline-block !important; } }
+
+.is-inline-flex {
+ display: inline-flex !important; }
+
+@media screen and (max-width: 768px) {
+ .is-inline-flex-mobile {
+ display: inline-flex !important; } }
+
+@media screen and (min-width: 769px), print {
+ .is-inline-flex-tablet {
+ display: inline-flex !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+ .is-inline-flex-tablet-only {
+ display: inline-flex !important; } }
+
+@media screen and (max-width: 1055px) {
+ .is-inline-flex-touch {
+ display: inline-flex !important; } }
+
+@media screen and (min-width: 1056px) {
+ .is-inline-flex-desktop {
+ display: inline-flex !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+ .is-inline-flex-desktop-only {
+ display: inline-flex !important; } }
+
+@media screen and (min-width: 1216px) {
+ .is-inline-flex-widescreen {
+ display: inline-flex !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .is-inline-flex-widescreen-only {
+ display: inline-flex !important; } }
+
+@media screen and (min-width: 1408px) {
+ .is-inline-flex-fullhd {
+ display: inline-flex !important; } }
+
+.is-hidden {
+ display: none !important; }
+
+.is-sr-only {
+ border: none !important;
+ clip: rect(0, 0, 0, 0) !important;
+ height: 0.01em !important;
+ overflow: hidden !important;
+ padding: 0 !important;
+ position: absolute !important;
+ white-space: nowrap !important;
+ width: 0.01em !important; }
+
+@media screen and (max-width: 768px) {
+ .is-hidden-mobile {
+ display: none !important; } }
+
+@media screen and (min-width: 769px), print {
+ .is-hidden-tablet {
+ display: none !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+ .is-hidden-tablet-only {
+ display: none !important; } }
+
+@media screen and (max-width: 1055px) {
+ .is-hidden-touch {
+ display: none !important; } }
+
+@media screen and (min-width: 1056px) {
+ .is-hidden-desktop {
+ display: none !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+ .is-hidden-desktop-only {
+ display: none !important; } }
+
+@media screen and (min-width: 1216px) {
+ .is-hidden-widescreen {
+ display: none !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .is-hidden-widescreen-only {
+ display: none !important; } }
+
+@media screen and (min-width: 1408px) {
+ .is-hidden-fullhd {
+ display: none !important; } }
+
+.is-invisible {
+ visibility: hidden !important; }
+
+@media screen and (max-width: 768px) {
+ .is-invisible-mobile {
+ visibility: hidden !important; } }
+
+@media screen and (min-width: 769px), print {
+ .is-invisible-tablet {
+ visibility: hidden !important; } }
+
+@media screen and (min-width: 769px) and (max-width: 1055px) {
+ .is-invisible-tablet-only {
+ visibility: hidden !important; } }
+
+@media screen and (max-width: 1055px) {
+ .is-invisible-touch {
+ visibility: hidden !important; } }
+
+@media screen and (min-width: 1056px) {
+ .is-invisible-desktop {
+ visibility: hidden !important; } }
+
+@media screen and (min-width: 1056px) and (max-width: 1215px) {
+ .is-invisible-desktop-only {
+ visibility: hidden !important; } }
+
+@media screen and (min-width: 1216px) {
+ .is-invisible-widescreen {
+ visibility: hidden !important; } }
+
+@media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .is-invisible-widescreen-only {
+ visibility: hidden !important; } }
+
+@media screen and (min-width: 1408px) {
+ .is-invisible-fullhd {
+ visibility: hidden !important; } }
+
+.is-marginless {
+ margin: 0 !important; }
+
+.is-paddingless {
+ padding: 0 !important; }
+
+.is-radiusless {
+ border-radius: 0 !important; }
+
+.is-shadowless {
+ box-shadow: none !important; }
+
+.is-relative {
+ position: relative !important; }
+
+.box {
+ background-color: white;
+ border-radius: 6px;
+ box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
+ color: #222222;
+ display: block;
+ padding: 1.25rem; }
+
+a.box:hover, a.box:focus {
+ box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px #2e63b8; }
+
+a.box:active {
+ box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2), 0 0 0 1px #2e63b8; }
+
+.button {
+ background-color: white;
+ border-color: #dbdbdb;
+ border-width: 1px;
+ color: #363636;
+ cursor: pointer;
+ justify-content: center;
+ padding-bottom: calc(0.375em - 1px);
+ padding-left: 0.75em;
+ padding-right: 0.75em;
+ padding-top: calc(0.375em - 1px);
+ text-align: center;
+ white-space: nowrap; }
+ .button strong {
+ color: inherit; }
+ .button .icon, .button .icon.is-small, .button #documenter .docs-sidebar form.docs-search > input.icon, #documenter .docs-sidebar .button form.docs-search > input.icon, .button .icon.is-medium, .button .icon.is-large {
+ height: 1.5em;
+ width: 1.5em; }
+ .button .icon:first-child:not(:last-child) {
+ margin-left: calc(-0.375em - 1px);
+ margin-right: 0.1875em; }
+ .button .icon:last-child:not(:first-child) {
+ margin-left: 0.1875em;
+ margin-right: calc(-0.375em - 1px); }
+ .button .icon:first-child:last-child {
+ margin-left: calc(-0.375em - 1px);
+ margin-right: calc(-0.375em - 1px); }
+ .button:hover, .button.is-hovered {
+ border-color: #b5b5b5;
+ color: #363636; }
+ .button:focus, .button.is-focused {
+ border-color: #3c5dcd;
+ color: #363636; }
+ .button:focus:not(:active), .button.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); }
+ .button:active, .button.is-active {
+ border-color: #4a4a4a;
+ color: #363636; }
+ .button.is-text {
+ background-color: transparent;
+ border-color: transparent;
+ color: #222222;
+ text-decoration: underline; }
+ .button.is-text:hover, .button.is-text.is-hovered, .button.is-text:focus, .button.is-text.is-focused {
+ background-color: whitesmoke;
+ color: #222222; }
+ .button.is-text:active, .button.is-text.is-active {
+ background-color: #e8e8e8;
+ color: #222222; }
+ .button.is-text[disabled], fieldset[disabled] .button.is-text {
+ background-color: transparent;
+ border-color: transparent;
+ box-shadow: none; }
+ .button.is-white {
+ background-color: white;
+ border-color: transparent;
+ color: #0a0a0a; }
+ .button.is-white:hover, .button.is-white.is-hovered {
+ background-color: #f9f9f9;
+ border-color: transparent;
+ color: #0a0a0a; }
+ .button.is-white:focus, .button.is-white.is-focused {
+ border-color: transparent;
+ color: #0a0a0a; }
+ .button.is-white:focus:not(:active), .button.is-white.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
+ .button.is-white:active, .button.is-white.is-active {
+ background-color: #f2f2f2;
+ border-color: transparent;
+ color: #0a0a0a; }
+ .button.is-white[disabled], fieldset[disabled] .button.is-white {
+ background-color: white;
+ border-color: transparent;
+ box-shadow: none; }
+ .button.is-white.is-inverted {
+ background-color: #0a0a0a;
+ color: white; }
+ .button.is-white.is-inverted:hover, .button.is-white.is-inverted.is-hovered {
+ background-color: black; }
+ .button.is-white.is-inverted[disabled], fieldset[disabled] .button.is-white.is-inverted {
+ background-color: #0a0a0a;
+ border-color: transparent;
+ box-shadow: none;
+ color: white; }
+ .button.is-white.is-loading::after {
+ border-color: transparent transparent #0a0a0a #0a0a0a !important; }
+ .button.is-white.is-outlined {
+ background-color: transparent;
+ border-color: white;
+ color: white; }
+ .button.is-white.is-outlined:hover, .button.is-white.is-outlined.is-hovered, .button.is-white.is-outlined:focus, .button.is-white.is-outlined.is-focused {
+ background-color: white;
+ border-color: white;
+ color: #0a0a0a; }
+ .button.is-white.is-outlined.is-loading::after {
+ border-color: transparent transparent white white !important; }
+ .button.is-white.is-outlined.is-loading:hover::after, .button.is-white.is-outlined.is-loading.is-hovered::after, .button.is-white.is-outlined.is-loading:focus::after, .button.is-white.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #0a0a0a #0a0a0a !important; }
+ .button.is-white.is-outlined[disabled], fieldset[disabled] .button.is-white.is-outlined {
+ background-color: transparent;
+ border-color: white;
+ box-shadow: none;
+ color: white; }
+ .button.is-white.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #0a0a0a;
+ color: #0a0a0a; }
+ .button.is-white.is-inverted.is-outlined:hover, .button.is-white.is-inverted.is-outlined.is-hovered, .button.is-white.is-inverted.is-outlined:focus, .button.is-white.is-inverted.is-outlined.is-focused {
+ background-color: #0a0a0a;
+ color: white; }
+ .button.is-white.is-inverted.is-outlined.is-loading:hover::after, .button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-white.is-inverted.is-outlined.is-loading:focus::after, .button.is-white.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent white white !important; }
+ .button.is-white.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-white.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #0a0a0a;
+ box-shadow: none;
+ color: #0a0a0a; }
+ .button.is-black {
+ background-color: #0a0a0a;
+ border-color: transparent;
+ color: white; }
+ .button.is-black:hover, .button.is-black.is-hovered {
+ background-color: #040404;
+ border-color: transparent;
+ color: white; }
+ .button.is-black:focus, .button.is-black.is-focused {
+ border-color: transparent;
+ color: white; }
+ .button.is-black:focus:not(:active), .button.is-black.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
+ .button.is-black:active, .button.is-black.is-active {
+ background-color: black;
+ border-color: transparent;
+ color: white; }
+ .button.is-black[disabled], fieldset[disabled] .button.is-black {
+ background-color: #0a0a0a;
+ border-color: transparent;
+ box-shadow: none; }
+ .button.is-black.is-inverted {
+ background-color: white;
+ color: #0a0a0a; }
+ .button.is-black.is-inverted:hover, .button.is-black.is-inverted.is-hovered {
+ background-color: #f2f2f2; }
+ .button.is-black.is-inverted[disabled], fieldset[disabled] .button.is-black.is-inverted {
+ background-color: white;
+ border-color: transparent;
+ box-shadow: none;
+ color: #0a0a0a; }
+ .button.is-black.is-loading::after {
+ border-color: transparent transparent white white !important; }
+ .button.is-black.is-outlined {
+ background-color: transparent;
+ border-color: #0a0a0a;
+ color: #0a0a0a; }
+ .button.is-black.is-outlined:hover, .button.is-black.is-outlined.is-hovered, .button.is-black.is-outlined:focus, .button.is-black.is-outlined.is-focused {
+ background-color: #0a0a0a;
+ border-color: #0a0a0a;
+ color: white; }
+ .button.is-black.is-outlined.is-loading::after {
+ border-color: transparent transparent #0a0a0a #0a0a0a !important; }
+ .button.is-black.is-outlined.is-loading:hover::after, .button.is-black.is-outlined.is-loading.is-hovered::after, .button.is-black.is-outlined.is-loading:focus::after, .button.is-black.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent white white !important; }
+ .button.is-black.is-outlined[disabled], fieldset[disabled] .button.is-black.is-outlined {
+ background-color: transparent;
+ border-color: #0a0a0a;
+ box-shadow: none;
+ color: #0a0a0a; }
+ .button.is-black.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: white;
+ color: white; }
+ .button.is-black.is-inverted.is-outlined:hover, .button.is-black.is-inverted.is-outlined.is-hovered, .button.is-black.is-inverted.is-outlined:focus, .button.is-black.is-inverted.is-outlined.is-focused {
+ background-color: white;
+ color: #0a0a0a; }
+ .button.is-black.is-inverted.is-outlined.is-loading:hover::after, .button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-black.is-inverted.is-outlined.is-loading:focus::after, .button.is-black.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #0a0a0a #0a0a0a !important; }
+ .button.is-black.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-black.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: white;
+ box-shadow: none;
+ color: white; }
+ .button.is-light {
+ background-color: whitesmoke;
+ border-color: transparent;
+ color: #363636; }
+ .button.is-light:hover, .button.is-light.is-hovered {
+ background-color: #eeeeee;
+ border-color: transparent;
+ color: #363636; }
+ .button.is-light:focus, .button.is-light.is-focused {
+ border-color: transparent;
+ color: #363636; }
+ .button.is-light:focus:not(:active), .button.is-light.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }
+ .button.is-light:active, .button.is-light.is-active {
+ background-color: #e8e8e8;
+ border-color: transparent;
+ color: #363636; }
+ .button.is-light[disabled], fieldset[disabled] .button.is-light {
+ background-color: whitesmoke;
+ border-color: transparent;
+ box-shadow: none; }
+ .button.is-light.is-inverted {
+ background-color: #363636;
+ color: whitesmoke; }
+ .button.is-light.is-inverted:hover, .button.is-light.is-inverted.is-hovered {
+ background-color: #292929; }
+ .button.is-light.is-inverted[disabled], fieldset[disabled] .button.is-light.is-inverted {
+ background-color: #363636;
+ border-color: transparent;
+ box-shadow: none;
+ color: whitesmoke; }
+ .button.is-light.is-loading::after {
+ border-color: transparent transparent #363636 #363636 !important; }
+ .button.is-light.is-outlined {
+ background-color: transparent;
+ border-color: whitesmoke;
+ color: whitesmoke; }
+ .button.is-light.is-outlined:hover, .button.is-light.is-outlined.is-hovered, .button.is-light.is-outlined:focus, .button.is-light.is-outlined.is-focused {
+ background-color: whitesmoke;
+ border-color: whitesmoke;
+ color: #363636; }
+ .button.is-light.is-outlined.is-loading::after {
+ border-color: transparent transparent whitesmoke whitesmoke !important; }
+ .button.is-light.is-outlined.is-loading:hover::after, .button.is-light.is-outlined.is-loading.is-hovered::after, .button.is-light.is-outlined.is-loading:focus::after, .button.is-light.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #363636 #363636 !important; }
+ .button.is-light.is-outlined[disabled], fieldset[disabled] .button.is-light.is-outlined {
+ background-color: transparent;
+ border-color: whitesmoke;
+ box-shadow: none;
+ color: whitesmoke; }
+ .button.is-light.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #363636;
+ color: #363636; }
+ .button.is-light.is-inverted.is-outlined:hover, .button.is-light.is-inverted.is-outlined.is-hovered, .button.is-light.is-inverted.is-outlined:focus, .button.is-light.is-inverted.is-outlined.is-focused {
+ background-color: #363636;
+ color: whitesmoke; }
+ .button.is-light.is-inverted.is-outlined.is-loading:hover::after, .button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-light.is-inverted.is-outlined.is-loading:focus::after, .button.is-light.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent whitesmoke whitesmoke !important; }
+ .button.is-light.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-light.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #363636;
+ box-shadow: none;
+ color: #363636; }
+ .button.is-dark, .content kbd.button {
+ background-color: #363636;
+ border-color: transparent;
+ color: whitesmoke; }
+ .button.is-dark:hover, .content kbd.button:hover, .button.is-dark.is-hovered, .content kbd.button.is-hovered {
+ background-color: #2f2f2f;
+ border-color: transparent;
+ color: whitesmoke; }
+ .button.is-dark:focus, .content kbd.button:focus, .button.is-dark.is-focused, .content kbd.button.is-focused {
+ border-color: transparent;
+ color: whitesmoke; }
+ .button.is-dark:focus:not(:active), .content kbd.button:focus:not(:active), .button.is-dark.is-focused:not(:active), .content kbd.button.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }
+ .button.is-dark:active, .content kbd.button:active, .button.is-dark.is-active, .content kbd.button.is-active {
+ background-color: #292929;
+ border-color: transparent;
+ color: whitesmoke; }
+ .button.is-dark[disabled], .content kbd.button[disabled], fieldset[disabled] .button.is-dark, fieldset[disabled] .content kbd.button, .content fieldset[disabled] kbd.button {
+ background-color: #363636;
+ border-color: transparent;
+ box-shadow: none; }
+ .button.is-dark.is-inverted, .content kbd.button.is-inverted {
+ background-color: whitesmoke;
+ color: #363636; }
+ .button.is-dark.is-inverted:hover, .content kbd.button.is-inverted:hover, .button.is-dark.is-inverted.is-hovered, .content kbd.button.is-inverted.is-hovered {
+ background-color: #e8e8e8; }
+ .button.is-dark.is-inverted[disabled], .content kbd.button.is-inverted[disabled], fieldset[disabled] .button.is-dark.is-inverted, fieldset[disabled] .content kbd.button.is-inverted, .content fieldset[disabled] kbd.button.is-inverted {
+ background-color: whitesmoke;
+ border-color: transparent;
+ box-shadow: none;
+ color: #363636; }
+ .button.is-dark.is-loading::after, .content kbd.button.is-loading::after {
+ border-color: transparent transparent whitesmoke whitesmoke !important; }
+ .button.is-dark.is-outlined, .content kbd.button.is-outlined {
+ background-color: transparent;
+ border-color: #363636;
+ color: #363636; }
+ .button.is-dark.is-outlined:hover, .content kbd.button.is-outlined:hover, .button.is-dark.is-outlined.is-hovered, .content kbd.button.is-outlined.is-hovered, .button.is-dark.is-outlined:focus, .content kbd.button.is-outlined:focus, .button.is-dark.is-outlined.is-focused, .content kbd.button.is-outlined.is-focused {
+ background-color: #363636;
+ border-color: #363636;
+ color: whitesmoke; }
+ .button.is-dark.is-outlined.is-loading::after, .content kbd.button.is-outlined.is-loading::after {
+ border-color: transparent transparent #363636 #363636 !important; }
+ .button.is-dark.is-outlined.is-loading:hover::after, .content kbd.button.is-outlined.is-loading:hover::after, .button.is-dark.is-outlined.is-loading.is-hovered::after, .content kbd.button.is-outlined.is-loading.is-hovered::after, .button.is-dark.is-outlined.is-loading:focus::after, .content kbd.button.is-outlined.is-loading:focus::after, .button.is-dark.is-outlined.is-loading.is-focused::after, .content kbd.button.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent whitesmoke whitesmoke !important; }
+ .button.is-dark.is-outlined[disabled], .content kbd.button.is-outlined[disabled], fieldset[disabled] .button.is-dark.is-outlined, fieldset[disabled] .content kbd.button.is-outlined, .content fieldset[disabled] kbd.button.is-outlined {
+ background-color: transparent;
+ border-color: #363636;
+ box-shadow: none;
+ color: #363636; }
+ .button.is-dark.is-inverted.is-outlined, .content kbd.button.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: whitesmoke;
+ color: whitesmoke; }
+ .button.is-dark.is-inverted.is-outlined:hover, .content kbd.button.is-inverted.is-outlined:hover, .button.is-dark.is-inverted.is-outlined.is-hovered, .content kbd.button.is-inverted.is-outlined.is-hovered, .button.is-dark.is-inverted.is-outlined:focus, .content kbd.button.is-inverted.is-outlined:focus, .button.is-dark.is-inverted.is-outlined.is-focused, .content kbd.button.is-inverted.is-outlined.is-focused {
+ background-color: whitesmoke;
+ color: #363636; }
+ .button.is-dark.is-inverted.is-outlined.is-loading:hover::after, .content kbd.button.is-inverted.is-outlined.is-loading:hover::after, .button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after, .content kbd.button.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-dark.is-inverted.is-outlined.is-loading:focus::after, .content kbd.button.is-inverted.is-outlined.is-loading:focus::after, .button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after, .content kbd.button.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #363636 #363636 !important; }
+ .button.is-dark.is-inverted.is-outlined[disabled], .content kbd.button.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-dark.is-inverted.is-outlined, fieldset[disabled] .content kbd.button.is-inverted.is-outlined, .content fieldset[disabled] kbd.button.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: whitesmoke;
+ box-shadow: none;
+ color: whitesmoke; }
+ .button.is-primary, .docstring > section > a.button.docs-sourcelink {
+ background-color: #4eb5de;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-primary:hover, .docstring > section > a.button.docs-sourcelink:hover, .button.is-primary.is-hovered, .docstring > section > a.button.is-hovered.docs-sourcelink {
+ background-color: #43b1dc;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-primary:focus, .docstring > section > a.button.docs-sourcelink:focus, .button.is-primary.is-focused, .docstring > section > a.button.is-focused.docs-sourcelink {
+ border-color: transparent;
+ color: #fff; }
+ .button.is-primary:focus:not(:active), .docstring > section > a.button.docs-sourcelink:focus:not(:active), .button.is-primary.is-focused:not(:active), .docstring > section > a.button.is-focused.docs-sourcelink:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(78, 181, 222, 0.25); }
+ .button.is-primary:active, .docstring > section > a.button.docs-sourcelink:active, .button.is-primary.is-active, .docstring > section > a.button.is-active.docs-sourcelink {
+ background-color: #39acda;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-primary[disabled], .docstring > section > a.button.docs-sourcelink[disabled], fieldset[disabled] .button.is-primary, fieldset[disabled] .docstring > section > a.button.docs-sourcelink {
+ background-color: #4eb5de;
+ border-color: transparent;
+ box-shadow: none; }
+ .button.is-primary.is-inverted, .docstring > section > a.button.is-inverted.docs-sourcelink {
+ background-color: #fff;
+ color: #4eb5de; }
+ .button.is-primary.is-inverted:hover, .docstring > section > a.button.is-inverted.docs-sourcelink:hover, .button.is-primary.is-inverted.is-hovered, .docstring > section > a.button.is-inverted.is-hovered.docs-sourcelink {
+ background-color: #f2f2f2; }
+ .button.is-primary.is-inverted[disabled], .docstring > section > a.button.is-inverted.docs-sourcelink[disabled], fieldset[disabled] .button.is-primary.is-inverted, fieldset[disabled] .docstring > section > a.button.is-inverted.docs-sourcelink {
+ background-color: #fff;
+ border-color: transparent;
+ box-shadow: none;
+ color: #4eb5de; }
+ .button.is-primary.is-loading::after, .docstring > section > a.button.is-loading.docs-sourcelink::after {
+ border-color: transparent transparent #fff #fff !important; }
+ .button.is-primary.is-outlined, .docstring > section > a.button.is-outlined.docs-sourcelink {
+ background-color: transparent;
+ border-color: #4eb5de;
+ color: #4eb5de; }
+ .button.is-primary.is-outlined:hover, .docstring > section > a.button.is-outlined.docs-sourcelink:hover, .button.is-primary.is-outlined.is-hovered, .docstring > section > a.button.is-outlined.is-hovered.docs-sourcelink, .button.is-primary.is-outlined:focus, .docstring > section > a.button.is-outlined.docs-sourcelink:focus, .button.is-primary.is-outlined.is-focused, .docstring > section > a.button.is-outlined.is-focused.docs-sourcelink {
+ background-color: #4eb5de;
+ border-color: #4eb5de;
+ color: #fff; }
+ .button.is-primary.is-outlined.is-loading::after, .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink::after {
+ border-color: transparent transparent #4eb5de #4eb5de !important; }
+ .button.is-primary.is-outlined.is-loading:hover::after, .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink:hover::after, .button.is-primary.is-outlined.is-loading.is-hovered::after, .docstring > section > a.button.is-outlined.is-loading.is-hovered.docs-sourcelink::after, .button.is-primary.is-outlined.is-loading:focus::after, .docstring > section > a.button.is-outlined.is-loading.docs-sourcelink:focus::after, .button.is-primary.is-outlined.is-loading.is-focused::after, .docstring > section > a.button.is-outlined.is-loading.is-focused.docs-sourcelink::after {
+ border-color: transparent transparent #fff #fff !important; }
+ .button.is-primary.is-outlined[disabled], .docstring > section > a.button.is-outlined.docs-sourcelink[disabled], fieldset[disabled] .button.is-primary.is-outlined, fieldset[disabled] .docstring > section > a.button.is-outlined.docs-sourcelink {
+ background-color: transparent;
+ border-color: #4eb5de;
+ box-shadow: none;
+ color: #4eb5de; }
+ .button.is-primary.is-inverted.is-outlined, .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink {
+ background-color: transparent;
+ border-color: #fff;
+ color: #fff; }
+ .button.is-primary.is-inverted.is-outlined:hover, .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink:hover, .button.is-primary.is-inverted.is-outlined.is-hovered, .docstring > section > a.button.is-inverted.is-outlined.is-hovered.docs-sourcelink, .button.is-primary.is-inverted.is-outlined:focus, .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink:focus, .button.is-primary.is-inverted.is-outlined.is-focused, .docstring > section > a.button.is-inverted.is-outlined.is-focused.docs-sourcelink {
+ background-color: #fff;
+ color: #4eb5de; }
+ .button.is-primary.is-inverted.is-outlined.is-loading:hover::after, .docstring > section > a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:hover::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after, .docstring > section > a.button.is-inverted.is-outlined.is-loading.is-hovered.docs-sourcelink::after, .button.is-primary.is-inverted.is-outlined.is-loading:focus::after, .docstring > section > a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:focus::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after, .docstring > section > a.button.is-inverted.is-outlined.is-loading.is-focused.docs-sourcelink::after {
+ border-color: transparent transparent #4eb5de #4eb5de !important; }
+ .button.is-primary.is-inverted.is-outlined[disabled], .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink[disabled], fieldset[disabled] .button.is-primary.is-inverted.is-outlined, fieldset[disabled] .docstring > section > a.button.is-inverted.is-outlined.docs-sourcelink {
+ background-color: transparent;
+ border-color: #fff;
+ box-shadow: none;
+ color: #fff; }
+ .button.is-link {
+ background-color: #2e63b8;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-link:hover, .button.is-link.is-hovered {
+ background-color: #2b5eae;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-link:focus, .button.is-link.is-focused {
+ border-color: transparent;
+ color: #fff; }
+ .button.is-link:focus:not(:active), .button.is-link.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); }
+ .button.is-link:active, .button.is-link.is-active {
+ background-color: #2958a4;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-link[disabled], fieldset[disabled] .button.is-link {
+ background-color: #2e63b8;
+ border-color: transparent;
+ box-shadow: none; }
+ .button.is-link.is-inverted {
+ background-color: #fff;
+ color: #2e63b8; }
+ .button.is-link.is-inverted:hover, .button.is-link.is-inverted.is-hovered {
+ background-color: #f2f2f2; }
+ .button.is-link.is-inverted[disabled], fieldset[disabled] .button.is-link.is-inverted {
+ background-color: #fff;
+ border-color: transparent;
+ box-shadow: none;
+ color: #2e63b8; }
+ .button.is-link.is-loading::after {
+ border-color: transparent transparent #fff #fff !important; }
+ .button.is-link.is-outlined {
+ background-color: transparent;
+ border-color: #2e63b8;
+ color: #2e63b8; }
+ .button.is-link.is-outlined:hover, .button.is-link.is-outlined.is-hovered, .button.is-link.is-outlined:focus, .button.is-link.is-outlined.is-focused {
+ background-color: #2e63b8;
+ border-color: #2e63b8;
+ color: #fff; }
+ .button.is-link.is-outlined.is-loading::after {
+ border-color: transparent transparent #2e63b8 #2e63b8 !important; }
+ .button.is-link.is-outlined.is-loading:hover::after, .button.is-link.is-outlined.is-loading.is-hovered::after, .button.is-link.is-outlined.is-loading:focus::after, .button.is-link.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #fff #fff !important; }
+ .button.is-link.is-outlined[disabled], fieldset[disabled] .button.is-link.is-outlined {
+ background-color: transparent;
+ border-color: #2e63b8;
+ box-shadow: none;
+ color: #2e63b8; }
+ .button.is-link.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ color: #fff; }
+ .button.is-link.is-inverted.is-outlined:hover, .button.is-link.is-inverted.is-outlined.is-hovered, .button.is-link.is-inverted.is-outlined:focus, .button.is-link.is-inverted.is-outlined.is-focused {
+ background-color: #fff;
+ color: #2e63b8; }
+ .button.is-link.is-inverted.is-outlined.is-loading:hover::after, .button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-link.is-inverted.is-outlined.is-loading:focus::after, .button.is-link.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #2e63b8 #2e63b8 !important; }
+ .button.is-link.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-link.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ box-shadow: none;
+ color: #fff; }
+ .button.is-info {
+ background-color: #209cee;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-info:hover, .button.is-info.is-hovered {
+ background-color: #1497ed;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-info:focus, .button.is-info.is-focused {
+ border-color: transparent;
+ color: #fff; }
+ .button.is-info:focus:not(:active), .button.is-info.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25); }
+ .button.is-info:active, .button.is-info.is-active {
+ background-color: #1190e3;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-info[disabled], fieldset[disabled] .button.is-info {
+ background-color: #209cee;
+ border-color: transparent;
+ box-shadow: none; }
+ .button.is-info.is-inverted {
+ background-color: #fff;
+ color: #209cee; }
+ .button.is-info.is-inverted:hover, .button.is-info.is-inverted.is-hovered {
+ background-color: #f2f2f2; }
+ .button.is-info.is-inverted[disabled], fieldset[disabled] .button.is-info.is-inverted {
+ background-color: #fff;
+ border-color: transparent;
+ box-shadow: none;
+ color: #209cee; }
+ .button.is-info.is-loading::after {
+ border-color: transparent transparent #fff #fff !important; }
+ .button.is-info.is-outlined {
+ background-color: transparent;
+ border-color: #209cee;
+ color: #209cee; }
+ .button.is-info.is-outlined:hover, .button.is-info.is-outlined.is-hovered, .button.is-info.is-outlined:focus, .button.is-info.is-outlined.is-focused {
+ background-color: #209cee;
+ border-color: #209cee;
+ color: #fff; }
+ .button.is-info.is-outlined.is-loading::after {
+ border-color: transparent transparent #209cee #209cee !important; }
+ .button.is-info.is-outlined.is-loading:hover::after, .button.is-info.is-outlined.is-loading.is-hovered::after, .button.is-info.is-outlined.is-loading:focus::after, .button.is-info.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #fff #fff !important; }
+ .button.is-info.is-outlined[disabled], fieldset[disabled] .button.is-info.is-outlined {
+ background-color: transparent;
+ border-color: #209cee;
+ box-shadow: none;
+ color: #209cee; }
+ .button.is-info.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ color: #fff; }
+ .button.is-info.is-inverted.is-outlined:hover, .button.is-info.is-inverted.is-outlined.is-hovered, .button.is-info.is-inverted.is-outlined:focus, .button.is-info.is-inverted.is-outlined.is-focused {
+ background-color: #fff;
+ color: #209cee; }
+ .button.is-info.is-inverted.is-outlined.is-loading:hover::after, .button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-info.is-inverted.is-outlined.is-loading:focus::after, .button.is-info.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #209cee #209cee !important; }
+ .button.is-info.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-info.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ box-shadow: none;
+ color: #fff; }
+ .button.is-success {
+ background-color: #22c35b;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-success:hover, .button.is-success.is-hovered {
+ background-color: #20b856;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-success:focus, .button.is-success.is-focused {
+ border-color: transparent;
+ color: #fff; }
+ .button.is-success:focus:not(:active), .button.is-success.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(34, 195, 91, 0.25); }
+ .button.is-success:active, .button.is-success.is-active {
+ background-color: #1ead51;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-success[disabled], fieldset[disabled] .button.is-success {
+ background-color: #22c35b;
+ border-color: transparent;
+ box-shadow: none; }
+ .button.is-success.is-inverted {
+ background-color: #fff;
+ color: #22c35b; }
+ .button.is-success.is-inverted:hover, .button.is-success.is-inverted.is-hovered {
+ background-color: #f2f2f2; }
+ .button.is-success.is-inverted[disabled], fieldset[disabled] .button.is-success.is-inverted {
+ background-color: #fff;
+ border-color: transparent;
+ box-shadow: none;
+ color: #22c35b; }
+ .button.is-success.is-loading::after {
+ border-color: transparent transparent #fff #fff !important; }
+ .button.is-success.is-outlined {
+ background-color: transparent;
+ border-color: #22c35b;
+ color: #22c35b; }
+ .button.is-success.is-outlined:hover, .button.is-success.is-outlined.is-hovered, .button.is-success.is-outlined:focus, .button.is-success.is-outlined.is-focused {
+ background-color: #22c35b;
+ border-color: #22c35b;
+ color: #fff; }
+ .button.is-success.is-outlined.is-loading::after {
+ border-color: transparent transparent #22c35b #22c35b !important; }
+ .button.is-success.is-outlined.is-loading:hover::after, .button.is-success.is-outlined.is-loading.is-hovered::after, .button.is-success.is-outlined.is-loading:focus::after, .button.is-success.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #fff #fff !important; }
+ .button.is-success.is-outlined[disabled], fieldset[disabled] .button.is-success.is-outlined {
+ background-color: transparent;
+ border-color: #22c35b;
+ box-shadow: none;
+ color: #22c35b; }
+ .button.is-success.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ color: #fff; }
+ .button.is-success.is-inverted.is-outlined:hover, .button.is-success.is-inverted.is-outlined.is-hovered, .button.is-success.is-inverted.is-outlined:focus, .button.is-success.is-inverted.is-outlined.is-focused {
+ background-color: #fff;
+ color: #22c35b; }
+ .button.is-success.is-inverted.is-outlined.is-loading:hover::after, .button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-success.is-inverted.is-outlined.is-loading:focus::after, .button.is-success.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #22c35b #22c35b !important; }
+ .button.is-success.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-success.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ box-shadow: none;
+ color: #fff; }
+ .button.is-warning {
+ background-color: #ffdd57;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7); }
+ .button.is-warning:hover, .button.is-warning.is-hovered {
+ background-color: #ffda4a;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7); }
+ .button.is-warning:focus, .button.is-warning.is-focused {
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7); }
+ .button.is-warning:focus:not(:active), .button.is-warning.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }
+ .button.is-warning:active, .button.is-warning.is-active {
+ background-color: #ffd83e;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7); }
+ .button.is-warning[disabled], fieldset[disabled] .button.is-warning {
+ background-color: #ffdd57;
+ border-color: transparent;
+ box-shadow: none; }
+ .button.is-warning.is-inverted {
+ background-color: rgba(0, 0, 0, 0.7);
+ color: #ffdd57; }
+ .button.is-warning.is-inverted:hover, .button.is-warning.is-inverted.is-hovered {
+ background-color: rgba(0, 0, 0, 0.7); }
+ .button.is-warning.is-inverted[disabled], fieldset[disabled] .button.is-warning.is-inverted {
+ background-color: rgba(0, 0, 0, 0.7);
+ border-color: transparent;
+ box-shadow: none;
+ color: #ffdd57; }
+ .button.is-warning.is-loading::after {
+ border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; }
+ .button.is-warning.is-outlined {
+ background-color: transparent;
+ border-color: #ffdd57;
+ color: #ffdd57; }
+ .button.is-warning.is-outlined:hover, .button.is-warning.is-outlined.is-hovered, .button.is-warning.is-outlined:focus, .button.is-warning.is-outlined.is-focused {
+ background-color: #ffdd57;
+ border-color: #ffdd57;
+ color: rgba(0, 0, 0, 0.7); }
+ .button.is-warning.is-outlined.is-loading::after {
+ border-color: transparent transparent #ffdd57 #ffdd57 !important; }
+ .button.is-warning.is-outlined.is-loading:hover::after, .button.is-warning.is-outlined.is-loading.is-hovered::after, .button.is-warning.is-outlined.is-loading:focus::after, .button.is-warning.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; }
+ .button.is-warning.is-outlined[disabled], fieldset[disabled] .button.is-warning.is-outlined {
+ background-color: transparent;
+ border-color: #ffdd57;
+ box-shadow: none;
+ color: #ffdd57; }
+ .button.is-warning.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: rgba(0, 0, 0, 0.7);
+ color: rgba(0, 0, 0, 0.7); }
+ .button.is-warning.is-inverted.is-outlined:hover, .button.is-warning.is-inverted.is-outlined.is-hovered, .button.is-warning.is-inverted.is-outlined:focus, .button.is-warning.is-inverted.is-outlined.is-focused {
+ background-color: rgba(0, 0, 0, 0.7);
+ color: #ffdd57; }
+ .button.is-warning.is-inverted.is-outlined.is-loading:hover::after, .button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-warning.is-inverted.is-outlined.is-loading:focus::after, .button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #ffdd57 #ffdd57 !important; }
+ .button.is-warning.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-warning.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: rgba(0, 0, 0, 0.7);
+ box-shadow: none;
+ color: rgba(0, 0, 0, 0.7); }
+ .button.is-danger {
+ background-color: #da0b00;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-danger:hover, .button.is-danger.is-hovered {
+ background-color: #cd0a00;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-danger:focus, .button.is-danger.is-focused {
+ border-color: transparent;
+ color: #fff; }
+ .button.is-danger:focus:not(:active), .button.is-danger.is-focused:not(:active) {
+ box-shadow: 0 0 0 0.125em rgba(218, 11, 0, 0.25); }
+ .button.is-danger:active, .button.is-danger.is-active {
+ background-color: #c10a00;
+ border-color: transparent;
+ color: #fff; }
+ .button.is-danger[disabled], fieldset[disabled] .button.is-danger {
+ background-color: #da0b00;
+ border-color: transparent;
+ box-shadow: none; }
+ .button.is-danger.is-inverted {
+ background-color: #fff;
+ color: #da0b00; }
+ .button.is-danger.is-inverted:hover, .button.is-danger.is-inverted.is-hovered {
+ background-color: #f2f2f2; }
+ .button.is-danger.is-inverted[disabled], fieldset[disabled] .button.is-danger.is-inverted {
+ background-color: #fff;
+ border-color: transparent;
+ box-shadow: none;
+ color: #da0b00; }
+ .button.is-danger.is-loading::after {
+ border-color: transparent transparent #fff #fff !important; }
+ .button.is-danger.is-outlined {
+ background-color: transparent;
+ border-color: #da0b00;
+ color: #da0b00; }
+ .button.is-danger.is-outlined:hover, .button.is-danger.is-outlined.is-hovered, .button.is-danger.is-outlined:focus, .button.is-danger.is-outlined.is-focused {
+ background-color: #da0b00;
+ border-color: #da0b00;
+ color: #fff; }
+ .button.is-danger.is-outlined.is-loading::after {
+ border-color: transparent transparent #da0b00 #da0b00 !important; }
+ .button.is-danger.is-outlined.is-loading:hover::after, .button.is-danger.is-outlined.is-loading.is-hovered::after, .button.is-danger.is-outlined.is-loading:focus::after, .button.is-danger.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #fff #fff !important; }
+ .button.is-danger.is-outlined[disabled], fieldset[disabled] .button.is-danger.is-outlined {
+ background-color: transparent;
+ border-color: #da0b00;
+ box-shadow: none;
+ color: #da0b00; }
+ .button.is-danger.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ color: #fff; }
+ .button.is-danger.is-inverted.is-outlined:hover, .button.is-danger.is-inverted.is-outlined.is-hovered, .button.is-danger.is-inverted.is-outlined:focus, .button.is-danger.is-inverted.is-outlined.is-focused {
+ background-color: #fff;
+ color: #da0b00; }
+ .button.is-danger.is-inverted.is-outlined.is-loading:hover::after, .button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-danger.is-inverted.is-outlined.is-loading:focus::after, .button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after {
+ border-color: transparent transparent #da0b00 #da0b00 !important; }
+ .button.is-danger.is-inverted.is-outlined[disabled], fieldset[disabled] .button.is-danger.is-inverted.is-outlined {
+ background-color: transparent;
+ border-color: #fff;
+ box-shadow: none;
+ color: #fff; }
+ .button.is-small, #documenter .docs-sidebar form.docs-search > input.button {
+ border-radius: 2px;
+ font-size: 0.75rem; }
+ .button.is-normal {
+ font-size: 1rem; }
+ .button.is-medium {
+ font-size: 1.25rem; }
+ .button.is-large {
+ font-size: 1.5rem; }
+ .button[disabled], fieldset[disabled] .button {
+ background-color: white;
+ border-color: #dbdbdb;
+ box-shadow: none;
+ opacity: 0.5; }
+ .button.is-fullwidth {
+ display: flex;
+ width: 100%; }
+ .button.is-loading {
+ color: transparent !important;
+ pointer-events: none; }
+ .button.is-loading::after {
+ position: absolute;
+ left: calc(50% - (1em / 2));
+ top: calc(50% - (1em / 2));
+ position: absolute !important; }
+ .button.is-static {
+ background-color: whitesmoke;
+ border-color: #dbdbdb;
+ color: #6b6b6b;
+ box-shadow: none;
+ pointer-events: none; }
+ .button.is-rounded, #documenter .docs-sidebar form.docs-search > input.button {
+ border-radius: 290486px;
+ padding-left: 1em;
+ padding-right: 1em; }
+
+.buttons {
+ align-items: center;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: flex-start; }
+ .buttons .button {
+ margin-bottom: 0.5rem; }
+ .buttons .button:not(:last-child):not(.is-fullwidth) {
+ margin-right: 0.5rem; }
+ .buttons:last-child {
+ margin-bottom: -0.5rem; }
+ .buttons:not(:last-child) {
+ margin-bottom: 1rem; }
+ .buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large) {
+ border-radius: 2px;
+ font-size: 0.75rem; }
+ .buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large) {
+ font-size: 1.25rem; }
+ .buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium) {
+ font-size: 1.5rem; }
+ .buttons.has-addons .button:not(:first-child) {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0; }
+ .buttons.has-addons .button:not(:last-child) {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0;
+ margin-right: -1px; }
+ .buttons.has-addons .button:last-child {
+ margin-right: 0; }
+ .buttons.has-addons .button:hover, .buttons.has-addons .button.is-hovered {
+ z-index: 2; }
+ .buttons.has-addons .button:focus, .buttons.has-addons .button.is-focused, .buttons.has-addons .button:active, .buttons.has-addons .button.is-active, .buttons.has-addons .button.is-selected {
+ z-index: 3; }
+ .buttons.has-addons .button:focus:hover, .buttons.has-addons .button.is-focused:hover, .buttons.has-addons .button:active:hover, .buttons.has-addons .button.is-active:hover, .buttons.has-addons .button.is-selected:hover {
+ z-index: 4; }
+ .buttons.has-addons .button.is-expanded {
+ flex-grow: 1;
+ flex-shrink: 1; }
+ .buttons.is-centered {
+ justify-content: center; }
+ .buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth) {
+ margin-left: 0.25rem;
+ margin-right: 0.25rem; }
+ .buttons.is-right {
+ justify-content: flex-end; }
+ .buttons.is-right:not(.has-addons) .button:not(.is-fullwidth) {
+ margin-left: 0.25rem;
+ margin-right: 0.25rem; }
+
+.container {
+ flex-grow: 1;
+ margin: 0 auto;
+ position: relative;
+ width: auto; }
+ @media screen and (min-width: 1056px) {
+ .container {
+ max-width: 992px; }
+ .container.is-fluid {
+ margin-left: 32px;
+ margin-right: 32px;
+ max-width: none; } }
+ @media screen and (max-width: 1215px) {
+ .container.is-widescreen {
+ max-width: 1152px; } }
+ @media screen and (max-width: 1407px) {
+ .container.is-fullhd {
+ max-width: 1344px; } }
+ @media screen and (min-width: 1216px) {
+ .container {
+ max-width: 1152px; } }
+ @media screen and (min-width: 1408px) {
+ .container {
+ max-width: 1344px; } }
+.content li + li {
+ margin-top: 0.25em; }
+
+.content p:not(:last-child),
+.content dl:not(:last-child),
+.content ol:not(:last-child),
+.content ul:not(:last-child),
+.content blockquote:not(:last-child),
+.content pre:not(:last-child),
+.content table:not(:last-child) {
+ margin-bottom: 1em; }
+
+.content h1,
+.content h2,
+.content h3,
+.content h4,
+.content h5,
+.content h6 {
+ color: #222222;
+ font-weight: 600;
+ line-height: 1.125; }
+
+.content h1 {
+ font-size: 2em;
+ margin-bottom: 0.5em; }
+ .content h1:not(:first-child) {
+ margin-top: 1em; }
+
+.content h2 {
+ font-size: 1.75em;
+ margin-bottom: 0.5714em; }
+ .content h2:not(:first-child) {
+ margin-top: 1.1428em; }
+
+.content h3 {
+ font-size: 1.5em;
+ margin-bottom: 0.6666em; }
+ .content h3:not(:first-child) {
+ margin-top: 1.3333em; }
+
+.content h4 {
+ font-size: 1.25em;
+ margin-bottom: 0.8em; }
+
+.content h5 {
+ font-size: 1.125em;
+ margin-bottom: 0.8888em; }
+
+.content h6 {
+ font-size: 1em;
+ margin-bottom: 1em; }
+
+.content blockquote {
+ background-color: whitesmoke;
+ border-left: 5px solid #dbdbdb;
+ padding: 1.25em 1.5em; }
+
+.content ol {
+ list-style-position: outside;
+ margin-left: 2em;
+ margin-top: 1em; }
+ .content ol:not([type]) {
+ list-style-type: decimal; }
+ .content ol.is-lower-alpha:not([type]) {
+ list-style-type: lower-alpha; }
+ .content ol.is-lower-roman:not([type]) {
+ list-style-type: lower-roman; }
+ .content ol.is-upper-alpha:not([type]) {
+ list-style-type: upper-alpha; }
+ .content ol.is-upper-roman:not([type]) {
+ list-style-type: upper-roman; }
+
+.content ul {
+ list-style: disc outside;
+ margin-left: 2em;
+ margin-top: 1em; }
+ .content ul ul {
+ list-style-type: circle;
+ margin-top: 0.5em; }
+ .content ul ul ul {
+ list-style-type: square; }
+
+.content dd {
+ margin-left: 2em; }
+
+.content figure {
+ margin-left: 2em;
+ margin-right: 2em;
+ text-align: center; }
+ .content figure:not(:first-child) {
+ margin-top: 2em; }
+ .content figure:not(:last-child) {
+ margin-bottom: 2em; }
+ .content figure img {
+ display: inline-block; }
+ .content figure figcaption {
+ font-style: italic; }
+
+.content pre {
+ -webkit-overflow-scrolling: touch;
+ overflow-x: auto;
+ padding: 0;
+ white-space: pre;
+ word-wrap: normal; }
+
+.content sup,
+.content sub {
+ font-size: 75%; }
+
+.content table {
+ width: 100%; }
+ .content table td,
+ .content table th {
+ border: 1px solid #dbdbdb;
+ border-width: 0 0 1px;
+ padding: 0.5em 0.75em;
+ vertical-align: top; }
+ .content table th {
+ color: #222222; }
+ .content table th:not([align]) {
+ text-align: left; }
+ .content table thead td,
+ .content table thead th {
+ border-width: 0 0 2px;
+ color: #222222; }
+ .content table tfoot td,
+ .content table tfoot th {
+ border-width: 2px 0 0;
+ color: #222222; }
+ .content table tbody tr:last-child td,
+ .content table tbody tr:last-child th {
+ border-bottom-width: 0; }
+
+.content .tabs li + li {
+ margin-top: 0; }
+
+.content.is-small, #documenter .docs-sidebar form.docs-search > input.content {
+ font-size: 0.75rem; }
+
+.content.is-medium {
+ font-size: 1.25rem; }
+
+.content.is-large {
+ font-size: 1.5rem; }
+
+.icon {
+ align-items: center;
+ display: inline-flex;
+ justify-content: center;
+ height: 1.5rem;
+ width: 1.5rem; }
+ .icon.is-small, #documenter .docs-sidebar form.docs-search > input.icon {
+ height: 1rem;
+ width: 1rem; }
+ .icon.is-medium {
+ height: 2rem;
+ width: 2rem; }
+ .icon.is-large {
+ height: 3rem;
+ width: 3rem; }
+
+.image, #documenter .docs-sidebar .docs-logo > img {
+ display: block;
+ position: relative; }
+ .image img, #documenter .docs-sidebar .docs-logo > img img {
+ display: block;
+ height: auto;
+ width: 100%; }
+ .image img.is-rounded, #documenter .docs-sidebar .docs-logo > img img.is-rounded {
+ border-radius: 290486px; }
+ .image.is-square img, #documenter .docs-sidebar .docs-logo > img.is-square img,
+ .image.is-square .has-ratio,
+ #documenter .docs-sidebar .docs-logo > img.is-square .has-ratio, .image.is-1by1 img, #documenter .docs-sidebar .docs-logo > img.is-1by1 img,
+ .image.is-1by1 .has-ratio,
+ #documenter .docs-sidebar .docs-logo > img.is-1by1 .has-ratio, .image.is-5by4 img, #documenter .docs-sidebar .docs-logo > img.is-5by4 img,
+ .image.is-5by4 .has-ratio,
+ #documenter .docs-sidebar .docs-logo > img.is-5by4 .has-ratio, .image.is-4by3 img, #documenter .docs-sidebar .docs-logo > img.is-4by3 img,
+ .image.is-4by3 .has-ratio,
+ #documenter .docs-sidebar .docs-logo > img.is-4by3 .has-ratio, .image.is-3by2 img, #documenter .docs-sidebar .docs-logo > img.is-3by2 img,
+ .image.is-3by2 .has-ratio,
+ #documenter .docs-sidebar .docs-logo > img.is-3by2 .has-ratio, .image.is-5by3 img, #documenter .docs-sidebar .docs-logo > img.is-5by3 img,
+ .image.is-5by3 .has-ratio,
+ #documenter .docs-sidebar .docs-logo > img.is-5by3 .has-ratio, .image.is-16by9 img, #documenter .docs-sidebar .docs-logo > img.is-16by9 img,
+ .image.is-16by9 .has-ratio,
+ #documenter .docs-sidebar .docs-logo > img.is-16by9 .has-ratio, .image.is-2by1 img, #documenter .docs-sidebar .docs-logo > img.is-2by1 img,
+ .image.is-2by1 .has-ratio,
+ #documenter .docs-sidebar .docs-logo > img.is-2by1 .has-ratio, .image.is-3by1 img, #documenter .docs-sidebar .docs-logo > img.is-3by1 img,
+ .image.is-3by1 .has-ratio,
+ #documenter .docs-sidebar .docs-logo > img.is-3by1 .has-ratio, .image.is-4by5 img, #documenter .docs-sidebar .docs-logo > img.is-4by5 img,
+ .image.is-4by5 .has-ratio,
+ #documenter .docs-sidebar .docs-logo > img.is-4by5 .has-ratio, .image.is-3by4 img, #documenter .docs-sidebar .docs-logo > img.is-3by4 img,
+ .image.is-3by4 .has-ratio,
+ #documenter .docs-sidebar .docs-logo > img.is-3by4 .has-ratio, .image.is-2by3 img, #documenter .docs-sidebar .docs-logo > img.is-2by3 img,
+ .image.is-2by3 .has-ratio,
+ #documenter .docs-sidebar .docs-logo > img.is-2by3 .has-ratio, .image.is-3by5 img, #documenter .docs-sidebar .docs-logo > img.is-3by5 img,
+ .image.is-3by5 .has-ratio,
+ #documenter .docs-sidebar .docs-logo > img.is-3by5 .has-ratio, .image.is-9by16 img, #documenter .docs-sidebar .docs-logo > img.is-9by16 img,
+ .image.is-9by16 .has-ratio,
+ #documenter .docs-sidebar .docs-logo > img.is-9by16 .has-ratio, .image.is-1by2 img, #documenter .docs-sidebar .docs-logo > img.is-1by2 img,
+ .image.is-1by2 .has-ratio,
+ #documenter .docs-sidebar .docs-logo > img.is-1by2 .has-ratio, .image.is-1by3 img, #documenter .docs-sidebar .docs-logo > img.is-1by3 img,
+ .image.is-1by3 .has-ratio,
+ #documenter .docs-sidebar .docs-logo > img.is-1by3 .has-ratio {
+ height: 100%;
+ width: 100%; }
+ .image.is-square, #documenter .docs-sidebar .docs-logo > img.is-square, .image.is-1by1, #documenter .docs-sidebar .docs-logo > img.is-1by1 {
+ padding-top: 100%; }
+ .image.is-5by4, #documenter .docs-sidebar .docs-logo > img.is-5by4 {
+ padding-top: 80%; }
+ .image.is-4by3, #documenter .docs-sidebar .docs-logo > img.is-4by3 {
+ padding-top: 75%; }
+ .image.is-3by2, #documenter .docs-sidebar .docs-logo > img.is-3by2 {
+ padding-top: 66.6666%; }
+ .image.is-5by3, #documenter .docs-sidebar .docs-logo > img.is-5by3 {
+ padding-top: 60%; }
+ .image.is-16by9, #documenter .docs-sidebar .docs-logo > img.is-16by9 {
+ padding-top: 56.25%; }
+ .image.is-2by1, #documenter .docs-sidebar .docs-logo > img.is-2by1 {
+ padding-top: 50%; }
+ .image.is-3by1, #documenter .docs-sidebar .docs-logo > img.is-3by1 {
+ padding-top: 33.3333%; }
+ .image.is-4by5, #documenter .docs-sidebar .docs-logo > img.is-4by5 {
+ padding-top: 125%; }
+ .image.is-3by4, #documenter .docs-sidebar .docs-logo > img.is-3by4 {
+ padding-top: 133.3333%; }
+ .image.is-2by3, #documenter .docs-sidebar .docs-logo > img.is-2by3 {
+ padding-top: 150%; }
+ .image.is-3by5, #documenter .docs-sidebar .docs-logo > img.is-3by5 {
+ padding-top: 166.6666%; }
+ .image.is-9by16, #documenter .docs-sidebar .docs-logo > img.is-9by16 {
+ padding-top: 177.7777%; }
+ .image.is-1by2, #documenter .docs-sidebar .docs-logo > img.is-1by2 {
+ padding-top: 200%; }
+ .image.is-1by3, #documenter .docs-sidebar .docs-logo > img.is-1by3 {
+ padding-top: 300%; }
+ .image.is-16x16, #documenter .docs-sidebar .docs-logo > img.is-16x16 {
+ height: 16px;
+ width: 16px; }
+ .image.is-24x24, #documenter .docs-sidebar .docs-logo > img.is-24x24 {
+ height: 24px;
+ width: 24px; }
+ .image.is-32x32, #documenter .docs-sidebar .docs-logo > img.is-32x32 {
+ height: 32px;
+ width: 32px; }
+ .image.is-48x48, #documenter .docs-sidebar .docs-logo > img.is-48x48 {
+ height: 48px;
+ width: 48px; }
+ .image.is-64x64, #documenter .docs-sidebar .docs-logo > img.is-64x64 {
+ height: 64px;
+ width: 64px; }
+ .image.is-96x96, #documenter .docs-sidebar .docs-logo > img.is-96x96 {
+ height: 96px;
+ width: 96px; }
+ .image.is-128x128, #documenter .docs-sidebar .docs-logo > img.is-128x128 {
+ height: 128px;
+ width: 128px; }
+
+.notification {
+ background-color: whitesmoke;
+ border-radius: 4px;
+ padding: 1.25rem 2.5rem 1.25rem 1.5rem;
+ position: relative; }
+ .notification a:not(.button):not(.dropdown-item) {
+ color: currentColor;
+ text-decoration: underline; }
+ .notification strong {
+ color: currentColor; }
+ .notification code,
+ .notification pre {
+ background: white; }
+ .notification pre code {
+ background: transparent; }
+ .notification > .delete {
+ position: absolute;
+ right: 0.5rem;
+ top: 0.5rem; }
+ .notification .title,
+ .notification .subtitle,
+ .notification .content {
+ color: currentColor; }
+ .notification.is-white {
+ background-color: white;
+ color: #0a0a0a; }
+ .notification.is-black {
+ background-color: #0a0a0a;
+ color: white; }
+ .notification.is-light {
+ background-color: whitesmoke;
+ color: #363636; }
+ .notification.is-dark, .content kbd.notification {
+ background-color: #363636;
+ color: whitesmoke; }
+ .notification.is-primary, .docstring > section > a.notification.docs-sourcelink {
+ background-color: #4eb5de;
+ color: #fff; }
+ .notification.is-link {
+ background-color: #2e63b8;
+ color: #fff; }
+ .notification.is-info {
+ background-color: #209cee;
+ color: #fff; }
+ .notification.is-success {
+ background-color: #22c35b;
+ color: #fff; }
+ .notification.is-warning {
+ background-color: #ffdd57;
+ color: rgba(0, 0, 0, 0.7); }
+ .notification.is-danger {
+ background-color: #da0b00;
+ color: #fff; }
+
+.progress {
+ -moz-appearance: none;
+ -webkit-appearance: none;
+ border: none;
+ border-radius: 290486px;
+ display: block;
+ height: 1rem;
+ overflow: hidden;
+ padding: 0;
+ width: 100%; }
+ .progress::-webkit-progress-bar {
+ background-color: #dbdbdb; }
+ .progress::-webkit-progress-value {
+ background-color: #222222; }
+ .progress::-moz-progress-bar {
+ background-color: #222222; }
+ .progress::-ms-fill {
+ background-color: #222222;
+ border: none; }
+ .progress.is-white::-webkit-progress-value {
+ background-color: white; }
+ .progress.is-white::-moz-progress-bar {
+ background-color: white; }
+ .progress.is-white::-ms-fill {
+ background-color: white; }
+ .progress.is-white:indeterminate {
+ background-image: linear-gradient(to right, white 30%, #dbdbdb 30%); }
+ .progress.is-black::-webkit-progress-value {
+ background-color: #0a0a0a; }
+ .progress.is-black::-moz-progress-bar {
+ background-color: #0a0a0a; }
+ .progress.is-black::-ms-fill {
+ background-color: #0a0a0a; }
+ .progress.is-black:indeterminate {
+ background-image: linear-gradient(to right, #0a0a0a 30%, #dbdbdb 30%); }
+ .progress.is-light::-webkit-progress-value {
+ background-color: whitesmoke; }
+ .progress.is-light::-moz-progress-bar {
+ background-color: whitesmoke; }
+ .progress.is-light::-ms-fill {
+ background-color: whitesmoke; }
+ .progress.is-light:indeterminate {
+ background-image: linear-gradient(to right, whitesmoke 30%, #dbdbdb 30%); }
+ .progress.is-dark::-webkit-progress-value, .content kbd.progress::-webkit-progress-value {
+ background-color: #363636; }
+ .progress.is-dark::-moz-progress-bar, .content kbd.progress::-moz-progress-bar {
+ background-color: #363636; }
+ .progress.is-dark::-ms-fill, .content kbd.progress::-ms-fill {
+ background-color: #363636; }
+ .progress.is-dark:indeterminate, .content kbd.progress:indeterminate {
+ background-image: linear-gradient(to right, #363636 30%, #dbdbdb 30%); }
+ .progress.is-primary::-webkit-progress-value, .docstring > section > a.progress.docs-sourcelink::-webkit-progress-value {
+ background-color: #4eb5de; }
+ .progress.is-primary::-moz-progress-bar, .docstring > section > a.progress.docs-sourcelink::-moz-progress-bar {
+ background-color: #4eb5de; }
+ .progress.is-primary::-ms-fill, .docstring > section > a.progress.docs-sourcelink::-ms-fill {
+ background-color: #4eb5de; }
+ .progress.is-primary:indeterminate, .docstring > section > a.progress.docs-sourcelink:indeterminate {
+ background-image: linear-gradient(to right, #4eb5de 30%, #dbdbdb 30%); }
+ .progress.is-link::-webkit-progress-value {
+ background-color: #2e63b8; }
+ .progress.is-link::-moz-progress-bar {
+ background-color: #2e63b8; }
+ .progress.is-link::-ms-fill {
+ background-color: #2e63b8; }
+ .progress.is-link:indeterminate {
+ background-image: linear-gradient(to right, #2e63b8 30%, #dbdbdb 30%); }
+ .progress.is-info::-webkit-progress-value {
+ background-color: #209cee; }
+ .progress.is-info::-moz-progress-bar {
+ background-color: #209cee; }
+ .progress.is-info::-ms-fill {
+ background-color: #209cee; }
+ .progress.is-info:indeterminate {
+ background-image: linear-gradient(to right, #209cee 30%, #dbdbdb 30%); }
+ .progress.is-success::-webkit-progress-value {
+ background-color: #22c35b; }
+ .progress.is-success::-moz-progress-bar {
+ background-color: #22c35b; }
+ .progress.is-success::-ms-fill {
+ background-color: #22c35b; }
+ .progress.is-success:indeterminate {
+ background-image: linear-gradient(to right, #22c35b 30%, #dbdbdb 30%); }
+ .progress.is-warning::-webkit-progress-value {
+ background-color: #ffdd57; }
+ .progress.is-warning::-moz-progress-bar {
+ background-color: #ffdd57; }
+ .progress.is-warning::-ms-fill {
+ background-color: #ffdd57; }
+ .progress.is-warning:indeterminate {
+ background-image: linear-gradient(to right, #ffdd57 30%, #dbdbdb 30%); }
+ .progress.is-danger::-webkit-progress-value {
+ background-color: #da0b00; }
+ .progress.is-danger::-moz-progress-bar {
+ background-color: #da0b00; }
+ .progress.is-danger::-ms-fill {
+ background-color: #da0b00; }
+ .progress.is-danger:indeterminate {
+ background-image: linear-gradient(to right, #da0b00 30%, #dbdbdb 30%); }
+ .progress:indeterminate {
+ animation-duration: 1.5s;
+ animation-iteration-count: infinite;
+ animation-name: moveIndeterminate;
+ animation-timing-function: linear;
+ background-color: #dbdbdb;
+ background-image: linear-gradient(to right, #222222 30%, #dbdbdb 30%);
+ background-position: top left;
+ background-repeat: no-repeat;
+ background-size: 150% 150%; }
+ .progress:indeterminate::-webkit-progress-bar {
+ background-color: transparent; }
+ .progress:indeterminate::-moz-progress-bar {
+ background-color: transparent; }
+ .progress.is-small, #documenter .docs-sidebar form.docs-search > input.progress {
+ height: 0.75rem; }
+ .progress.is-medium {
+ height: 1.25rem; }
+ .progress.is-large {
+ height: 1.5rem; }
+
+@keyframes moveIndeterminate {
+ from {
+ background-position: 200% 0; }
+ to {
+ background-position: -200% 0; } }
+
+.table {
+ background-color: white;
+ color: #363636; }
+ .table td,
+ .table th {
+ border: 1px solid #dbdbdb;
+ border-width: 0 0 1px;
+ padding: 0.5em 0.75em;
+ vertical-align: top; }
+ .table td.is-white,
+ .table th.is-white {
+ background-color: white;
+ border-color: white;
+ color: #0a0a0a; }
+ .table td.is-black,
+ .table th.is-black {
+ background-color: #0a0a0a;
+ border-color: #0a0a0a;
+ color: white; }
+ .table td.is-light,
+ .table th.is-light {
+ background-color: whitesmoke;
+ border-color: whitesmoke;
+ color: #363636; }
+ .table td.is-dark,
+ .table th.is-dark {
+ background-color: #363636;
+ border-color: #363636;
+ color: whitesmoke; }
+ .table td.is-primary,
+ .table th.is-primary {
+ background-color: #4eb5de;
+ border-color: #4eb5de;
+ color: #fff; }
+ .table td.is-link,
+ .table th.is-link {
+ background-color: #2e63b8;
+ border-color: #2e63b8;
+ color: #fff; }
+ .table td.is-info,
+ .table th.is-info {
+ background-color: #209cee;
+ border-color: #209cee;
+ color: #fff; }
+ .table td.is-success,
+ .table th.is-success {
+ background-color: #22c35b;
+ border-color: #22c35b;
+ color: #fff; }
+ .table td.is-warning,
+ .table th.is-warning {
+ background-color: #ffdd57;
+ border-color: #ffdd57;
+ color: rgba(0, 0, 0, 0.7); }
+ .table td.is-danger,
+ .table th.is-danger {
+ background-color: #da0b00;
+ border-color: #da0b00;
+ color: #fff; }
+ .table td.is-narrow,
+ .table th.is-narrow {
+ white-space: nowrap;
+ width: 1%; }
+ .table td.is-selected,
+ .table th.is-selected {
+ background-color: #4eb5de;
+ color: #fff; }
+ .table td.is-selected a,
+ .table td.is-selected strong,
+ .table th.is-selected a,
+ .table th.is-selected strong {
+ color: currentColor; }
+ .table th {
+ color: #222222; }
+ .table th:not([align]) {
+ text-align: left; }
+ .table tr.is-selected {
+ background-color: #4eb5de;
+ color: #fff; }
+ .table tr.is-selected a,
+ .table tr.is-selected strong {
+ color: currentColor; }
+ .table tr.is-selected td,
+ .table tr.is-selected th {
+ border-color: #fff;
+ color: currentColor; }
+ .table thead {
+ background-color: transparent; }
+ .table thead td,
+ .table thead th {
+ border-width: 0 0 2px;
+ color: #222222; }
+ .table tfoot {
+ background-color: transparent; }
+ .table tfoot td,
+ .table tfoot th {
+ border-width: 2px 0 0;
+ color: #222222; }
+ .table tbody {
+ background-color: transparent; }
+ .table tbody tr:last-child td,
+ .table tbody tr:last-child th {
+ border-bottom-width: 0; }
+ .table.is-bordered td,
+ .table.is-bordered th {
+ border-width: 1px; }
+ .table.is-bordered tr:last-child td,
+ .table.is-bordered tr:last-child th {
+ border-bottom-width: 1px; }
+ .table.is-fullwidth {
+ width: 100%; }
+ .table.is-hoverable tbody tr:not(.is-selected):hover {
+ background-color: #fafafa; }
+ .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover {
+ background-color: #fafafa; }
+ .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even) {
+ background-color: whitesmoke; }
+ .table.is-narrow td,
+ .table.is-narrow th {
+ padding: 0.25em 0.5em; }
+ .table.is-striped tbody tr:not(.is-selected):nth-child(even) {
+ background-color: #fafafa; }
+
+.table-container {
+ -webkit-overflow-scrolling: touch;
+ overflow: auto;
+ overflow-y: hidden;
+ max-width: 100%; }
+
+.tags {
+ align-items: center;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: flex-start; }
+ .tags .tag, .tags .content kbd, .content .tags kbd, .tags .docstring > section > a.docs-sourcelink {
+ margin-bottom: 0.5rem; }
+ .tags .tag:not(:last-child), .tags .content kbd:not(:last-child), .content .tags kbd:not(:last-child), .tags .docstring > section > a.docs-sourcelink:not(:last-child) {
+ margin-right: 0.5rem; }
+ .tags:last-child {
+ margin-bottom: -0.5rem; }
+ .tags:not(:last-child) {
+ margin-bottom: 1rem; }
+ .tags.are-medium .tag:not(.is-normal):not(.is-large), .tags.are-medium .content kbd:not(.is-normal):not(.is-large), .content .tags.are-medium kbd:not(.is-normal):not(.is-large), .tags.are-medium .docstring > section > a.docs-sourcelink:not(.is-normal):not(.is-large) {
+ font-size: 1rem; }
+ .tags.are-large .tag:not(.is-normal):not(.is-medium), .tags.are-large .content kbd:not(.is-normal):not(.is-medium), .content .tags.are-large kbd:not(.is-normal):not(.is-medium), .tags.are-large .docstring > section > a.docs-sourcelink:not(.is-normal):not(.is-medium) {
+ font-size: 1.25rem; }
+ .tags.is-centered {
+ justify-content: center; }
+ .tags.is-centered .tag, .tags.is-centered .content kbd, .content .tags.is-centered kbd, .tags.is-centered .docstring > section > a.docs-sourcelink {
+ margin-right: 0.25rem;
+ margin-left: 0.25rem; }
+ .tags.is-right {
+ justify-content: flex-end; }
+ .tags.is-right .tag:not(:first-child), .tags.is-right .content kbd:not(:first-child), .content .tags.is-right kbd:not(:first-child), .tags.is-right .docstring > section > a.docs-sourcelink:not(:first-child) {
+ margin-left: 0.5rem; }
+ .tags.is-right .tag:not(:last-child), .tags.is-right .content kbd:not(:last-child), .content .tags.is-right kbd:not(:last-child), .tags.is-right .docstring > section > a.docs-sourcelink:not(:last-child) {
+ margin-right: 0; }
+ .tags.has-addons .tag, .tags.has-addons .content kbd, .content .tags.has-addons kbd, .tags.has-addons .docstring > section > a.docs-sourcelink {
+ margin-right: 0; }
+ .tags.has-addons .tag:not(:first-child), .tags.has-addons .content kbd:not(:first-child), .content .tags.has-addons kbd:not(:first-child), .tags.has-addons .docstring > section > a.docs-sourcelink:not(:first-child) {
+ margin-left: 0;
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0; }
+ .tags.has-addons .tag:not(:last-child), .tags.has-addons .content kbd:not(:last-child), .content .tags.has-addons kbd:not(:last-child), .tags.has-addons .docstring > section > a.docs-sourcelink:not(:last-child) {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0; }
+
+.tag:not(body), .content kbd:not(body), .docstring > section > a.docs-sourcelink:not(body) {
+ align-items: center;
+ background-color: whitesmoke;
+ border-radius: 4px;
+ color: #222222;
+ display: inline-flex;
+ font-size: 0.75rem;
+ height: 2em;
+ justify-content: center;
+ line-height: 1.5;
+ padding-left: 0.75em;
+ padding-right: 0.75em;
+ white-space: nowrap; }
+ .tag:not(body) .delete, .content kbd:not(body) .delete, .docstring > section > a.docs-sourcelink:not(body) .delete {
+ margin-left: 0.25rem;
+ margin-right: -0.375rem; }
+ .tag.is-white:not(body), .content kbd.is-white:not(body), .docstring > section > a.docs-sourcelink.is-white:not(body) {
+ background-color: white;
+ color: #0a0a0a; }
+ .tag.is-black:not(body), .content kbd.is-black:not(body), .docstring > section > a.docs-sourcelink.is-black:not(body) {
+ background-color: #0a0a0a;
+ color: white; }
+ .tag.is-light:not(body), .content kbd.is-light:not(body), .docstring > section > a.docs-sourcelink.is-light:not(body) {
+ background-color: whitesmoke;
+ color: #363636; }
+ .tag.is-dark:not(body), .content kbd:not(body), .docstring > section > a.docs-sourcelink.is-dark:not(body), .content .docstring > section > kbd:not(body) {
+ background-color: #363636;
+ color: whitesmoke; }
+ .tag.is-primary:not(body), .content kbd.is-primary:not(body), .docstring > section > a.docs-sourcelink:not(body) {
+ background-color: #4eb5de;
+ color: #fff; }
+ .tag.is-link:not(body), .content kbd.is-link:not(body), .docstring > section > a.docs-sourcelink.is-link:not(body) {
+ background-color: #2e63b8;
+ color: #fff; }
+ .tag.is-info:not(body), .content kbd.is-info:not(body), .docstring > section > a.docs-sourcelink.is-info:not(body) {
+ background-color: #209cee;
+ color: #fff; }
+ .tag.is-success:not(body), .content kbd.is-success:not(body), .docstring > section > a.docs-sourcelink.is-success:not(body) {
+ background-color: #22c35b;
+ color: #fff; }
+ .tag.is-warning:not(body), .content kbd.is-warning:not(body), .docstring > section > a.docs-sourcelink.is-warning:not(body) {
+ background-color: #ffdd57;
+ color: rgba(0, 0, 0, 0.7); }
+ .tag.is-danger:not(body), .content kbd.is-danger:not(body), .docstring > section > a.docs-sourcelink.is-danger:not(body) {
+ background-color: #da0b00;
+ color: #fff; }
+ .tag.is-normal:not(body), .content kbd.is-normal:not(body), .docstring > section > a.docs-sourcelink.is-normal:not(body) {
+ font-size: 0.75rem; }
+ .tag.is-medium:not(body), .content kbd.is-medium:not(body), .docstring > section > a.docs-sourcelink.is-medium:not(body) {
+ font-size: 1rem; }
+ .tag.is-large:not(body), .content kbd.is-large:not(body), .docstring > section > a.docs-sourcelink.is-large:not(body) {
+ font-size: 1.25rem; }
+ .tag:not(body) .icon:first-child:not(:last-child), .content kbd:not(body) .icon:first-child:not(:last-child), .docstring > section > a.docs-sourcelink:not(body) .icon:first-child:not(:last-child) {
+ margin-left: -0.375em;
+ margin-right: 0.1875em; }
+ .tag:not(body) .icon:last-child:not(:first-child), .content kbd:not(body) .icon:last-child:not(:first-child), .docstring > section > a.docs-sourcelink:not(body) .icon:last-child:not(:first-child) {
+ margin-left: 0.1875em;
+ margin-right: -0.375em; }
+ .tag:not(body) .icon:first-child:last-child, .content kbd:not(body) .icon:first-child:last-child, .docstring > section > a.docs-sourcelink:not(body) .icon:first-child:last-child {
+ margin-left: -0.375em;
+ margin-right: -0.375em; }
+ .tag.is-delete:not(body), .content kbd.is-delete:not(body), .docstring > section > a.docs-sourcelink.is-delete:not(body) {
+ margin-left: 1px;
+ padding: 0;
+ position: relative;
+ width: 2em; }
+ .tag.is-delete:not(body)::before, .content kbd.is-delete:not(body)::before, .docstring > section > a.docs-sourcelink.is-delete:not(body)::before, .tag.is-delete:not(body)::after, .content kbd.is-delete:not(body)::after, .docstring > section > a.docs-sourcelink.is-delete:not(body)::after {
+ background-color: currentColor;
+ content: "";
+ display: block;
+ left: 50%;
+ position: absolute;
+ top: 50%;
+ transform: translateX(-50%) translateY(-50%) rotate(45deg);
+ transform-origin: center center; }
+ .tag.is-delete:not(body)::before, .content kbd.is-delete:not(body)::before, .docstring > section > a.docs-sourcelink.is-delete:not(body)::before {
+ height: 1px;
+ width: 50%; }
+ .tag.is-delete:not(body)::after, .content kbd.is-delete:not(body)::after, .docstring > section > a.docs-sourcelink.is-delete:not(body)::after {
+ height: 50%;
+ width: 1px; }
+ .tag.is-delete:not(body):hover, .content kbd.is-delete:not(body):hover, .docstring > section > a.docs-sourcelink.is-delete:not(body):hover, .tag.is-delete:not(body):focus, .content kbd.is-delete:not(body):focus, .docstring > section > a.docs-sourcelink.is-delete:not(body):focus {
+ background-color: #e8e8e8; }
+ .tag.is-delete:not(body):active, .content kbd.is-delete:not(body):active, .docstring > section > a.docs-sourcelink.is-delete:not(body):active {
+ background-color: #dbdbdb; }
+ .tag.is-rounded:not(body), #documenter .docs-sidebar form.docs-search > input:not(body), .content kbd.is-rounded:not(body), #documenter .docs-sidebar .content form.docs-search > input:not(body), .docstring > section > a.docs-sourcelink.is-rounded:not(body) {
+ border-radius: 290486px; }
+
+a.tag:hover, .docstring > section > a.docs-sourcelink:hover {
+ text-decoration: underline; }
+
+.title,
+.subtitle {
+ word-break: break-word; }
+ .title em,
+ .title span,
+ .subtitle em,
+ .subtitle span {
+ font-weight: inherit; }
+ .title sub,
+ .subtitle sub {
+ font-size: 0.75em; }
+ .title sup,
+ .subtitle sup {
+ font-size: 0.75em; }
+ .title .tag, .title .content kbd, .content .title kbd, .title .docstring > section > a.docs-sourcelink,
+ .subtitle .tag,
+ .subtitle .content kbd,
+ .content .subtitle kbd,
+ .subtitle .docstring > section > a.docs-sourcelink {
+ vertical-align: middle; }
+
+.title {
+ color: #363636;
+ font-size: 2rem;
+ font-weight: 600;
+ line-height: 1.125; }
+ .title strong {
+ color: inherit;
+ font-weight: inherit; }
+ .title + .highlight {
+ margin-top: -0.75rem; }
+ .title:not(.is-spaced) + .subtitle {
+ margin-top: -1.25rem; }
+ .title.is-1 {
+ font-size: 3rem; }
+ .title.is-2 {
+ font-size: 2.5rem; }
+ .title.is-3 {
+ font-size: 2rem; }
+ .title.is-4 {
+ font-size: 1.5rem; }
+ .title.is-5 {
+ font-size: 1.25rem; }
+ .title.is-6 {
+ font-size: 1rem; }
+ .title.is-7 {
+ font-size: 0.75rem; }
+
+.subtitle {
+ color: #4a4a4a;
+ font-size: 1.25rem;
+ font-weight: 400;
+ line-height: 1.25; }
+ .subtitle strong {
+ color: #363636;
+ font-weight: 600; }
+ .subtitle:not(.is-spaced) + .title {
+ margin-top: -1.25rem; }
+ .subtitle.is-1 {
+ font-size: 3rem; }
+ .subtitle.is-2 {
+ font-size: 2.5rem; }
+ .subtitle.is-3 {
+ font-size: 2rem; }
+ .subtitle.is-4 {
+ font-size: 1.5rem; }
+ .subtitle.is-5 {
+ font-size: 1.25rem; }
+ .subtitle.is-6 {
+ font-size: 1rem; }
+ .subtitle.is-7 {
+ font-size: 0.75rem; }
+
+.heading {
+ display: block;
+ font-size: 11px;
+ letter-spacing: 1px;
+ margin-bottom: 5px;
+ text-transform: uppercase; }
+
+.highlight {
+ font-weight: 400;
+ max-width: 100%;
+ overflow: hidden;
+ padding: 0; }
+ .highlight pre {
+ overflow: auto;
+ max-width: 100%; }
+
+.number {
+ align-items: center;
+ background-color: whitesmoke;
+ border-radius: 290486px;
+ display: inline-flex;
+ font-size: 1.25rem;
+ height: 2em;
+ justify-content: center;
+ margin-right: 1.5rem;
+ min-width: 2.5em;
+ padding: 0.25rem 0.5rem;
+ text-align: center;
+ vertical-align: top; }
+
+.select select, .textarea, .input, #documenter .docs-sidebar form.docs-search > input {
+ background-color: white;
+ border-color: #dbdbdb;
+ border-radius: 4px;
+ color: #363636; }
+ .select select::-moz-placeholder, .textarea::-moz-placeholder, .input::-moz-placeholder, #documenter .docs-sidebar form.docs-search > input::-moz-placeholder {
+ color: rgba(54, 54, 54, 0.3); }
+ .select select::-webkit-input-placeholder, .textarea::-webkit-input-placeholder, .input::-webkit-input-placeholder, #documenter .docs-sidebar form.docs-search > input::-webkit-input-placeholder {
+ color: rgba(54, 54, 54, 0.3); }
+ .select select:-moz-placeholder, .textarea:-moz-placeholder, .input:-moz-placeholder, #documenter .docs-sidebar form.docs-search > input:-moz-placeholder {
+ color: rgba(54, 54, 54, 0.3); }
+ .select select:-ms-input-placeholder, .textarea:-ms-input-placeholder, .input:-ms-input-placeholder, #documenter .docs-sidebar form.docs-search > input:-ms-input-placeholder {
+ color: rgba(54, 54, 54, 0.3); }
+ .select select:hover, .textarea:hover, .input:hover, #documenter .docs-sidebar form.docs-search > input:hover, .select select.is-hovered, .is-hovered.textarea, .is-hovered.input, #documenter .docs-sidebar form.docs-search > input.is-hovered {
+ border-color: #b5b5b5; }
+ .select select:focus, .textarea:focus, .input:focus, #documenter .docs-sidebar form.docs-search > input:focus, .select select.is-focused, .is-focused.textarea, .is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .select select:active, .textarea:active, .input:active, #documenter .docs-sidebar form.docs-search > input:active, .select select.is-active, .is-active.textarea, .is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
+ border-color: #2e63b8;
+ box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); }
+ .select select[disabled], .textarea[disabled], .input[disabled], #documenter .docs-sidebar form.docs-search > input[disabled], fieldset[disabled] .select select, .select fieldset[disabled] select, fieldset[disabled] .textarea, fieldset[disabled] .input, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input {
+ background-color: whitesmoke;
+ border-color: whitesmoke;
+ box-shadow: none;
+ color: #6b6b6b; }
+ .select select[disabled]::-moz-placeholder, .textarea[disabled]::-moz-placeholder, .input[disabled]::-moz-placeholder, #documenter .docs-sidebar form.docs-search > input[disabled]::-moz-placeholder, fieldset[disabled] .select select::-moz-placeholder, .select fieldset[disabled] select::-moz-placeholder, fieldset[disabled] .textarea::-moz-placeholder, fieldset[disabled] .input::-moz-placeholder, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input::-moz-placeholder, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input::-moz-placeholder {
+ color: rgba(107, 107, 107, 0.3); }
+ .select select[disabled]::-webkit-input-placeholder, .textarea[disabled]::-webkit-input-placeholder, .input[disabled]::-webkit-input-placeholder, #documenter .docs-sidebar form.docs-search > input[disabled]::-webkit-input-placeholder, fieldset[disabled] .select select::-webkit-input-placeholder, .select fieldset[disabled] select::-webkit-input-placeholder, fieldset[disabled] .textarea::-webkit-input-placeholder, fieldset[disabled] .input::-webkit-input-placeholder, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input::-webkit-input-placeholder, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input::-webkit-input-placeholder {
+ color: rgba(107, 107, 107, 0.3); }
+ .select select[disabled]:-moz-placeholder, .textarea[disabled]:-moz-placeholder, .input[disabled]:-moz-placeholder, #documenter .docs-sidebar form.docs-search > input[disabled]:-moz-placeholder, fieldset[disabled] .select select:-moz-placeholder, .select fieldset[disabled] select:-moz-placeholder, fieldset[disabled] .textarea:-moz-placeholder, fieldset[disabled] .input:-moz-placeholder, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input:-moz-placeholder, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input:-moz-placeholder {
+ color: rgba(107, 107, 107, 0.3); }
+ .select select[disabled]:-ms-input-placeholder, .textarea[disabled]:-ms-input-placeholder, .input[disabled]:-ms-input-placeholder, #documenter .docs-sidebar form.docs-search > input[disabled]:-ms-input-placeholder, fieldset[disabled] .select select:-ms-input-placeholder, .select fieldset[disabled] select:-ms-input-placeholder, fieldset[disabled] .textarea:-ms-input-placeholder, fieldset[disabled] .input:-ms-input-placeholder, fieldset[disabled] #documenter .docs-sidebar form.docs-search > input:-ms-input-placeholder, #documenter .docs-sidebar fieldset[disabled] form.docs-search > input:-ms-input-placeholder {
+ color: rgba(107, 107, 107, 0.3); }
+
+.textarea, .input, #documenter .docs-sidebar form.docs-search > input {
+ box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
+ max-width: 100%;
+ width: 100%; }
+ .textarea[readonly], .input[readonly], #documenter .docs-sidebar form.docs-search > input[readonly] {
+ box-shadow: none; }
+ .is-white.textarea, .is-white.input, #documenter .docs-sidebar form.docs-search > input.is-white {
+ border-color: white; }
+ .is-white.textarea:focus, .is-white.input:focus, #documenter .docs-sidebar form.docs-search > input.is-white:focus, .is-white.is-focused.textarea, .is-white.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-white.textarea:active, .is-white.input:active, #documenter .docs-sidebar form.docs-search > input.is-white:active, .is-white.is-active.textarea, .is-white.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
+ box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
+ .is-black.textarea, .is-black.input, #documenter .docs-sidebar form.docs-search > input.is-black {
+ border-color: #0a0a0a; }
+ .is-black.textarea:focus, .is-black.input:focus, #documenter .docs-sidebar form.docs-search > input.is-black:focus, .is-black.is-focused.textarea, .is-black.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-black.textarea:active, .is-black.input:active, #documenter .docs-sidebar form.docs-search > input.is-black:active, .is-black.is-active.textarea, .is-black.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
+ box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
+ .is-light.textarea, .is-light.input, #documenter .docs-sidebar form.docs-search > input.is-light {
+ border-color: whitesmoke; }
+ .is-light.textarea:focus, .is-light.input:focus, #documenter .docs-sidebar form.docs-search > input.is-light:focus, .is-light.is-focused.textarea, .is-light.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-light.textarea:active, .is-light.input:active, #documenter .docs-sidebar form.docs-search > input.is-light:active, .is-light.is-active.textarea, .is-light.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
+ box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }
+ .is-dark.textarea, .content kbd.textarea, .is-dark.input, #documenter .docs-sidebar form.docs-search > input.is-dark, .content kbd.input {
+ border-color: #363636; }
+ .is-dark.textarea:focus, .content kbd.textarea:focus, .is-dark.input:focus, #documenter .docs-sidebar form.docs-search > input.is-dark:focus, .content kbd.input:focus, .is-dark.is-focused.textarea, .content kbd.is-focused.textarea, .is-dark.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .content kbd.is-focused.input, #documenter .docs-sidebar .content form.docs-search > input.is-focused, .is-dark.textarea:active, .content kbd.textarea:active, .is-dark.input:active, #documenter .docs-sidebar form.docs-search > input.is-dark:active, .content kbd.input:active, .is-dark.is-active.textarea, .content kbd.is-active.textarea, .is-dark.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active, .content kbd.is-active.input, #documenter .docs-sidebar .content form.docs-search > input.is-active {
+ box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }
+ .is-primary.textarea, .docstring > section > a.textarea.docs-sourcelink, .is-primary.input, #documenter .docs-sidebar form.docs-search > input.is-primary, .docstring > section > a.input.docs-sourcelink {
+ border-color: #4eb5de; }
+ .is-primary.textarea:focus, .docstring > section > a.textarea.docs-sourcelink:focus, .is-primary.input:focus, #documenter .docs-sidebar form.docs-search > input.is-primary:focus, .docstring > section > a.input.docs-sourcelink:focus, .is-primary.is-focused.textarea, .docstring > section > a.is-focused.textarea.docs-sourcelink, .is-primary.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .docstring > section > a.is-focused.input.docs-sourcelink, .is-primary.textarea:active, .docstring > section > a.textarea.docs-sourcelink:active, .is-primary.input:active, #documenter .docs-sidebar form.docs-search > input.is-primary:active, .docstring > section > a.input.docs-sourcelink:active, .is-primary.is-active.textarea, .docstring > section > a.is-active.textarea.docs-sourcelink, .is-primary.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active, .docstring > section > a.is-active.input.docs-sourcelink {
+ box-shadow: 0 0 0 0.125em rgba(78, 181, 222, 0.25); }
+ .is-link.textarea, .is-link.input, #documenter .docs-sidebar form.docs-search > input.is-link {
+ border-color: #2e63b8; }
+ .is-link.textarea:focus, .is-link.input:focus, #documenter .docs-sidebar form.docs-search > input.is-link:focus, .is-link.is-focused.textarea, .is-link.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-link.textarea:active, .is-link.input:active, #documenter .docs-sidebar form.docs-search > input.is-link:active, .is-link.is-active.textarea, .is-link.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
+ box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); }
+ .is-info.textarea, .is-info.input, #documenter .docs-sidebar form.docs-search > input.is-info {
+ border-color: #209cee; }
+ .is-info.textarea:focus, .is-info.input:focus, #documenter .docs-sidebar form.docs-search > input.is-info:focus, .is-info.is-focused.textarea, .is-info.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-info.textarea:active, .is-info.input:active, #documenter .docs-sidebar form.docs-search > input.is-info:active, .is-info.is-active.textarea, .is-info.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
+ box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25); }
+ .is-success.textarea, .is-success.input, #documenter .docs-sidebar form.docs-search > input.is-success {
+ border-color: #22c35b; }
+ .is-success.textarea:focus, .is-success.input:focus, #documenter .docs-sidebar form.docs-search > input.is-success:focus, .is-success.is-focused.textarea, .is-success.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-success.textarea:active, .is-success.input:active, #documenter .docs-sidebar form.docs-search > input.is-success:active, .is-success.is-active.textarea, .is-success.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
+ box-shadow: 0 0 0 0.125em rgba(34, 195, 91, 0.25); }
+ .is-warning.textarea, .is-warning.input, #documenter .docs-sidebar form.docs-search > input.is-warning {
+ border-color: #ffdd57; }
+ .is-warning.textarea:focus, .is-warning.input:focus, #documenter .docs-sidebar form.docs-search > input.is-warning:focus, .is-warning.is-focused.textarea, .is-warning.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-warning.textarea:active, .is-warning.input:active, #documenter .docs-sidebar form.docs-search > input.is-warning:active, .is-warning.is-active.textarea, .is-warning.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
+ box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }
+ .is-danger.textarea, .is-danger.input, #documenter .docs-sidebar form.docs-search > input.is-danger {
+ border-color: #da0b00; }
+ .is-danger.textarea:focus, .is-danger.input:focus, #documenter .docs-sidebar form.docs-search > input.is-danger:focus, .is-danger.is-focused.textarea, .is-danger.is-focused.input, #documenter .docs-sidebar form.docs-search > input.is-focused, .is-danger.textarea:active, .is-danger.input:active, #documenter .docs-sidebar form.docs-search > input.is-danger:active, .is-danger.is-active.textarea, .is-danger.is-active.input, #documenter .docs-sidebar form.docs-search > input.is-active {
+ box-shadow: 0 0 0 0.125em rgba(218, 11, 0, 0.25); }
+ .is-small.textarea, .is-small.input, #documenter .docs-sidebar form.docs-search > input {
+ border-radius: 2px;
+ font-size: 0.75rem; }
+ .is-medium.textarea, .is-medium.input, #documenter .docs-sidebar form.docs-search > input.is-medium {
+ font-size: 1.25rem; }
+ .is-large.textarea, .is-large.input, #documenter .docs-sidebar form.docs-search > input.is-large {
+ font-size: 1.5rem; }
+ .is-fullwidth.textarea, .is-fullwidth.input, #documenter .docs-sidebar form.docs-search > input.is-fullwidth {
+ display: block;
+ width: 100%; }
+ .is-inline.textarea, .is-inline.input, #documenter .docs-sidebar form.docs-search > input.is-inline {
+ display: inline;
+ width: auto; }
+
+.input.is-rounded, #documenter .docs-sidebar form.docs-search > input {
+ border-radius: 290486px;
+ padding-left: 1em;
+ padding-right: 1em; }
+
+.input.is-static, #documenter .docs-sidebar form.docs-search > input.is-static {
+ background-color: transparent;
+ border-color: transparent;
+ box-shadow: none;
+ padding-left: 0;
+ padding-right: 0; }
+
+.textarea {
+ display: block;
+ max-width: 100%;
+ min-width: 100%;
+ padding: 0.625em;
+ resize: vertical; }
+ .textarea:not([rows]) {
+ max-height: 600px;
+ min-height: 120px; }
+ .textarea[rows] {
+ height: initial; }
+ .textarea.has-fixed-size {
+ resize: none; }
+
+.radio, .checkbox {
+ cursor: pointer;
+ display: inline-block;
+ line-height: 1.25;
+ position: relative; }
+ .radio input, .checkbox input {
+ cursor: pointer; }
+ .radio:hover, .checkbox:hover {
+ color: #363636; }
+ .radio[disabled], .checkbox[disabled], fieldset[disabled] .radio, fieldset[disabled] .checkbox {
+ color: #6b6b6b;
+ cursor: not-allowed; }
+
+.radio + .radio {
+ margin-left: 0.5em; }
+
+.select {
+ display: inline-block;
+ max-width: 100%;
+ position: relative;
+ vertical-align: top; }
+ .select:not(.is-multiple) {
+ height: 2.25em; }
+ .select:not(.is-multiple):not(.is-loading)::after {
+ border-color: #2e63b8;
+ right: 1.125em;
+ z-index: 4; }
+ .select.is-rounded select, #documenter .docs-sidebar form.docs-search > input.select select {
+ border-radius: 290486px;
+ padding-left: 1em; }
+ .select select {
+ cursor: pointer;
+ display: block;
+ font-size: 1em;
+ max-width: 100%;
+ outline: none; }
+ .select select::-ms-expand {
+ display: none; }
+ .select select[disabled]:hover, fieldset[disabled] .select select:hover {
+ border-color: whitesmoke; }
+ .select select:not([multiple]) {
+ padding-right: 2.5em; }
+ .select select[multiple] {
+ height: auto;
+ padding: 0; }
+ .select select[multiple] option {
+ padding: 0.5em 1em; }
+ .select:not(.is-multiple):not(.is-loading):hover::after {
+ border-color: #363636; }
+ .select.is-white:not(:hover)::after {
+ border-color: white; }
+ .select.is-white select {
+ border-color: white; }
+ .select.is-white select:hover, .select.is-white select.is-hovered {
+ border-color: #f2f2f2; }
+ .select.is-white select:focus, .select.is-white select.is-focused, .select.is-white select:active, .select.is-white select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); }
+ .select.is-black:not(:hover)::after {
+ border-color: #0a0a0a; }
+ .select.is-black select {
+ border-color: #0a0a0a; }
+ .select.is-black select:hover, .select.is-black select.is-hovered {
+ border-color: black; }
+ .select.is-black select:focus, .select.is-black select.is-focused, .select.is-black select:active, .select.is-black select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); }
+ .select.is-light:not(:hover)::after {
+ border-color: whitesmoke; }
+ .select.is-light select {
+ border-color: whitesmoke; }
+ .select.is-light select:hover, .select.is-light select.is-hovered {
+ border-color: #e8e8e8; }
+ .select.is-light select:focus, .select.is-light select.is-focused, .select.is-light select:active, .select.is-light select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); }
+ .select.is-dark:not(:hover)::after, .content kbd.select:not(:hover)::after {
+ border-color: #363636; }
+ .select.is-dark select, .content kbd.select select {
+ border-color: #363636; }
+ .select.is-dark select:hover, .content kbd.select select:hover, .select.is-dark select.is-hovered, .content kbd.select select.is-hovered {
+ border-color: #292929; }
+ .select.is-dark select:focus, .content kbd.select select:focus, .select.is-dark select.is-focused, .content kbd.select select.is-focused, .select.is-dark select:active, .content kbd.select select:active, .select.is-dark select.is-active, .content kbd.select select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); }
+ .select.is-primary:not(:hover)::after, .docstring > section > a.select.docs-sourcelink:not(:hover)::after {
+ border-color: #4eb5de; }
+ .select.is-primary select, .docstring > section > a.select.docs-sourcelink select {
+ border-color: #4eb5de; }
+ .select.is-primary select:hover, .docstring > section > a.select.docs-sourcelink select:hover, .select.is-primary select.is-hovered, .docstring > section > a.select.docs-sourcelink select.is-hovered {
+ border-color: #39acda; }
+ .select.is-primary select:focus, .docstring > section > a.select.docs-sourcelink select:focus, .select.is-primary select.is-focused, .docstring > section > a.select.docs-sourcelink select.is-focused, .select.is-primary select:active, .docstring > section > a.select.docs-sourcelink select:active, .select.is-primary select.is-active, .docstring > section > a.select.docs-sourcelink select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(78, 181, 222, 0.25); }
+ .select.is-link:not(:hover)::after {
+ border-color: #2e63b8; }
+ .select.is-link select {
+ border-color: #2e63b8; }
+ .select.is-link select:hover, .select.is-link select.is-hovered {
+ border-color: #2958a4; }
+ .select.is-link select:focus, .select.is-link select.is-focused, .select.is-link select:active, .select.is-link select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(46, 99, 184, 0.25); }
+ .select.is-info:not(:hover)::after {
+ border-color: #209cee; }
+ .select.is-info select {
+ border-color: #209cee; }
+ .select.is-info select:hover, .select.is-info select.is-hovered {
+ border-color: #1190e3; }
+ .select.is-info select:focus, .select.is-info select.is-focused, .select.is-info select:active, .select.is-info select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25); }
+ .select.is-success:not(:hover)::after {
+ border-color: #22c35b; }
+ .select.is-success select {
+ border-color: #22c35b; }
+ .select.is-success select:hover, .select.is-success select.is-hovered {
+ border-color: #1ead51; }
+ .select.is-success select:focus, .select.is-success select.is-focused, .select.is-success select:active, .select.is-success select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(34, 195, 91, 0.25); }
+ .select.is-warning:not(:hover)::after {
+ border-color: #ffdd57; }
+ .select.is-warning select {
+ border-color: #ffdd57; }
+ .select.is-warning select:hover, .select.is-warning select.is-hovered {
+ border-color: #ffd83e; }
+ .select.is-warning select:focus, .select.is-warning select.is-focused, .select.is-warning select:active, .select.is-warning select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); }
+ .select.is-danger:not(:hover)::after {
+ border-color: #da0b00; }
+ .select.is-danger select {
+ border-color: #da0b00; }
+ .select.is-danger select:hover, .select.is-danger select.is-hovered {
+ border-color: #c10a00; }
+ .select.is-danger select:focus, .select.is-danger select.is-focused, .select.is-danger select:active, .select.is-danger select.is-active {
+ box-shadow: 0 0 0 0.125em rgba(218, 11, 0, 0.25); }
+ .select.is-small, #documenter .docs-sidebar form.docs-search > input.select {
+ border-radius: 2px;
+ font-size: 0.75rem; }
+ .select.is-medium {
+ font-size: 1.25rem; }
+ .select.is-large {
+ font-size: 1.5rem; }
+ .select.is-disabled::after {
+ border-color: #6b6b6b; }
+ .select.is-fullwidth {
+ width: 100%; }
+ .select.is-fullwidth select {
+ width: 100%; }
+ .select.is-loading::after {
+ margin-top: 0;
+ position: absolute;
+ right: 0.625em;
+ top: 0.625em;
+ transform: none; }
+ .select.is-loading.is-small:after, #documenter .docs-sidebar form.docs-search > input.is-loading:after {
+ font-size: 0.75rem; }
+ .select.is-loading.is-medium:after {
+ font-size: 1.25rem; }
+ .select.is-loading.is-large:after {
+ font-size: 1.5rem; }
+
+.file {
+ align-items: stretch;
+ display: flex;
+ justify-content: flex-start;
+ position: relative; }
+ .file.is-white .file-cta {
+ background-color: white;
+ border-color: transparent;
+ color: #0a0a0a; }
+ .file.is-white:hover .file-cta, .file.is-white.is-hovered .file-cta {
+ background-color: #f9f9f9;
+ border-color: transparent;
+ color: #0a0a0a; }
+ .file.is-white:focus .file-cta, .file.is-white.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(255, 255, 255, 0.25);
+ color: #0a0a0a; }
+ .file.is-white:active .file-cta, .file.is-white.is-active .file-cta {
+ background-color: #f2f2f2;
+ border-color: transparent;
+ color: #0a0a0a; }
+ .file.is-black .file-cta {
+ background-color: #0a0a0a;
+ border-color: transparent;
+ color: white; }
+ .file.is-black:hover .file-cta, .file.is-black.is-hovered .file-cta {
+ background-color: #040404;
+ border-color: transparent;
+ color: white; }
+ .file.is-black:focus .file-cta, .file.is-black.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(10, 10, 10, 0.25);
+ color: white; }
+ .file.is-black:active .file-cta, .file.is-black.is-active .file-cta {
+ background-color: black;
+ border-color: transparent;
+ color: white; }
+ .file.is-light .file-cta {
+ background-color: whitesmoke;
+ border-color: transparent;
+ color: #363636; }
+ .file.is-light:hover .file-cta, .file.is-light.is-hovered .file-cta {
+ background-color: #eeeeee;
+ border-color: transparent;
+ color: #363636; }
+ .file.is-light:focus .file-cta, .file.is-light.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(245, 245, 245, 0.25);
+ color: #363636; }
+ .file.is-light:active .file-cta, .file.is-light.is-active .file-cta {
+ background-color: #e8e8e8;
+ border-color: transparent;
+ color: #363636; }
+ .file.is-dark .file-cta, .content kbd.file .file-cta {
+ background-color: #363636;
+ border-color: transparent;
+ color: whitesmoke; }
+ .file.is-dark:hover .file-cta, .content kbd.file:hover .file-cta, .file.is-dark.is-hovered .file-cta, .content kbd.file.is-hovered .file-cta {
+ background-color: #2f2f2f;
+ border-color: transparent;
+ color: whitesmoke; }
+ .file.is-dark:focus .file-cta, .content kbd.file:focus .file-cta, .file.is-dark.is-focused .file-cta, .content kbd.file.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(54, 54, 54, 0.25);
+ color: whitesmoke; }
+ .file.is-dark:active .file-cta, .content kbd.file:active .file-cta, .file.is-dark.is-active .file-cta, .content kbd.file.is-active .file-cta {
+ background-color: #292929;
+ border-color: transparent;
+ color: whitesmoke; }
+ .file.is-primary .file-cta, .docstring > section > a.file.docs-sourcelink .file-cta {
+ background-color: #4eb5de;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-primary:hover .file-cta, .docstring > section > a.file.docs-sourcelink:hover .file-cta, .file.is-primary.is-hovered .file-cta, .docstring > section > a.file.is-hovered.docs-sourcelink .file-cta {
+ background-color: #43b1dc;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-primary:focus .file-cta, .docstring > section > a.file.docs-sourcelink:focus .file-cta, .file.is-primary.is-focused .file-cta, .docstring > section > a.file.is-focused.docs-sourcelink .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(78, 181, 222, 0.25);
+ color: #fff; }
+ .file.is-primary:active .file-cta, .docstring > section > a.file.docs-sourcelink:active .file-cta, .file.is-primary.is-active .file-cta, .docstring > section > a.file.is-active.docs-sourcelink .file-cta {
+ background-color: #39acda;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-link .file-cta {
+ background-color: #2e63b8;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-link:hover .file-cta, .file.is-link.is-hovered .file-cta {
+ background-color: #2b5eae;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-link:focus .file-cta, .file.is-link.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(46, 99, 184, 0.25);
+ color: #fff; }
+ .file.is-link:active .file-cta, .file.is-link.is-active .file-cta {
+ background-color: #2958a4;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-info .file-cta {
+ background-color: #209cee;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-info:hover .file-cta, .file.is-info.is-hovered .file-cta {
+ background-color: #1497ed;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-info:focus .file-cta, .file.is-info.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(32, 156, 238, 0.25);
+ color: #fff; }
+ .file.is-info:active .file-cta, .file.is-info.is-active .file-cta {
+ background-color: #1190e3;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-success .file-cta {
+ background-color: #22c35b;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-success:hover .file-cta, .file.is-success.is-hovered .file-cta {
+ background-color: #20b856;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-success:focus .file-cta, .file.is-success.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(34, 195, 91, 0.25);
+ color: #fff; }
+ .file.is-success:active .file-cta, .file.is-success.is-active .file-cta {
+ background-color: #1ead51;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-warning .file-cta {
+ background-color: #ffdd57;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7); }
+ .file.is-warning:hover .file-cta, .file.is-warning.is-hovered .file-cta {
+ background-color: #ffda4a;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7); }
+ .file.is-warning:focus .file-cta, .file.is-warning.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(255, 221, 87, 0.25);
+ color: rgba(0, 0, 0, 0.7); }
+ .file.is-warning:active .file-cta, .file.is-warning.is-active .file-cta {
+ background-color: #ffd83e;
+ border-color: transparent;
+ color: rgba(0, 0, 0, 0.7); }
+ .file.is-danger .file-cta {
+ background-color: #da0b00;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-danger:hover .file-cta, .file.is-danger.is-hovered .file-cta {
+ background-color: #cd0a00;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-danger:focus .file-cta, .file.is-danger.is-focused .file-cta {
+ border-color: transparent;
+ box-shadow: 0 0 0.5em rgba(218, 11, 0, 0.25);
+ color: #fff; }
+ .file.is-danger:active .file-cta, .file.is-danger.is-active .file-cta {
+ background-color: #c10a00;
+ border-color: transparent;
+ color: #fff; }
+ .file.is-small, #documenter .docs-sidebar form.docs-search > input.file {
+ font-size: 0.75rem; }
+ .file.is-medium {
+ font-size: 1.25rem; }
+ .file.is-medium .file-icon .fa {
+ font-size: 21px; }
+ .file.is-large {
+ font-size: 1.5rem; }
+ .file.is-large .file-icon .fa {
+ font-size: 28px; }
+ .file.has-name .file-cta {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0; }
+ .file.has-name .file-name {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0; }
+ .file.has-name.is-empty .file-cta {
+ border-radius: 4px; }
+ .file.has-name.is-empty .file-name {
+ display: none; }
+ .file.is-boxed .file-label {
+ flex-direction: column; }
+ .file.is-boxed .file-cta {
+ flex-direction: column;
+ height: auto;
+ padding: 1em 3em; }
+ .file.is-boxed .file-name {
+ border-width: 0 1px 1px; }
+ .file.is-boxed .file-icon {
+ height: 1.5em;
+ width: 1.5em; }
+ .file.is-boxed .file-icon .fa {
+ font-size: 21px; }
+ .file.is-boxed.is-small .file-icon .fa, #documenter .docs-sidebar form.docs-search > input.is-boxed .file-icon .fa {
+ font-size: 14px; }
+ .file.is-boxed.is-medium .file-icon .fa {
+ font-size: 28px; }
+ .file.is-boxed.is-large .file-icon .fa {
+ font-size: 35px; }
+ .file.is-boxed.has-name .file-cta {
+ border-radius: 4px 4px 0 0; }
+ .file.is-boxed.has-name .file-name {
+ border-radius: 0 0 4px 4px;
+ border-width: 0 1px 1px; }
+ .file.is-centered {
+ justify-content: center; }
+ .file.is-fullwidth .file-label {
+ width: 100%; }
+ .file.is-fullwidth .file-name {
+ flex-grow: 1;
+ max-width: none; }
+ .file.is-right {
+ justify-content: flex-end; }
+ .file.is-right .file-cta {
+ border-radius: 0 4px 4px 0; }
+ .file.is-right .file-name {
+ border-radius: 4px 0 0 4px;
+ border-width: 1px 0 1px 1px;
+ order: -1; }
+
+.file-label {
+ align-items: stretch;
+ display: flex;
+ cursor: pointer;
+ justify-content: flex-start;
+ overflow: hidden;
+ position: relative; }
+ .file-label:hover .file-cta {
+ background-color: #eeeeee;
+ color: #363636; }
+ .file-label:hover .file-name {
+ border-color: #d5d5d5; }
+ .file-label:active .file-cta {
+ background-color: #e8e8e8;
+ color: #363636; }
+ .file-label:active .file-name {
+ border-color: #cfcfcf; }
+
+.file-input {
+ height: 100%;
+ left: 0;
+ opacity: 0;
+ outline: none;
+ position: absolute;
+ top: 0;
+ width: 100%; }
+
+.file-cta,
+.file-name {
+ border-color: #dbdbdb;
+ border-radius: 4px;
+ font-size: 1em;
+ padding-left: 1em;
+ padding-right: 1em;
+ white-space: nowrap; }
+
+.file-cta {
+ background-color: whitesmoke;
+ color: #4a4a4a; }
+
+.file-name {
+ border-color: #dbdbdb;
+ border-style: solid;
+ border-width: 1px 1px 1px 0;
+ display: block;
+ max-width: 16em;
+ overflow: hidden;
+ text-align: left;
+ text-overflow: ellipsis; }
+
+.file-icon {
+ align-items: center;
+ display: flex;
+ height: 1em;
+ justify-content: center;
+ margin-right: 0.5em;
+ width: 1em; }
+ .file-icon .fa {
+ font-size: 14px; }
+
+.label {
+ color: #363636;
+ display: block;
+ font-size: 1rem;
+ font-weight: 700; }
+ .label:not(:last-child) {
+ margin-bottom: 0.5em; }
+ .label.is-small, #documenter .docs-sidebar form.docs-search > input.label {
+ font-size: 0.75rem; }
+ .label.is-medium {
+ font-size: 1.25rem; }
+ .label.is-large {
+ font-size: 1.5rem; }
+
+.help {
+ display: block;
+ font-size: 0.75rem;
+ margin-top: 0.25rem; }
+ .help.is-white {
+ color: white; }
+ .help.is-black {
+ color: #0a0a0a; }
+ .help.is-light {
+ color: whitesmoke; }
+ .help.is-dark, .content kbd.help {
+ color: #363636; }
+ .help.is-primary, .docstring > section > a.help.docs-sourcelink {
+ color: #4eb5de; }
+ .help.is-link {
+ color: #2e63b8; }
+ .help.is-info {
+ color: #209cee; }
+ .help.is-success {
+ color: #22c35b; }
+ .help.is-warning {
+ color: #ffdd57; }
+ .help.is-danger {
+ color: #da0b00; }
+
+.field:not(:last-child) {
+ margin-bottom: 0.75rem; }
+
+.field.has-addons {
+ display: flex;
+ justify-content: flex-start; }
+ .field.has-addons .control:not(:last-child) {
+ margin-right: -1px; }
+ .field.has-addons .control:not(:first-child):not(:last-child) .button,
+ .field.has-addons .control:not(:first-child):not(:last-child) .input,
+ .field.has-addons .control:not(:first-child):not(:last-child) #documenter .docs-sidebar form.docs-search > input,
+ #documenter .docs-sidebar .field.has-addons .control:not(:first-child):not(:last-child) form.docs-search > input,
+ .field.has-addons .control:not(:first-child):not(:last-child) .select select {
+ border-radius: 0; }
+ .field.has-addons .control:first-child:not(:only-child) .button,
+ .field.has-addons .control:first-child:not(:only-child) .input,
+ .field.has-addons .control:first-child:not(:only-child) #documenter .docs-sidebar form.docs-search > input,
+ #documenter .docs-sidebar .field.has-addons .control:first-child:not(:only-child) form.docs-search > input,
+ .field.has-addons .control:first-child:not(:only-child) .select select {
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0; }
+ .field.has-addons .control:last-child:not(:only-child) .button,
+ .field.has-addons .control:last-child:not(:only-child) .input,
+ .field.has-addons .control:last-child:not(:only-child) #documenter .docs-sidebar form.docs-search > input,
+ #documenter .docs-sidebar .field.has-addons .control:last-child:not(:only-child) form.docs-search > input,
+ .field.has-addons .control:last-child:not(:only-child) .select select {
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0; }
+ .field.has-addons .control .button:not([disabled]):hover, .field.has-addons .control .button.is-hovered:not([disabled]),
+ .field.has-addons .control .input:not([disabled]):hover,
+ .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):hover,
+ #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):hover,
+ .field.has-addons .control .input.is-hovered:not([disabled]),
+ .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-hovered:not([disabled]),
+ #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-hovered:not([disabled]),
+ .field.has-addons .control .select select:not([disabled]):hover,
+ .field.has-addons .control .select select.is-hovered:not([disabled]) {
+ z-index: 2; }
+ .field.has-addons .control .button:not([disabled]):focus, .field.has-addons .control .button.is-focused:not([disabled]), .field.has-addons .control .button:not([disabled]):active, .field.has-addons .control .button.is-active:not([disabled]),
+ .field.has-addons .control .input:not([disabled]):focus,
+ .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):focus,
+ #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):focus,
+ .field.has-addons .control .input.is-focused:not([disabled]),
+ .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-focused:not([disabled]),
+ #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-focused:not([disabled]),
+ .field.has-addons .control .input:not([disabled]):active,
+ .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):active,
+ #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):active,
+ .field.has-addons .control .input.is-active:not([disabled]),
+ .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-active:not([disabled]),
+ #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-active:not([disabled]),
+ .field.has-addons .control .select select:not([disabled]):focus,
+ .field.has-addons .control .select select.is-focused:not([disabled]),
+ .field.has-addons .control .select select:not([disabled]):active,
+ .field.has-addons .control .select select.is-active:not([disabled]) {
+ z-index: 3; }
+ .field.has-addons .control .button:not([disabled]):focus:hover, .field.has-addons .control .button.is-focused:not([disabled]):hover, .field.has-addons .control .button:not([disabled]):active:hover, .field.has-addons .control .button.is-active:not([disabled]):hover,
+ .field.has-addons .control .input:not([disabled]):focus:hover,
+ .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):focus:hover,
+ #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):focus:hover,
+ .field.has-addons .control .input.is-focused:not([disabled]):hover,
+ .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-focused:not([disabled]):hover,
+ #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-focused:not([disabled]):hover,
+ .field.has-addons .control .input:not([disabled]):active:hover,
+ .field.has-addons .control #documenter .docs-sidebar form.docs-search > input:not([disabled]):active:hover,
+ #documenter .docs-sidebar .field.has-addons .control form.docs-search > input:not([disabled]):active:hover,
+ .field.has-addons .control .input.is-active:not([disabled]):hover,
+ .field.has-addons .control #documenter .docs-sidebar form.docs-search > input.is-active:not([disabled]):hover,
+ #documenter .docs-sidebar .field.has-addons .control form.docs-search > input.is-active:not([disabled]):hover,
+ .field.has-addons .control .select select:not([disabled]):focus:hover,
+ .field.has-addons .control .select select.is-focused:not([disabled]):hover,
+ .field.has-addons .control .select select:not([disabled]):active:hover,
+ .field.has-addons .control .select select.is-active:not([disabled]):hover {
+ z-index: 4; }
+ .field.has-addons .control.is-expanded {
+ flex-grow: 1;
+ flex-shrink: 1; }
+ .field.has-addons.has-addons-centered {
+ justify-content: center; }
+ .field.has-addons.has-addons-right {
+ justify-content: flex-end; }
+ .field.has-addons.has-addons-fullwidth .control {
+ flex-grow: 1;
+ flex-shrink: 0; }
+
+.field.is-grouped {
+ display: flex;
+ justify-content: flex-start; }
+ .field.is-grouped > .control {
+ flex-shrink: 0; }
+ .field.is-grouped > .control:not(:last-child) {
+ margin-bottom: 0;
+ margin-right: 0.75rem; }
+ .field.is-grouped > .control.is-expanded {
+ flex-grow: 1;
+ flex-shrink: 1; }
+ .field.is-grouped.is-grouped-centered {
+ justify-content: center; }
+ .field.is-grouped.is-grouped-right {
+ justify-content: flex-end; }
+ .field.is-grouped.is-grouped-multiline {
+ flex-wrap: wrap; }
+ .field.is-grouped.is-grouped-multiline > .control:last-child, .field.is-grouped.is-grouped-multiline > .control:not(:last-child) {
+ margin-bottom: 0.75rem; }
+ .field.is-grouped.is-grouped-multiline:last-child {
+ margin-bottom: -0.75rem; }
+ .field.is-grouped.is-grouped-multiline:not(:last-child) {
+ margin-bottom: 0; }
+
+@media screen and (min-width: 769px), print {
+ .field.is-horizontal {
+ display: flex; } }
+
+.field-label .label {
+ font-size: inherit; }
+
+@media screen and (max-width: 768px) {
+ .field-label {
+ margin-bottom: 0.5rem; } }
+
+@media screen and (min-width: 769px), print {
+ .field-label {
+ flex-basis: 0;
+ flex-grow: 1;
+ flex-shrink: 0;
+ margin-right: 1.5rem;
+ text-align: right; }
+ .field-label.is-small, #documenter .docs-sidebar form.docs-search > input.field-label {
+ font-size: 0.75rem;
+ padding-top: 0.375em; }
+ .field-label.is-normal {
+ padding-top: 0.375em; }
+ .field-label.is-medium {
+ font-size: 1.25rem;
+ padding-top: 0.375em; }
+ .field-label.is-large {
+ font-size: 1.5rem;
+ padding-top: 0.375em; } }
+
+.field-body .field .field {
+ margin-bottom: 0; }
+
+@media screen and (min-width: 769px), print {
+ .field-body {
+ display: flex;
+ flex-basis: 0;
+ flex-grow: 5;
+ flex-shrink: 1; }
+ .field-body .field {
+ margin-bottom: 0; }
+ .field-body > .field {
+ flex-shrink: 1; }
+ .field-body > .field:not(.is-narrow) {
+ flex-grow: 1; }
+ .field-body > .field:not(:last-child) {
+ margin-right: 0.75rem; } }
+
+.control {
+ box-sizing: border-box;
+ clear: both;
+ font-size: 1rem;
+ position: relative;
+ text-align: left; }
+ .control.has-icons-left .input:focus ~ .icon, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input:focus ~ .icon, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input:focus ~ .icon,
+ .control.has-icons-left .select:focus ~ .icon, .control.has-icons-right .input:focus ~ .icon, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input:focus ~ .icon, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input:focus ~ .icon,
+ .control.has-icons-right .select:focus ~ .icon {
+ color: #6b6b6b; }
+ .control.has-icons-left .input.is-small ~ .icon, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input ~ .icon, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input ~ .icon,
+ .control.has-icons-left .select.is-small ~ .icon, .control.has-icons-right .input.is-small ~ .icon, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input ~ .icon, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input ~ .icon,
+ .control.has-icons-right .select.is-small ~ .icon {
+ font-size: 0.75rem; }
+ .control.has-icons-left .input.is-medium ~ .icon, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input.is-medium ~ .icon, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input.is-medium ~ .icon,
+ .control.has-icons-left .select.is-medium ~ .icon, .control.has-icons-right .input.is-medium ~ .icon, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input.is-medium ~ .icon, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input.is-medium ~ .icon,
+ .control.has-icons-right .select.is-medium ~ .icon {
+ font-size: 1.25rem; }
+ .control.has-icons-left .input.is-large ~ .icon, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input.is-large ~ .icon, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input.is-large ~ .icon,
+ .control.has-icons-left .select.is-large ~ .icon, .control.has-icons-right .input.is-large ~ .icon, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input.is-large ~ .icon, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input.is-large ~ .icon,
+ .control.has-icons-right .select.is-large ~ .icon {
+ font-size: 1.5rem; }
+ .control.has-icons-left .icon, .control.has-icons-right .icon {
+ color: #dbdbdb;
+ height: 2.25em;
+ pointer-events: none;
+ position: absolute;
+ top: 0;
+ width: 2.25em;
+ z-index: 4; }
+ .control.has-icons-left .input, .control.has-icons-left #documenter .docs-sidebar form.docs-search > input, #documenter .docs-sidebar .control.has-icons-left form.docs-search > input,
+ .control.has-icons-left .select select {
+ padding-left: 2.25em; }
+ .control.has-icons-left .icon.is-left {
+ left: 0; }
+ .control.has-icons-right .input, .control.has-icons-right #documenter .docs-sidebar form.docs-search > input, #documenter .docs-sidebar .control.has-icons-right form.docs-search > input,
+ .control.has-icons-right .select select {
+ padding-right: 2.25em; }
+ .control.has-icons-right .icon.is-right {
+ right: 0; }
+ .control.is-loading::after {
+ position: absolute !important;
+ right: 0.625em;
+ top: 0.625em;
+ z-index: 4; }
+ .control.is-loading.is-small:after, #documenter .docs-sidebar form.docs-search > input.is-loading:after {
+ font-size: 0.75rem; }
+ .control.is-loading.is-medium:after {
+ font-size: 1.25rem; }
+ .control.is-loading.is-large:after {
+ font-size: 1.5rem; }
+
+.breadcrumb {
+ font-size: 1rem;
+ white-space: nowrap; }
+ .breadcrumb a {
+ align-items: center;
+ color: #2e63b8;
+ display: flex;
+ justify-content: center;
+ padding: 0 0.75em; }
+ .breadcrumb a:hover {
+ color: #363636; }
+ .breadcrumb li {
+ align-items: center;
+ display: flex; }
+ .breadcrumb li:first-child a {
+ padding-left: 0; }
+ .breadcrumb li.is-active a {
+ color: #222222;
+ cursor: default;
+ pointer-events: none; }
+ .breadcrumb li + li::before {
+ color: #b5b5b5;
+ content: "\0002f"; }
+ .breadcrumb ul,
+ .breadcrumb ol {
+ align-items: flex-start;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: flex-start; }
+ .breadcrumb .icon:first-child {
+ margin-right: 0.5em; }
+ .breadcrumb .icon:last-child {
+ margin-left: 0.5em; }
+ .breadcrumb.is-centered ol,
+ .breadcrumb.is-centered ul {
+ justify-content: center; }
+ .breadcrumb.is-right ol,
+ .breadcrumb.is-right ul {
+ justify-content: flex-end; }
+ .breadcrumb.is-small, #documenter .docs-sidebar form.docs-search > input.breadcrumb {
+ font-size: 0.75rem; }
+ .breadcrumb.is-medium {
+ font-size: 1.25rem; }
+ .breadcrumb.is-large {
+ font-size: 1.5rem; }
+ .breadcrumb.has-arrow-separator li + li::before {
+ content: "\02192"; }
+ .breadcrumb.has-bullet-separator li + li::before {
+ content: "\02022"; }
+ .breadcrumb.has-dot-separator li + li::before {
+ content: "\000b7"; }
+ .breadcrumb.has-succeeds-separator li + li::before {
+ content: "\0227B"; }
+
+.card {
+ background-color: white;
+ box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
+ color: #222222;
+ max-width: 100%;
+ position: relative; }
+
+.card-header {
+ background-color: transparent;
+ align-items: stretch;
+ box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1);
+ display: flex; }
+
+.card-header-title {
+ align-items: center;
+ color: #222222;
+ display: flex;
+ flex-grow: 1;
+ font-weight: 700;
+ padding: 0.75rem; }
+ .card-header-title.is-centered {
+ justify-content: center; }
+
+.card-header-icon {
+ align-items: center;
+ cursor: pointer;
+ display: flex;
+ justify-content: center;
+ padding: 0.75rem; }
+
+.card-image {
+ display: block;
+ position: relative; }
+
+.card-content {
+ background-color: transparent;
+ padding: 1.5rem; }
+
+.card-footer {
+ background-color: transparent;
+ border-top: 1px solid #dbdbdb;
+ align-items: stretch;
+ display: flex; }
+
+.card-footer-item {
+ align-items: center;
+ display: flex;
+ flex-basis: 0;
+ flex-grow: 1;
+ flex-shrink: 0;
+ justify-content: center;
+ padding: 0.75rem; }
+ .card-footer-item:not(:last-child) {
+ border-right: 1px solid #dbdbdb; }
+
+.card .media:not(:last-child) {
+ margin-bottom: 1.5rem; }
+
+.dropdown {
+ display: inline-flex;
+ position: relative;
+ vertical-align: top; }
+ .dropdown.is-active .dropdown-menu, .dropdown.is-hoverable:hover .dropdown-menu {
+ display: block; }
+ .dropdown.is-right .dropdown-menu {
+ left: auto;
+ right: 0; }
+ .dropdown.is-up .dropdown-menu {
+ bottom: 100%;
+ padding-bottom: 4px;
+ padding-top: initial;
+ top: auto; }
+
+.dropdown-menu {
+ display: none;
+ left: 0;
+ min-width: 12rem;
+ padding-top: 4px;
+ position: absolute;
+ top: 100%;
+ z-index: 20; }
+
+.dropdown-content {
+ background-color: white;
+ border-radius: 4px;
+ box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
+ padding-bottom: 0.5rem;
+ padding-top: 0.5rem; }
+
+.dropdown-item {
+ color: #4a4a4a;
+ display: block;
+ font-size: 0.875rem;
+ line-height: 1.5;
+ padding: 0.375rem 1rem;
+ position: relative; }
+
+a.dropdown-item,
+button.dropdown-item {
+ padding-right: 3rem;
+ text-align: left;
+ white-space: nowrap;
+ width: 100%; }
+ a.dropdown-item:hover,
+ button.dropdown-item:hover {
+ background-color: whitesmoke;
+ color: #0a0a0a; }
+ a.dropdown-item.is-active,
+ button.dropdown-item.is-active {
+ background-color: #2e63b8;
+ color: #fff; }
+
+.dropdown-divider {
+ background-color: #dbdbdb;
+ border: none;
+ display: block;
+ height: 1px;
+ margin: 0.5rem 0; }
+
+.level {
+ align-items: center;
+ justify-content: space-between; }
+ .level code {
+ border-radius: 4px; }
+ .level img {
+ display: inline-block;
+ vertical-align: top; }
+ .level.is-mobile {
+ display: flex; }
+ .level.is-mobile .level-left,
+ .level.is-mobile .level-right {
+ display: flex; }
+ .level.is-mobile .level-left + .level-right {
+ margin-top: 0; }
+ .level.is-mobile .level-item:not(:last-child) {
+ margin-bottom: 0;
+ margin-right: 0.75rem; }
+ .level.is-mobile .level-item:not(.is-narrow) {
+ flex-grow: 1; }
+ @media screen and (min-width: 769px), print {
+ .level {
+ display: flex; }
+ .level > .level-item:not(.is-narrow) {
+ flex-grow: 1; } }
+.level-item {
+ align-items: center;
+ display: flex;
+ flex-basis: auto;
+ flex-grow: 0;
+ flex-shrink: 0;
+ justify-content: center; }
+ .level-item .title,
+ .level-item .subtitle {
+ margin-bottom: 0; }
+ @media screen and (max-width: 768px) {
+ .level-item:not(:last-child) {
+ margin-bottom: 0.75rem; } }
+.level-left,
+.level-right {
+ flex-basis: auto;
+ flex-grow: 0;
+ flex-shrink: 0; }
+ .level-left .level-item.is-flexible,
+ .level-right .level-item.is-flexible {
+ flex-grow: 1; }
+ @media screen and (min-width: 769px), print {
+ .level-left .level-item:not(:last-child),
+ .level-right .level-item:not(:last-child) {
+ margin-right: 0.75rem; } }
+.level-left {
+ align-items: center;
+ justify-content: flex-start; }
+ @media screen and (max-width: 768px) {
+ .level-left + .level-right {
+ margin-top: 1.5rem; } }
+ @media screen and (min-width: 769px), print {
+ .level-left {
+ display: flex; } }
+.level-right {
+ align-items: center;
+ justify-content: flex-end; }
+ @media screen and (min-width: 769px), print {
+ .level-right {
+ display: flex; } }
+.list {
+ background-color: white;
+ border-radius: 4px;
+ box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); }
+
+.list-item {
+ display: block;
+ padding: 0.5em 1em; }
+ .list-item:not(a) {
+ color: #222222; }
+ .list-item:first-child {
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px; }
+ .list-item:last-child {
+ border-bottom-left-radius: 4px;
+ border-bottom-right-radius: 4px; }
+ .list-item:not(:last-child) {
+ border-bottom: 1px solid #dbdbdb; }
+ .list-item.is-active {
+ background-color: #2e63b8;
+ color: #fff; }
+
+a.list-item {
+ background-color: whitesmoke;
+ cursor: pointer; }
+
+.media {
+ align-items: flex-start;
+ display: flex;
+ text-align: left; }
+ .media .content:not(:last-child) {
+ margin-bottom: 0.75rem; }
+ .media .media {
+ border-top: 1px solid rgba(219, 219, 219, 0.5);
+ display: flex;
+ padding-top: 0.75rem; }
+ .media .media .content:not(:last-child),
+ .media .media .control:not(:last-child) {
+ margin-bottom: 0.5rem; }
+ .media .media .media {
+ padding-top: 0.5rem; }
+ .media .media .media + .media {
+ margin-top: 0.5rem; }
+ .media + .media {
+ border-top: 1px solid rgba(219, 219, 219, 0.5);
+ margin-top: 1rem;
+ padding-top: 1rem; }
+ .media.is-large + .media {
+ margin-top: 1.5rem;
+ padding-top: 1.5rem; }
+
+.media-left,
+.media-right {
+ flex-basis: auto;
+ flex-grow: 0;
+ flex-shrink: 0; }
+
+.media-left {
+ margin-right: 1rem; }
+
+.media-right {
+ margin-left: 1rem; }
+
+.media-content {
+ flex-basis: auto;
+ flex-grow: 1;
+ flex-shrink: 1;
+ text-align: left; }
+
+@media screen and (max-width: 768px) {
+ .media-content {
+ overflow-x: auto; } }
+
+.menu {
+ font-size: 1rem; }
+ .menu.is-small, #documenter .docs-sidebar form.docs-search > input.menu {
+ font-size: 0.75rem; }
+ .menu.is-medium {
+ font-size: 1.25rem; }
+ .menu.is-large {
+ font-size: 1.5rem; }
+
+.menu-list {
+ line-height: 1.25; }
+ .menu-list a {
+ border-radius: 2px;
+ color: #222222;
+ display: block;
+ padding: 0.5em 0.75em; }
+ .menu-list a:hover {
+ background-color: whitesmoke;
+ color: #222222; }
+ .menu-list a.is-active {
+ background-color: #2e63b8;
+ color: #fff; }
+ .menu-list li ul {
+ border-left: 1px solid #dbdbdb;
+ margin: 0.75em;
+ padding-left: 0.75em; }
+
+.menu-label {
+ color: #6b6b6b;
+ font-size: 0.75em;
+ letter-spacing: 0.1em;
+ text-transform: uppercase; }
+ .menu-label:not(:first-child) {
+ margin-top: 1em; }
+ .menu-label:not(:last-child) {
+ margin-bottom: 1em; }
+
+.message {
+ background-color: whitesmoke;
+ border-radius: 4px;
+ font-size: 1rem; }
+ .message strong {
+ color: currentColor; }
+ .message a:not(.button):not(.tag):not(.dropdown-item) {
+ color: currentColor;
+ text-decoration: underline; }
+ .message.is-small, #documenter .docs-sidebar form.docs-search > input.message {
+ font-size: 0.75rem; }
+ .message.is-medium {
+ font-size: 1.25rem; }
+ .message.is-large {
+ font-size: 1.5rem; }
+ .message.is-white {
+ background-color: white; }
+ .message.is-white .message-header {
+ background-color: white;
+ color: #0a0a0a; }
+ .message.is-white .message-body {
+ border-color: white;
+ color: #4d4d4d; }
+ .message.is-black {
+ background-color: #fafafa; }
+ .message.is-black .message-header {
+ background-color: #0a0a0a;
+ color: white; }
+ .message.is-black .message-body {
+ border-color: #0a0a0a;
+ color: #090909; }
+ .message.is-light {
+ background-color: #fafafa; }
+ .message.is-light .message-header {
+ background-color: whitesmoke;
+ color: #363636; }
+ .message.is-light .message-body {
+ border-color: whitesmoke;
+ color: #505050; }
+ .message.is-dark, .content kbd.message {
+ background-color: #fafafa; }
+ .message.is-dark .message-header, .content kbd.message .message-header {
+ background-color: #363636;
+ color: whitesmoke; }
+ .message.is-dark .message-body, .content kbd.message .message-body {
+ border-color: #363636;
+ color: #2a2a2a; }
+ .message.is-primary, .docstring > section > a.message.docs-sourcelink {
+ background-color: #f6fbfd; }
+ .message.is-primary .message-header, .docstring > section > a.message.docs-sourcelink .message-header {
+ background-color: #4eb5de;
+ color: #fff; }
+ .message.is-primary .message-body, .docstring > section > a.message.docs-sourcelink .message-body {
+ border-color: #4eb5de;
+ color: #1f556a; }
+ .message.is-link {
+ background-color: #f7f9fd; }
+ .message.is-link .message-header {
+ background-color: #2e63b8;
+ color: #fff; }
+ .message.is-link .message-body {
+ border-color: #2e63b8;
+ color: #264981; }
+ .message.is-info {
+ background-color: #f6fbfe; }
+ .message.is-info .message-header {
+ background-color: #209cee;
+ color: #fff; }
+ .message.is-info .message-body {
+ border-color: #209cee;
+ color: #12537d; }
+ .message.is-success {
+ background-color: #f6fdf9; }
+ .message.is-success .message-header {
+ background-color: #22c35b;
+ color: #fff; }
+ .message.is-success .message-body {
+ border-color: #22c35b;
+ color: #0f361d; }
+ .message.is-warning {
+ background-color: #fffdf5; }
+ .message.is-warning .message-header {
+ background-color: #ffdd57;
+ color: rgba(0, 0, 0, 0.7); }
+ .message.is-warning .message-body {
+ border-color: #ffdd57;
+ color: #3c3108; }
+ .message.is-danger {
+ background-color: #fff5f5; }
+ .message.is-danger .message-header {
+ background-color: #da0b00;
+ color: #fff; }
+ .message.is-danger .message-body {
+ border-color: #da0b00;
+ color: #9b0c04; }
+
+.message-header {
+ align-items: center;
+ background-color: #222222;
+ border-radius: 4px 4px 0 0;
+ color: #fff;
+ display: flex;
+ font-weight: 700;
+ justify-content: space-between;
+ line-height: 1.25;
+ padding: 0.75em 1em;
+ position: relative; }
+ .message-header .delete {
+ flex-grow: 0;
+ flex-shrink: 0;
+ margin-left: 0.75em; }
+ .message-header + .message-body {
+ border-width: 0;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0; }
+
+.message-body {
+ border-color: #dbdbdb;
+ border-radius: 4px;
+ border-style: solid;
+ border-width: 0 0 0 4px;
+ color: #222222;
+ padding: 1.25em 1.5em; }
+ .message-body code,
+ .message-body pre {
+ background-color: white; }
+ .message-body pre code {
+ background-color: transparent; }
+
+.modal {
+ align-items: center;
+ display: none;
+ flex-direction: column;
+ justify-content: center;
+ overflow: hidden;
+ position: fixed;
+ z-index: 40; }
+ .modal.is-active {
+ display: flex; }
+
+.modal-background {
+ background-color: rgba(10, 10, 10, 0.86); }
+
+.modal-content,
+.modal-card {
+ margin: 0 20px;
+ max-height: calc(100vh - 160px);
+ overflow: auto;
+ position: relative;
+ width: 100%; }
+ @media screen and (min-width: 769px), print {
+ .modal-content,
+ .modal-card {
+ margin: 0 auto;
+ max-height: calc(100vh - 40px);
+ width: 640px; } }
+.modal-close {
+ background: none;
+ height: 40px;
+ position: fixed;
+ right: 20px;
+ top: 20px;
+ width: 40px; }
+
+.modal-card {
+ display: flex;
+ flex-direction: column;
+ max-height: calc(100vh - 40px);
+ overflow: hidden;
+ -ms-overflow-y: visible; }
+
+.modal-card-head,
+.modal-card-foot {
+ align-items: center;
+ background-color: whitesmoke;
+ display: flex;
+ flex-shrink: 0;
+ justify-content: flex-start;
+ padding: 20px;
+ position: relative; }
+
+.modal-card-head {
+ border-bottom: 1px solid #dbdbdb;
+ border-top-left-radius: 6px;
+ border-top-right-radius: 6px; }
+
+.modal-card-title {
+ color: #222222;
+ flex-grow: 1;
+ flex-shrink: 0;
+ font-size: 1.5rem;
+ line-height: 1; }
+
+.modal-card-foot {
+ border-bottom-left-radius: 6px;
+ border-bottom-right-radius: 6px;
+ border-top: 1px solid #dbdbdb; }
+ .modal-card-foot .button:not(:last-child) {
+ margin-right: 0.5em; }
+
+.modal-card-body {
+ -webkit-overflow-scrolling: touch;
+ background-color: white;
+ flex-grow: 1;
+ flex-shrink: 1;
+ overflow: auto;
+ padding: 20px; }
+
+.navbar {
+ background-color: white;
+ min-height: 3.25rem;
+ position: relative;
+ z-index: 30; }
+ .navbar.is-white {
+ background-color: white;
+ color: #0a0a0a; }
+ .navbar.is-white .navbar-brand > .navbar-item,
+ .navbar.is-white .navbar-brand .navbar-link {
+ color: #0a0a0a; }
+ .navbar.is-white .navbar-brand > a.navbar-item:focus, .navbar.is-white .navbar-brand > a.navbar-item:hover, .navbar.is-white .navbar-brand > a.navbar-item.is-active,
+ .navbar.is-white .navbar-brand .navbar-link:focus,
+ .navbar.is-white .navbar-brand .navbar-link:hover,
+ .navbar.is-white .navbar-brand .navbar-link.is-active {
+ background-color: #f2f2f2;
+ color: #0a0a0a; }
+ .navbar.is-white .navbar-brand .navbar-link::after {
+ border-color: #0a0a0a; }
+ .navbar.is-white .navbar-burger {
+ color: #0a0a0a; }
+ @media screen and (min-width: 1056px) {
+ .navbar.is-white .navbar-start > .navbar-item,
+ .navbar.is-white .navbar-start .navbar-link,
+ .navbar.is-white .navbar-end > .navbar-item,
+ .navbar.is-white .navbar-end .navbar-link {
+ color: #0a0a0a; }
+ .navbar.is-white .navbar-start > a.navbar-item:focus, .navbar.is-white .navbar-start > a.navbar-item:hover, .navbar.is-white .navbar-start > a.navbar-item.is-active,
+ .navbar.is-white .navbar-start .navbar-link:focus,
+ .navbar.is-white .navbar-start .navbar-link:hover,
+ .navbar.is-white .navbar-start .navbar-link.is-active,
+ .navbar.is-white .navbar-end > a.navbar-item:focus,
+ .navbar.is-white .navbar-end > a.navbar-item:hover,
+ .navbar.is-white .navbar-end > a.navbar-item.is-active,
+ .navbar.is-white .navbar-end .navbar-link:focus,
+ .navbar.is-white .navbar-end .navbar-link:hover,
+ .navbar.is-white .navbar-end .navbar-link.is-active {
+ background-color: #f2f2f2;
+ color: #0a0a0a; }
+ .navbar.is-white .navbar-start .navbar-link::after,
+ .navbar.is-white .navbar-end .navbar-link::after {
+ border-color: #0a0a0a; }
+ .navbar.is-white .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-white .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #f2f2f2;
+ color: #0a0a0a; }
+ .navbar.is-white .navbar-dropdown a.navbar-item.is-active {
+ background-color: white;
+ color: #0a0a0a; } }
+ .navbar.is-black {
+ background-color: #0a0a0a;
+ color: white; }
+ .navbar.is-black .navbar-brand > .navbar-item,
+ .navbar.is-black .navbar-brand .navbar-link {
+ color: white; }
+ .navbar.is-black .navbar-brand > a.navbar-item:focus, .navbar.is-black .navbar-brand > a.navbar-item:hover, .navbar.is-black .navbar-brand > a.navbar-item.is-active,
+ .navbar.is-black .navbar-brand .navbar-link:focus,
+ .navbar.is-black .navbar-brand .navbar-link:hover,
+ .navbar.is-black .navbar-brand .navbar-link.is-active {
+ background-color: black;
+ color: white; }
+ .navbar.is-black .navbar-brand .navbar-link::after {
+ border-color: white; }
+ .navbar.is-black .navbar-burger {
+ color: white; }
+ @media screen and (min-width: 1056px) {
+ .navbar.is-black .navbar-start > .navbar-item,
+ .navbar.is-black .navbar-start .navbar-link,
+ .navbar.is-black .navbar-end > .navbar-item,
+ .navbar.is-black .navbar-end .navbar-link {
+ color: white; }
+ .navbar.is-black .navbar-start > a.navbar-item:focus, .navbar.is-black .navbar-start > a.navbar-item:hover, .navbar.is-black .navbar-start > a.navbar-item.is-active,
+ .navbar.is-black .navbar-start .navbar-link:focus,
+ .navbar.is-black .navbar-start .navbar-link:hover,
+ .navbar.is-black .navbar-start .navbar-link.is-active,
+ .navbar.is-black .navbar-end > a.navbar-item:focus,
+ .navbar.is-black .navbar-end > a.navbar-item:hover,
+ .navbar.is-black .navbar-end > a.navbar-item.is-active,
+ .navbar.is-black .navbar-end .navbar-link:focus,
+ .navbar.is-black .navbar-end .navbar-link:hover,
+ .navbar.is-black .navbar-end .navbar-link.is-active {
+ background-color: black;
+ color: white; }
+ .navbar.is-black .navbar-start .navbar-link::after,
+ .navbar.is-black .navbar-end .navbar-link::after {
+ border-color: white; }
+ .navbar.is-black .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-black .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: black;
+ color: white; }
+ .navbar.is-black .navbar-dropdown a.navbar-item.is-active {
+ background-color: #0a0a0a;
+ color: white; } }
+ .navbar.is-light {
+ background-color: whitesmoke;
+ color: #363636; }
+ .navbar.is-light .navbar-brand > .navbar-item,
+ .navbar.is-light .navbar-brand .navbar-link {
+ color: #363636; }
+ .navbar.is-light .navbar-brand > a.navbar-item:focus, .navbar.is-light .navbar-brand > a.navbar-item:hover, .navbar.is-light .navbar-brand > a.navbar-item.is-active,
+ .navbar.is-light .navbar-brand .navbar-link:focus,
+ .navbar.is-light .navbar-brand .navbar-link:hover,
+ .navbar.is-light .navbar-brand .navbar-link.is-active {
+ background-color: #e8e8e8;
+ color: #363636; }
+ .navbar.is-light .navbar-brand .navbar-link::after {
+ border-color: #363636; }
+ .navbar.is-light .navbar-burger {
+ color: #363636; }
+ @media screen and (min-width: 1056px) {
+ .navbar.is-light .navbar-start > .navbar-item,
+ .navbar.is-light .navbar-start .navbar-link,
+ .navbar.is-light .navbar-end > .navbar-item,
+ .navbar.is-light .navbar-end .navbar-link {
+ color: #363636; }
+ .navbar.is-light .navbar-start > a.navbar-item:focus, .navbar.is-light .navbar-start > a.navbar-item:hover, .navbar.is-light .navbar-start > a.navbar-item.is-active,
+ .navbar.is-light .navbar-start .navbar-link:focus,
+ .navbar.is-light .navbar-start .navbar-link:hover,
+ .navbar.is-light .navbar-start .navbar-link.is-active,
+ .navbar.is-light .navbar-end > a.navbar-item:focus,
+ .navbar.is-light .navbar-end > a.navbar-item:hover,
+ .navbar.is-light .navbar-end > a.navbar-item.is-active,
+ .navbar.is-light .navbar-end .navbar-link:focus,
+ .navbar.is-light .navbar-end .navbar-link:hover,
+ .navbar.is-light .navbar-end .navbar-link.is-active {
+ background-color: #e8e8e8;
+ color: #363636; }
+ .navbar.is-light .navbar-start .navbar-link::after,
+ .navbar.is-light .navbar-end .navbar-link::after {
+ border-color: #363636; }
+ .navbar.is-light .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-light .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #e8e8e8;
+ color: #363636; }
+ .navbar.is-light .navbar-dropdown a.navbar-item.is-active {
+ background-color: whitesmoke;
+ color: #363636; } }
+ .navbar.is-dark, .content kbd.navbar {
+ background-color: #363636;
+ color: whitesmoke; }
+ .navbar.is-dark .navbar-brand > .navbar-item, .content kbd.navbar .navbar-brand > .navbar-item,
+ .navbar.is-dark .navbar-brand .navbar-link,
+ .content kbd.navbar .navbar-brand .navbar-link {
+ color: whitesmoke; }
+ .navbar.is-dark .navbar-brand > a.navbar-item:focus, .content kbd.navbar .navbar-brand > a.navbar-item:focus, .navbar.is-dark .navbar-brand > a.navbar-item:hover, .content kbd.navbar .navbar-brand > a.navbar-item:hover, .navbar.is-dark .navbar-brand > a.navbar-item.is-active, .content kbd.navbar .navbar-brand > a.navbar-item.is-active,
+ .navbar.is-dark .navbar-brand .navbar-link:focus,
+ .content kbd.navbar .navbar-brand .navbar-link:focus,
+ .navbar.is-dark .navbar-brand .navbar-link:hover,
+ .content kbd.navbar .navbar-brand .navbar-link:hover,
+ .navbar.is-dark .navbar-brand .navbar-link.is-active,
+ .content kbd.navbar .navbar-brand .navbar-link.is-active {
+ background-color: #292929;
+ color: whitesmoke; }
+ .navbar.is-dark .navbar-brand .navbar-link::after, .content kbd.navbar .navbar-brand .navbar-link::after {
+ border-color: whitesmoke; }
+ .navbar.is-dark .navbar-burger, .content kbd.navbar .navbar-burger {
+ color: whitesmoke; }
+ @media screen and (min-width: 1056px) {
+ .navbar.is-dark .navbar-start > .navbar-item, .content kbd.navbar .navbar-start > .navbar-item,
+ .navbar.is-dark .navbar-start .navbar-link,
+ .content kbd.navbar .navbar-start .navbar-link,
+ .navbar.is-dark .navbar-end > .navbar-item,
+ .content kbd.navbar .navbar-end > .navbar-item,
+ .navbar.is-dark .navbar-end .navbar-link,
+ .content kbd.navbar .navbar-end .navbar-link {
+ color: whitesmoke; }
+ .navbar.is-dark .navbar-start > a.navbar-item:focus, .content kbd.navbar .navbar-start > a.navbar-item:focus, .navbar.is-dark .navbar-start > a.navbar-item:hover, .content kbd.navbar .navbar-start > a.navbar-item:hover, .navbar.is-dark .navbar-start > a.navbar-item.is-active, .content kbd.navbar .navbar-start > a.navbar-item.is-active,
+ .navbar.is-dark .navbar-start .navbar-link:focus,
+ .content kbd.navbar .navbar-start .navbar-link:focus,
+ .navbar.is-dark .navbar-start .navbar-link:hover,
+ .content kbd.navbar .navbar-start .navbar-link:hover,
+ .navbar.is-dark .navbar-start .navbar-link.is-active,
+ .content kbd.navbar .navbar-start .navbar-link.is-active,
+ .navbar.is-dark .navbar-end > a.navbar-item:focus,
+ .content kbd.navbar .navbar-end > a.navbar-item:focus,
+ .navbar.is-dark .navbar-end > a.navbar-item:hover,
+ .content kbd.navbar .navbar-end > a.navbar-item:hover,
+ .navbar.is-dark .navbar-end > a.navbar-item.is-active,
+ .content kbd.navbar .navbar-end > a.navbar-item.is-active,
+ .navbar.is-dark .navbar-end .navbar-link:focus,
+ .content kbd.navbar .navbar-end .navbar-link:focus,
+ .navbar.is-dark .navbar-end .navbar-link:hover,
+ .content kbd.navbar .navbar-end .navbar-link:hover,
+ .navbar.is-dark .navbar-end .navbar-link.is-active,
+ .content kbd.navbar .navbar-end .navbar-link.is-active {
+ background-color: #292929;
+ color: whitesmoke; }
+ .navbar.is-dark .navbar-start .navbar-link::after, .content kbd.navbar .navbar-start .navbar-link::after,
+ .navbar.is-dark .navbar-end .navbar-link::after,
+ .content kbd.navbar .navbar-end .navbar-link::after {
+ border-color: whitesmoke; }
+ .navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link, .content kbd.navbar .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link,
+ .content kbd.navbar .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link,
+ .content kbd.navbar .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #292929;
+ color: whitesmoke; }
+ .navbar.is-dark .navbar-dropdown a.navbar-item.is-active, .content kbd.navbar .navbar-dropdown a.navbar-item.is-active {
+ background-color: #363636;
+ color: whitesmoke; } }
+ .navbar.is-primary, .docstring > section > a.navbar.docs-sourcelink {
+ background-color: #4eb5de;
+ color: #fff; }
+ .navbar.is-primary .navbar-brand > .navbar-item, .docstring > section > a.navbar.docs-sourcelink .navbar-brand > .navbar-item,
+ .navbar.is-primary .navbar-brand .navbar-link,
+ .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link {
+ color: #fff; }
+ .navbar.is-primary .navbar-brand > a.navbar-item:focus, .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item:focus, .navbar.is-primary .navbar-brand > a.navbar-item:hover, .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item:hover, .navbar.is-primary .navbar-brand > a.navbar-item.is-active, .docstring > section > a.navbar.docs-sourcelink .navbar-brand > a.navbar-item.is-active,
+ .navbar.is-primary .navbar-brand .navbar-link:focus,
+ .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link:focus,
+ .navbar.is-primary .navbar-brand .navbar-link:hover,
+ .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link:hover,
+ .navbar.is-primary .navbar-brand .navbar-link.is-active,
+ .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link.is-active {
+ background-color: #39acda;
+ color: #fff; }
+ .navbar.is-primary .navbar-brand .navbar-link::after, .docstring > section > a.navbar.docs-sourcelink .navbar-brand .navbar-link::after {
+ border-color: #fff; }
+ .navbar.is-primary .navbar-burger, .docstring > section > a.navbar.docs-sourcelink .navbar-burger {
+ color: #fff; }
+ @media screen and (min-width: 1056px) {
+ .navbar.is-primary .navbar-start > .navbar-item, .docstring > section > a.navbar.docs-sourcelink .navbar-start > .navbar-item,
+ .navbar.is-primary .navbar-start .navbar-link,
+ .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link,
+ .navbar.is-primary .navbar-end > .navbar-item,
+ .docstring > section > a.navbar.docs-sourcelink .navbar-end > .navbar-item,
+ .navbar.is-primary .navbar-end .navbar-link,
+ .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link {
+ color: #fff; }
+ .navbar.is-primary .navbar-start > a.navbar-item:focus, .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item:focus, .navbar.is-primary .navbar-start > a.navbar-item:hover, .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item:hover, .navbar.is-primary .navbar-start > a.navbar-item.is-active, .docstring > section > a.navbar.docs-sourcelink .navbar-start > a.navbar-item.is-active,
+ .navbar.is-primary .navbar-start .navbar-link:focus,
+ .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link:focus,
+ .navbar.is-primary .navbar-start .navbar-link:hover,
+ .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link:hover,
+ .navbar.is-primary .navbar-start .navbar-link.is-active,
+ .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link.is-active,
+ .navbar.is-primary .navbar-end > a.navbar-item:focus,
+ .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item:focus,
+ .navbar.is-primary .navbar-end > a.navbar-item:hover,
+ .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item:hover,
+ .navbar.is-primary .navbar-end > a.navbar-item.is-active,
+ .docstring > section > a.navbar.docs-sourcelink .navbar-end > a.navbar-item.is-active,
+ .navbar.is-primary .navbar-end .navbar-link:focus,
+ .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link:focus,
+ .navbar.is-primary .navbar-end .navbar-link:hover,
+ .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link:hover,
+ .navbar.is-primary .navbar-end .navbar-link.is-active,
+ .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link.is-active {
+ background-color: #39acda;
+ color: #fff; }
+ .navbar.is-primary .navbar-start .navbar-link::after, .docstring > section > a.navbar.docs-sourcelink .navbar-start .navbar-link::after,
+ .navbar.is-primary .navbar-end .navbar-link::after,
+ .docstring > section > a.navbar.docs-sourcelink .navbar-end .navbar-link::after {
+ border-color: #fff; }
+ .navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link, .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,
+ .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link,
+ .docstring > section > a.navbar.docs-sourcelink .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #39acda;
+ color: #fff; }
+ .navbar.is-primary .navbar-dropdown a.navbar-item.is-active, .docstring > section > a.navbar.docs-sourcelink .navbar-dropdown a.navbar-item.is-active {
+ background-color: #4eb5de;
+ color: #fff; } }
+ .navbar.is-link {
+ background-color: #2e63b8;
+ color: #fff; }
+ .navbar.is-link .navbar-brand > .navbar-item,
+ .navbar.is-link .navbar-brand .navbar-link {
+ color: #fff; }
+ .navbar.is-link .navbar-brand > a.navbar-item:focus, .navbar.is-link .navbar-brand > a.navbar-item:hover, .navbar.is-link .navbar-brand > a.navbar-item.is-active,
+ .navbar.is-link .navbar-brand .navbar-link:focus,
+ .navbar.is-link .navbar-brand .navbar-link:hover,
+ .navbar.is-link .navbar-brand .navbar-link.is-active {
+ background-color: #2958a4;
+ color: #fff; }
+ .navbar.is-link .navbar-brand .navbar-link::after {
+ border-color: #fff; }
+ .navbar.is-link .navbar-burger {
+ color: #fff; }
+ @media screen and (min-width: 1056px) {
+ .navbar.is-link .navbar-start > .navbar-item,
+ .navbar.is-link .navbar-start .navbar-link,
+ .navbar.is-link .navbar-end > .navbar-item,
+ .navbar.is-link .navbar-end .navbar-link {
+ color: #fff; }
+ .navbar.is-link .navbar-start > a.navbar-item:focus, .navbar.is-link .navbar-start > a.navbar-item:hover, .navbar.is-link .navbar-start > a.navbar-item.is-active,
+ .navbar.is-link .navbar-start .navbar-link:focus,
+ .navbar.is-link .navbar-start .navbar-link:hover,
+ .navbar.is-link .navbar-start .navbar-link.is-active,
+ .navbar.is-link .navbar-end > a.navbar-item:focus,
+ .navbar.is-link .navbar-end > a.navbar-item:hover,
+ .navbar.is-link .navbar-end > a.navbar-item.is-active,
+ .navbar.is-link .navbar-end .navbar-link:focus,
+ .navbar.is-link .navbar-end .navbar-link:hover,
+ .navbar.is-link .navbar-end .navbar-link.is-active {
+ background-color: #2958a4;
+ color: #fff; }
+ .navbar.is-link .navbar-start .navbar-link::after,
+ .navbar.is-link .navbar-end .navbar-link::after {
+ border-color: #fff; }
+ .navbar.is-link .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-link .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #2958a4;
+ color: #fff; }
+ .navbar.is-link .navbar-dropdown a.navbar-item.is-active {
+ background-color: #2e63b8;
+ color: #fff; } }
+ .navbar.is-info {
+ background-color: #209cee;
+ color: #fff; }
+ .navbar.is-info .navbar-brand > .navbar-item,
+ .navbar.is-info .navbar-brand .navbar-link {
+ color: #fff; }
+ .navbar.is-info .navbar-brand > a.navbar-item:focus, .navbar.is-info .navbar-brand > a.navbar-item:hover, .navbar.is-info .navbar-brand > a.navbar-item.is-active,
+ .navbar.is-info .navbar-brand .navbar-link:focus,
+ .navbar.is-info .navbar-brand .navbar-link:hover,
+ .navbar.is-info .navbar-brand .navbar-link.is-active {
+ background-color: #1190e3;
+ color: #fff; }
+ .navbar.is-info .navbar-brand .navbar-link::after {
+ border-color: #fff; }
+ .navbar.is-info .navbar-burger {
+ color: #fff; }
+ @media screen and (min-width: 1056px) {
+ .navbar.is-info .navbar-start > .navbar-item,
+ .navbar.is-info .navbar-start .navbar-link,
+ .navbar.is-info .navbar-end > .navbar-item,
+ .navbar.is-info .navbar-end .navbar-link {
+ color: #fff; }
+ .navbar.is-info .navbar-start > a.navbar-item:focus, .navbar.is-info .navbar-start > a.navbar-item:hover, .navbar.is-info .navbar-start > a.navbar-item.is-active,
+ .navbar.is-info .navbar-start .navbar-link:focus,
+ .navbar.is-info .navbar-start .navbar-link:hover,
+ .navbar.is-info .navbar-start .navbar-link.is-active,
+ .navbar.is-info .navbar-end > a.navbar-item:focus,
+ .navbar.is-info .navbar-end > a.navbar-item:hover,
+ .navbar.is-info .navbar-end > a.navbar-item.is-active,
+ .navbar.is-info .navbar-end .navbar-link:focus,
+ .navbar.is-info .navbar-end .navbar-link:hover,
+ .navbar.is-info .navbar-end .navbar-link.is-active {
+ background-color: #1190e3;
+ color: #fff; }
+ .navbar.is-info .navbar-start .navbar-link::after,
+ .navbar.is-info .navbar-end .navbar-link::after {
+ border-color: #fff; }
+ .navbar.is-info .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-info .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #1190e3;
+ color: #fff; }
+ .navbar.is-info .navbar-dropdown a.navbar-item.is-active {
+ background-color: #209cee;
+ color: #fff; } }
+ .navbar.is-success {
+ background-color: #22c35b;
+ color: #fff; }
+ .navbar.is-success .navbar-brand > .navbar-item,
+ .navbar.is-success .navbar-brand .navbar-link {
+ color: #fff; }
+ .navbar.is-success .navbar-brand > a.navbar-item:focus, .navbar.is-success .navbar-brand > a.navbar-item:hover, .navbar.is-success .navbar-brand > a.navbar-item.is-active,
+ .navbar.is-success .navbar-brand .navbar-link:focus,
+ .navbar.is-success .navbar-brand .navbar-link:hover,
+ .navbar.is-success .navbar-brand .navbar-link.is-active {
+ background-color: #1ead51;
+ color: #fff; }
+ .navbar.is-success .navbar-brand .navbar-link::after {
+ border-color: #fff; }
+ .navbar.is-success .navbar-burger {
+ color: #fff; }
+ @media screen and (min-width: 1056px) {
+ .navbar.is-success .navbar-start > .navbar-item,
+ .navbar.is-success .navbar-start .navbar-link,
+ .navbar.is-success .navbar-end > .navbar-item,
+ .navbar.is-success .navbar-end .navbar-link {
+ color: #fff; }
+ .navbar.is-success .navbar-start > a.navbar-item:focus, .navbar.is-success .navbar-start > a.navbar-item:hover, .navbar.is-success .navbar-start > a.navbar-item.is-active,
+ .navbar.is-success .navbar-start .navbar-link:focus,
+ .navbar.is-success .navbar-start .navbar-link:hover,
+ .navbar.is-success .navbar-start .navbar-link.is-active,
+ .navbar.is-success .navbar-end > a.navbar-item:focus,
+ .navbar.is-success .navbar-end > a.navbar-item:hover,
+ .navbar.is-success .navbar-end > a.navbar-item.is-active,
+ .navbar.is-success .navbar-end .navbar-link:focus,
+ .navbar.is-success .navbar-end .navbar-link:hover,
+ .navbar.is-success .navbar-end .navbar-link.is-active {
+ background-color: #1ead51;
+ color: #fff; }
+ .navbar.is-success .navbar-start .navbar-link::after,
+ .navbar.is-success .navbar-end .navbar-link::after {
+ border-color: #fff; }
+ .navbar.is-success .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-success .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #1ead51;
+ color: #fff; }
+ .navbar.is-success .navbar-dropdown a.navbar-item.is-active {
+ background-color: #22c35b;
+ color: #fff; } }
+ .navbar.is-warning {
+ background-color: #ffdd57;
+ color: rgba(0, 0, 0, 0.7); }
+ .navbar.is-warning .navbar-brand > .navbar-item,
+ .navbar.is-warning .navbar-brand .navbar-link {
+ color: rgba(0, 0, 0, 0.7); }
+ .navbar.is-warning .navbar-brand > a.navbar-item:focus, .navbar.is-warning .navbar-brand > a.navbar-item:hover, .navbar.is-warning .navbar-brand > a.navbar-item.is-active,
+ .navbar.is-warning .navbar-brand .navbar-link:focus,
+ .navbar.is-warning .navbar-brand .navbar-link:hover,
+ .navbar.is-warning .navbar-brand .navbar-link.is-active {
+ background-color: #ffd83e;
+ color: rgba(0, 0, 0, 0.7); }
+ .navbar.is-warning .navbar-brand .navbar-link::after {
+ border-color: rgba(0, 0, 0, 0.7); }
+ .navbar.is-warning .navbar-burger {
+ color: rgba(0, 0, 0, 0.7); }
+ @media screen and (min-width: 1056px) {
+ .navbar.is-warning .navbar-start > .navbar-item,
+ .navbar.is-warning .navbar-start .navbar-link,
+ .navbar.is-warning .navbar-end > .navbar-item,
+ .navbar.is-warning .navbar-end .navbar-link {
+ color: rgba(0, 0, 0, 0.7); }
+ .navbar.is-warning .navbar-start > a.navbar-item:focus, .navbar.is-warning .navbar-start > a.navbar-item:hover, .navbar.is-warning .navbar-start > a.navbar-item.is-active,
+ .navbar.is-warning .navbar-start .navbar-link:focus,
+ .navbar.is-warning .navbar-start .navbar-link:hover,
+ .navbar.is-warning .navbar-start .navbar-link.is-active,
+ .navbar.is-warning .navbar-end > a.navbar-item:focus,
+ .navbar.is-warning .navbar-end > a.navbar-item:hover,
+ .navbar.is-warning .navbar-end > a.navbar-item.is-active,
+ .navbar.is-warning .navbar-end .navbar-link:focus,
+ .navbar.is-warning .navbar-end .navbar-link:hover,
+ .navbar.is-warning .navbar-end .navbar-link.is-active {
+ background-color: #ffd83e;
+ color: rgba(0, 0, 0, 0.7); }
+ .navbar.is-warning .navbar-start .navbar-link::after,
+ .navbar.is-warning .navbar-end .navbar-link::after {
+ border-color: rgba(0, 0, 0, 0.7); }
+ .navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #ffd83e;
+ color: rgba(0, 0, 0, 0.7); }
+ .navbar.is-warning .navbar-dropdown a.navbar-item.is-active {
+ background-color: #ffdd57;
+ color: rgba(0, 0, 0, 0.7); } }
+ .navbar.is-danger {
+ background-color: #da0b00;
+ color: #fff; }
+ .navbar.is-danger .navbar-brand > .navbar-item,
+ .navbar.is-danger .navbar-brand .navbar-link {
+ color: #fff; }
+ .navbar.is-danger .navbar-brand > a.navbar-item:focus, .navbar.is-danger .navbar-brand > a.navbar-item:hover, .navbar.is-danger .navbar-brand > a.navbar-item.is-active,
+ .navbar.is-danger .navbar-brand .navbar-link:focus,
+ .navbar.is-danger .navbar-brand .navbar-link:hover,
+ .navbar.is-danger .navbar-brand .navbar-link.is-active {
+ background-color: #c10a00;
+ color: #fff; }
+ .navbar.is-danger .navbar-brand .navbar-link::after {
+ border-color: #fff; }
+ .navbar.is-danger .navbar-burger {
+ color: #fff; }
+ @media screen and (min-width: 1056px) {
+ .navbar.is-danger .navbar-start > .navbar-item,
+ .navbar.is-danger .navbar-start .navbar-link,
+ .navbar.is-danger .navbar-end > .navbar-item,
+ .navbar.is-danger .navbar-end .navbar-link {
+ color: #fff; }
+ .navbar.is-danger .navbar-start > a.navbar-item:focus, .navbar.is-danger .navbar-start > a.navbar-item:hover, .navbar.is-danger .navbar-start > a.navbar-item.is-active,
+ .navbar.is-danger .navbar-start .navbar-link:focus,
+ .navbar.is-danger .navbar-start .navbar-link:hover,
+ .navbar.is-danger .navbar-start .navbar-link.is-active,
+ .navbar.is-danger .navbar-end > a.navbar-item:focus,
+ .navbar.is-danger .navbar-end > a.navbar-item:hover,
+ .navbar.is-danger .navbar-end > a.navbar-item.is-active,
+ .navbar.is-danger .navbar-end .navbar-link:focus,
+ .navbar.is-danger .navbar-end .navbar-link:hover,
+ .navbar.is-danger .navbar-end .navbar-link.is-active {
+ background-color: #c10a00;
+ color: #fff; }
+ .navbar.is-danger .navbar-start .navbar-link::after,
+ .navbar.is-danger .navbar-end .navbar-link::after {
+ border-color: #fff; }
+ .navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link,
+ .navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link,
+ .navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #c10a00;
+ color: #fff; }
+ .navbar.is-danger .navbar-dropdown a.navbar-item.is-active {
+ background-color: #da0b00;
+ color: #fff; } }
+ .navbar > .container {
+ align-items: stretch;
+ display: flex;
+ min-height: 3.25rem;
+ width: 100%; }
+ .navbar.has-shadow {
+ box-shadow: 0 2px 0 0 whitesmoke; }
+ .navbar.is-fixed-bottom, .navbar.is-fixed-top {
+ left: 0;
+ position: fixed;
+ right: 0;
+ z-index: 30; }
+ .navbar.is-fixed-bottom {
+ bottom: 0; }
+ .navbar.is-fixed-bottom.has-shadow {
+ box-shadow: 0 -2px 0 0 whitesmoke; }
+ .navbar.is-fixed-top {
+ top: 0; }
+
+html.has-navbar-fixed-top,
+body.has-navbar-fixed-top {
+ padding-top: 3.25rem; }
+
+html.has-navbar-fixed-bottom,
+body.has-navbar-fixed-bottom {
+ padding-bottom: 3.25rem; }
+
+.navbar-brand,
+.navbar-tabs {
+ align-items: stretch;
+ display: flex;
+ flex-shrink: 0;
+ min-height: 3.25rem; }
+
+.navbar-brand a.navbar-item:focus, .navbar-brand a.navbar-item:hover {
+ background-color: transparent; }
+
+.navbar-tabs {
+ -webkit-overflow-scrolling: touch;
+ max-width: 100vw;
+ overflow-x: auto;
+ overflow-y: hidden; }
+
+.navbar-burger {
+ color: #4a4a4a;
+ cursor: pointer;
+ display: block;
+ height: 3.25rem;
+ position: relative;
+ width: 3.25rem;
+ margin-left: auto; }
+ .navbar-burger span {
+ background-color: currentColor;
+ display: block;
+ height: 1px;
+ left: calc(50% - 8px);
+ position: absolute;
+ transform-origin: center;
+ transition-duration: 86ms;
+ transition-property: background-color, opacity, transform;
+ transition-timing-function: ease-out;
+ width: 16px; }
+ .navbar-burger span:nth-child(1) {
+ top: calc(50% - 6px); }
+ .navbar-burger span:nth-child(2) {
+ top: calc(50% - 1px); }
+ .navbar-burger span:nth-child(3) {
+ top: calc(50% + 4px); }
+ .navbar-burger:hover {
+ background-color: rgba(0, 0, 0, 0.05); }
+ .navbar-burger.is-active span:nth-child(1) {
+ transform: translateY(5px) rotate(45deg); }
+ .navbar-burger.is-active span:nth-child(2) {
+ opacity: 0; }
+ .navbar-burger.is-active span:nth-child(3) {
+ transform: translateY(-5px) rotate(-45deg); }
+
+.navbar-menu {
+ display: none; }
+
+.navbar-item,
+.navbar-link {
+ color: #4a4a4a;
+ display: block;
+ line-height: 1.5;
+ padding: 0.5rem 0.75rem;
+ position: relative; }
+ .navbar-item .icon:only-child,
+ .navbar-link .icon:only-child {
+ margin-left: -0.25rem;
+ margin-right: -0.25rem; }
+
+a.navbar-item,
+.navbar-link {
+ cursor: pointer; }
+ a.navbar-item:focus, a.navbar-item:focus-within, a.navbar-item:hover, a.navbar-item.is-active,
+ .navbar-link:focus,
+ .navbar-link:focus-within,
+ .navbar-link:hover,
+ .navbar-link.is-active {
+ background-color: #fafafa;
+ color: #2e63b8; }
+
+.navbar-item {
+ display: block;
+ flex-grow: 0;
+ flex-shrink: 0; }
+ .navbar-item img {
+ max-height: 1.75rem; }
+ .navbar-item.has-dropdown {
+ padding: 0; }
+ .navbar-item.is-expanded {
+ flex-grow: 1;
+ flex-shrink: 1; }
+ .navbar-item.is-tab {
+ border-bottom: 1px solid transparent;
+ min-height: 3.25rem;
+ padding-bottom: calc(0.5rem - 1px); }
+ .navbar-item.is-tab:focus, .navbar-item.is-tab:hover {
+ background-color: transparent;
+ border-bottom-color: #2e63b8; }
+ .navbar-item.is-tab.is-active {
+ background-color: transparent;
+ border-bottom-color: #2e63b8;
+ border-bottom-style: solid;
+ border-bottom-width: 3px;
+ color: #2e63b8;
+ padding-bottom: calc(0.5rem - 3px); }
+
+.navbar-content {
+ flex-grow: 1;
+ flex-shrink: 1; }
+
+.navbar-link:not(.is-arrowless) {
+ padding-right: 2.5em; }
+ .navbar-link:not(.is-arrowless)::after {
+ border-color: #2e63b8;
+ margin-top: -0.375em;
+ right: 1.125em; }
+
+.navbar-dropdown {
+ font-size: 0.875rem;
+ padding-bottom: 0.5rem;
+ padding-top: 0.5rem; }
+ .navbar-dropdown .navbar-item {
+ padding-left: 1.5rem;
+ padding-right: 1.5rem; }
+
+.navbar-divider {
+ background-color: whitesmoke;
+ border: none;
+ display: none;
+ height: 2px;
+ margin: 0.5rem 0; }
+
+@media screen and (max-width: 1055px) {
+ .navbar > .container {
+ display: block; }
+ .navbar-brand .navbar-item,
+ .navbar-tabs .navbar-item {
+ align-items: center;
+ display: flex; }
+ .navbar-link::after {
+ display: none; }
+ .navbar-menu {
+ background-color: white;
+ box-shadow: 0 8px 16px rgba(10, 10, 10, 0.1);
+ padding: 0.5rem 0; }
+ .navbar-menu.is-active {
+ display: block; }
+ .navbar.is-fixed-bottom-touch, .navbar.is-fixed-top-touch {
+ left: 0;
+ position: fixed;
+ right: 0;
+ z-index: 30; }
+ .navbar.is-fixed-bottom-touch {
+ bottom: 0; }
+ .navbar.is-fixed-bottom-touch.has-shadow {
+ box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); }
+ .navbar.is-fixed-top-touch {
+ top: 0; }
+ .navbar.is-fixed-top .navbar-menu, .navbar.is-fixed-top-touch .navbar-menu {
+ -webkit-overflow-scrolling: touch;
+ max-height: calc(100vh - 3.25rem);
+ overflow: auto; }
+ html.has-navbar-fixed-top-touch,
+ body.has-navbar-fixed-top-touch {
+ padding-top: 3.25rem; }
+ html.has-navbar-fixed-bottom-touch,
+ body.has-navbar-fixed-bottom-touch {
+ padding-bottom: 3.25rem; } }
+
+@media screen and (min-width: 1056px) {
+ .navbar,
+ .navbar-menu,
+ .navbar-start,
+ .navbar-end {
+ align-items: stretch;
+ display: flex; }
+ .navbar {
+ min-height: 3.25rem; }
+ .navbar.is-spaced {
+ padding: 1rem 2rem; }
+ .navbar.is-spaced .navbar-start,
+ .navbar.is-spaced .navbar-end {
+ align-items: center; }
+ .navbar.is-spaced a.navbar-item,
+ .navbar.is-spaced .navbar-link {
+ border-radius: 4px; }
+ .navbar.is-transparent a.navbar-item:focus, .navbar.is-transparent a.navbar-item:hover, .navbar.is-transparent a.navbar-item.is-active,
+ .navbar.is-transparent .navbar-link:focus,
+ .navbar.is-transparent .navbar-link:hover,
+ .navbar.is-transparent .navbar-link.is-active {
+ background-color: transparent !important; }
+ .navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link {
+ background-color: transparent !important; }
+ .navbar.is-transparent .navbar-dropdown a.navbar-item:focus, .navbar.is-transparent .navbar-dropdown a.navbar-item:hover {
+ background-color: whitesmoke;
+ color: #0a0a0a; }
+ .navbar.is-transparent .navbar-dropdown a.navbar-item.is-active {
+ background-color: whitesmoke;
+ color: #2e63b8; }
+ .navbar-burger {
+ display: none; }
+ .navbar-item,
+ .navbar-link {
+ align-items: center;
+ display: flex; }
+ .navbar-item {
+ display: flex; }
+ .navbar-item.has-dropdown {
+ align-items: stretch; }
+ .navbar-item.has-dropdown-up .navbar-link::after {
+ transform: rotate(135deg) translate(0.25em, -0.25em); }
+ .navbar-item.has-dropdown-up .navbar-dropdown {
+ border-bottom: 2px solid #dbdbdb;
+ border-radius: 6px 6px 0 0;
+ border-top: none;
+ bottom: 100%;
+ box-shadow: 0 -8px 8px rgba(10, 10, 10, 0.1);
+ top: auto; }
+ .navbar-item.is-active .navbar-dropdown, .navbar-item.is-hoverable:focus .navbar-dropdown, .navbar-item.is-hoverable:focus-within .navbar-dropdown, .navbar-item.is-hoverable:hover .navbar-dropdown {
+ display: block; }
+ .navbar.is-spaced .navbar-item.is-active .navbar-dropdown, .navbar-item.is-active .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:focus .navbar-dropdown, .navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:focus-within .navbar-dropdown, .navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:hover .navbar-dropdown, .navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed {
+ opacity: 1;
+ pointer-events: auto;
+ transform: translateY(0); }
+ .navbar-menu {
+ flex-grow: 1;
+ flex-shrink: 0; }
+ .navbar-start {
+ justify-content: flex-start;
+ margin-right: auto; }
+ .navbar-end {
+ justify-content: flex-end;
+ margin-left: auto; }
+ .navbar-dropdown {
+ background-color: white;
+ border-bottom-left-radius: 6px;
+ border-bottom-right-radius: 6px;
+ border-top: 2px solid #dbdbdb;
+ box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1);
+ display: none;
+ font-size: 0.875rem;
+ left: 0;
+ min-width: 100%;
+ position: absolute;
+ top: 100%;
+ z-index: 20; }
+ .navbar-dropdown .navbar-item {
+ padding: 0.375rem 1rem;
+ white-space: nowrap; }
+ .navbar-dropdown a.navbar-item {
+ padding-right: 3rem; }
+ .navbar-dropdown a.navbar-item:focus, .navbar-dropdown a.navbar-item:hover {
+ background-color: whitesmoke;
+ color: #0a0a0a; }
+ .navbar-dropdown a.navbar-item.is-active {
+ background-color: whitesmoke;
+ color: #2e63b8; }
+ .navbar.is-spaced .navbar-dropdown, .navbar-dropdown.is-boxed {
+ border-radius: 6px;
+ border-top: none;
+ box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
+ display: block;
+ opacity: 0;
+ pointer-events: none;
+ top: calc(100% + (-4px));
+ transform: translateY(-5px);
+ transition-duration: 86ms;
+ transition-property: opacity, transform; }
+ .navbar-dropdown.is-right {
+ left: auto;
+ right: 0; }
+ .navbar-divider {
+ display: block; }
+ .navbar > .container .navbar-brand,
+ .container > .navbar .navbar-brand {
+ margin-left: -.75rem; }
+ .navbar > .container .navbar-menu,
+ .container > .navbar .navbar-menu {
+ margin-right: -.75rem; }
+ .navbar.is-fixed-bottom-desktop, .navbar.is-fixed-top-desktop {
+ left: 0;
+ position: fixed;
+ right: 0;
+ z-index: 30; }
+ .navbar.is-fixed-bottom-desktop {
+ bottom: 0; }
+ .navbar.is-fixed-bottom-desktop.has-shadow {
+ box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); }
+ .navbar.is-fixed-top-desktop {
+ top: 0; }
+ html.has-navbar-fixed-top-desktop,
+ body.has-navbar-fixed-top-desktop {
+ padding-top: 3.25rem; }
+ html.has-navbar-fixed-bottom-desktop,
+ body.has-navbar-fixed-bottom-desktop {
+ padding-bottom: 3.25rem; }
+ html.has-spaced-navbar-fixed-top,
+ body.has-spaced-navbar-fixed-top {
+ padding-top: 5.25rem; }
+ html.has-spaced-navbar-fixed-bottom,
+ body.has-spaced-navbar-fixed-bottom {
+ padding-bottom: 5.25rem; }
+ a.navbar-item.is-active,
+ .navbar-link.is-active {
+ color: #0a0a0a; }
+ a.navbar-item.is-active:not(:focus):not(:hover),
+ .navbar-link.is-active:not(:focus):not(:hover) {
+ background-color: transparent; }
+ .navbar-item.has-dropdown:focus .navbar-link, .navbar-item.has-dropdown:hover .navbar-link, .navbar-item.has-dropdown.is-active .navbar-link {
+ background-color: #fafafa; } }
+
+.hero.is-fullheight-with-navbar {
+ min-height: calc(100vh - 3.25rem); }
+
+.pagination {
+ font-size: 1rem;
+ margin: -0.25rem; }
+ .pagination.is-small, #documenter .docs-sidebar form.docs-search > input.pagination {
+ font-size: 0.75rem; }
+ .pagination.is-medium {
+ font-size: 1.25rem; }
+ .pagination.is-large {
+ font-size: 1.5rem; }
+ .pagination.is-rounded .pagination-previous, #documenter .docs-sidebar form.docs-search > input.pagination .pagination-previous,
+ .pagination.is-rounded .pagination-next,
+ #documenter .docs-sidebar form.docs-search > input.pagination .pagination-next {
+ padding-left: 1em;
+ padding-right: 1em;
+ border-radius: 290486px; }
+ .pagination.is-rounded .pagination-link, #documenter .docs-sidebar form.docs-search > input.pagination .pagination-link {
+ border-radius: 290486px; }
+
+.pagination,
+.pagination-list {
+ align-items: center;
+ display: flex;
+ justify-content: center;
+ text-align: center; }
+
+.pagination-previous,
+.pagination-next,
+.pagination-link,
+.pagination-ellipsis {
+ font-size: 1em;
+ justify-content: center;
+ margin: 0.25rem;
+ padding-left: 0.5em;
+ padding-right: 0.5em;
+ text-align: center; }
+
+.pagination-previous,
+.pagination-next,
+.pagination-link {
+ border-color: #dbdbdb;
+ color: #363636;
+ min-width: 2.25em; }
+ .pagination-previous:hover,
+ .pagination-next:hover,
+ .pagination-link:hover {
+ border-color: #b5b5b5;
+ color: #363636; }
+ .pagination-previous:focus,
+ .pagination-next:focus,
+ .pagination-link:focus {
+ border-color: #3c5dcd; }
+ .pagination-previous:active,
+ .pagination-next:active,
+ .pagination-link:active {
+ box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2); }
+ .pagination-previous[disabled],
+ .pagination-next[disabled],
+ .pagination-link[disabled] {
+ background-color: #dbdbdb;
+ border-color: #dbdbdb;
+ box-shadow: none;
+ color: #6b6b6b;
+ opacity: 0.5; }
+
+.pagination-previous,
+.pagination-next {
+ padding-left: 0.75em;
+ padding-right: 0.75em;
+ white-space: nowrap; }
+
+.pagination-link.is-current {
+ background-color: #2e63b8;
+ border-color: #2e63b8;
+ color: #fff; }
+
+.pagination-ellipsis {
+ color: #b5b5b5;
+ pointer-events: none; }
+
+.pagination-list {
+ flex-wrap: wrap; }
+
+@media screen and (max-width: 768px) {
+ .pagination {
+ flex-wrap: wrap; }
+ .pagination-previous,
+ .pagination-next {
+ flex-grow: 1;
+ flex-shrink: 1; }
+ .pagination-list li {
+ flex-grow: 1;
+ flex-shrink: 1; } }
+
+@media screen and (min-width: 769px), print {
+ .pagination-list {
+ flex-grow: 1;
+ flex-shrink: 1;
+ justify-content: flex-start;
+ order: 1; }
+ .pagination-previous {
+ order: 2; }
+ .pagination-next {
+ order: 3; }
+ .pagination {
+ justify-content: space-between; }
+ .pagination.is-centered .pagination-previous {
+ order: 1; }
+ .pagination.is-centered .pagination-list {
+ justify-content: center;
+ order: 2; }
+ .pagination.is-centered .pagination-next {
+ order: 3; }
+ .pagination.is-right .pagination-previous {
+ order: 1; }
+ .pagination.is-right .pagination-next {
+ order: 2; }
+ .pagination.is-right .pagination-list {
+ justify-content: flex-end;
+ order: 3; } }
+
+.panel {
+ font-size: 1rem; }
+ .panel:not(:last-child) {
+ margin-bottom: 1.5rem; }
+
+.panel-heading,
+.panel-tabs,
+.panel-block {
+ border-bottom: 1px solid #dbdbdb;
+ border-left: 1px solid #dbdbdb;
+ border-right: 1px solid #dbdbdb; }
+ .panel-heading:first-child,
+ .panel-tabs:first-child,
+ .panel-block:first-child {
+ border-top: 1px solid #dbdbdb; }
+
+.panel-heading {
+ background-color: whitesmoke;
+ border-radius: 4px 4px 0 0;
+ color: #222222;
+ font-size: 1.25em;
+ font-weight: 300;
+ line-height: 1.25;
+ padding: 0.5em 0.75em; }
+
+.panel-tabs {
+ align-items: flex-end;
+ display: flex;
+ font-size: 0.875em;
+ justify-content: center; }
+ .panel-tabs a {
+ border-bottom: 1px solid #dbdbdb;
+ margin-bottom: -1px;
+ padding: 0.5em; }
+ .panel-tabs a.is-active {
+ border-bottom-color: #4a4a4a;
+ color: #363636; }
+
+.panel-list a {
+ color: #222222; }
+ .panel-list a:hover {
+ color: #2e63b8; }
+
+.panel-block {
+ align-items: center;
+ color: #222222;
+ display: flex;
+ justify-content: flex-start;
+ padding: 0.5em 0.75em; }
+ .panel-block input[type="checkbox"] {
+ margin-right: 0.75em; }
+ .panel-block > .control {
+ flex-grow: 1;
+ flex-shrink: 1;
+ width: 100%; }
+ .panel-block.is-wrapped {
+ flex-wrap: wrap; }
+ .panel-block.is-active {
+ border-left-color: #2e63b8;
+ color: #363636; }
+ .panel-block.is-active .panel-icon {
+ color: #2e63b8; }
+
+a.panel-block,
+label.panel-block {
+ cursor: pointer; }
+ a.panel-block:hover,
+ label.panel-block:hover {
+ background-color: whitesmoke; }
+
+.panel-icon {
+ display: inline-block;
+ font-size: 14px;
+ height: 1em;
+ line-height: 1em;
+ text-align: center;
+ vertical-align: top;
+ width: 1em;
+ color: #6b6b6b;
+ margin-right: 0.75em; }
+ .panel-icon .fa {
+ font-size: inherit;
+ line-height: inherit; }
+
+.tabs {
+ -webkit-overflow-scrolling: touch;
+ align-items: stretch;
+ display: flex;
+ font-size: 1rem;
+ justify-content: space-between;
+ overflow: hidden;
+ overflow-x: auto;
+ white-space: nowrap; }
+ .tabs a {
+ align-items: center;
+ border-bottom-color: #dbdbdb;
+ border-bottom-style: solid;
+ border-bottom-width: 1px;
+ color: #222222;
+ display: flex;
+ justify-content: center;
+ margin-bottom: -1px;
+ padding: 0.5em 1em;
+ vertical-align: top; }
+ .tabs a:hover {
+ border-bottom-color: #222222;
+ color: #222222; }
+ .tabs li {
+ display: block; }
+ .tabs li.is-active a {
+ border-bottom-color: #2e63b8;
+ color: #2e63b8; }
+ .tabs ul {
+ align-items: center;
+ border-bottom-color: #dbdbdb;
+ border-bottom-style: solid;
+ border-bottom-width: 1px;
+ display: flex;
+ flex-grow: 1;
+ flex-shrink: 0;
+ justify-content: flex-start; }
+ .tabs ul.is-left {
+ padding-right: 0.75em; }
+ .tabs ul.is-center {
+ flex: none;
+ justify-content: center;
+ padding-left: 0.75em;
+ padding-right: 0.75em; }
+ .tabs ul.is-right {
+ justify-content: flex-end;
+ padding-left: 0.75em; }
+ .tabs .icon:first-child {
+ margin-right: 0.5em; }
+ .tabs .icon:last-child {
+ margin-left: 0.5em; }
+ .tabs.is-centered ul {
+ justify-content: center; }
+ .tabs.is-right ul {
+ justify-content: flex-end; }
+ .tabs.is-boxed a {
+ border: 1px solid transparent;
+ border-radius: 4px 4px 0 0; }
+ .tabs.is-boxed a:hover {
+ background-color: whitesmoke;
+ border-bottom-color: #dbdbdb; }
+ .tabs.is-boxed li.is-active a {
+ background-color: white;
+ border-color: #dbdbdb;
+ border-bottom-color: transparent !important; }
+ .tabs.is-fullwidth li {
+ flex-grow: 1;
+ flex-shrink: 0; }
+ .tabs.is-toggle a {
+ border-color: #dbdbdb;
+ border-style: solid;
+ border-width: 1px;
+ margin-bottom: 0;
+ position: relative; }
+ .tabs.is-toggle a:hover {
+ background-color: whitesmoke;
+ border-color: #b5b5b5;
+ z-index: 2; }
+ .tabs.is-toggle li + li {
+ margin-left: -1px; }
+ .tabs.is-toggle li:first-child a {
+ border-radius: 4px 0 0 4px; }
+ .tabs.is-toggle li:last-child a {
+ border-radius: 0 4px 4px 0; }
+ .tabs.is-toggle li.is-active a {
+ background-color: #2e63b8;
+ border-color: #2e63b8;
+ color: #fff;
+ z-index: 1; }
+ .tabs.is-toggle ul {
+ border-bottom: none; }
+ .tabs.is-toggle.is-toggle-rounded li:first-child a {
+ border-bottom-left-radius: 290486px;
+ border-top-left-radius: 290486px;
+ padding-left: 1.25em; }
+ .tabs.is-toggle.is-toggle-rounded li:last-child a {
+ border-bottom-right-radius: 290486px;
+ border-top-right-radius: 290486px;
+ padding-right: 1.25em; }
+ .tabs.is-small, #documenter .docs-sidebar form.docs-search > input.tabs {
+ font-size: 0.75rem; }
+ .tabs.is-medium {
+ font-size: 1.25rem; }
+ .tabs.is-large {
+ font-size: 1.5rem; }
+
+.column {
+ display: block;
+ flex-basis: 0;
+ flex-grow: 1;
+ flex-shrink: 1;
+ padding: 0.75rem; }
+ .columns.is-mobile > .column.is-narrow {
+ flex: none; }
+ .columns.is-mobile > .column.is-full {
+ flex: none;
+ width: 100%; }
+ .columns.is-mobile > .column.is-three-quarters {
+ flex: none;
+ width: 75%; }
+ .columns.is-mobile > .column.is-two-thirds {
+ flex: none;
+ width: 66.6666%; }
+ .columns.is-mobile > .column.is-half {
+ flex: none;
+ width: 50%; }
+ .columns.is-mobile > .column.is-one-third {
+ flex: none;
+ width: 33.3333%; }
+ .columns.is-mobile > .column.is-one-quarter {
+ flex: none;
+ width: 25%; }
+ .columns.is-mobile > .column.is-one-fifth {
+ flex: none;
+ width: 20%; }
+ .columns.is-mobile > .column.is-two-fifths {
+ flex: none;
+ width: 40%; }
+ .columns.is-mobile > .column.is-three-fifths {
+ flex: none;
+ width: 60%; }
+ .columns.is-mobile > .column.is-four-fifths {
+ flex: none;
+ width: 80%; }
+ .columns.is-mobile > .column.is-offset-three-quarters {
+ margin-left: 75%; }
+ .columns.is-mobile > .column.is-offset-two-thirds {
+ margin-left: 66.6666%; }
+ .columns.is-mobile > .column.is-offset-half {
+ margin-left: 50%; }
+ .columns.is-mobile > .column.is-offset-one-third {
+ margin-left: 33.3333%; }
+ .columns.is-mobile > .column.is-offset-one-quarter {
+ margin-left: 25%; }
+ .columns.is-mobile > .column.is-offset-one-fifth {
+ margin-left: 20%; }
+ .columns.is-mobile > .column.is-offset-two-fifths {
+ margin-left: 40%; }
+ .columns.is-mobile > .column.is-offset-three-fifths {
+ margin-left: 60%; }
+ .columns.is-mobile > .column.is-offset-four-fifths {
+ margin-left: 80%; }
+ .columns.is-mobile > .column.is-0 {
+ flex: none;
+ width: 0%; }
+ .columns.is-mobile > .column.is-offset-0 {
+ margin-left: 0%; }
+ .columns.is-mobile > .column.is-1 {
+ flex: none;
+ width: 8.3333333333%; }
+ .columns.is-mobile > .column.is-offset-1 {
+ margin-left: 8.3333333333%; }
+ .columns.is-mobile > .column.is-2 {
+ flex: none;
+ width: 16.6666666667%; }
+ .columns.is-mobile > .column.is-offset-2 {
+ margin-left: 16.6666666667%; }
+ .columns.is-mobile > .column.is-3 {
+ flex: none;
+ width: 25%; }
+ .columns.is-mobile > .column.is-offset-3 {
+ margin-left: 25%; }
+ .columns.is-mobile > .column.is-4 {
+ flex: none;
+ width: 33.3333333333%; }
+ .columns.is-mobile > .column.is-offset-4 {
+ margin-left: 33.3333333333%; }
+ .columns.is-mobile > .column.is-5 {
+ flex: none;
+ width: 41.6666666667%; }
+ .columns.is-mobile > .column.is-offset-5 {
+ margin-left: 41.6666666667%; }
+ .columns.is-mobile > .column.is-6 {
+ flex: none;
+ width: 50%; }
+ .columns.is-mobile > .column.is-offset-6 {
+ margin-left: 50%; }
+ .columns.is-mobile > .column.is-7 {
+ flex: none;
+ width: 58.3333333333%; }
+ .columns.is-mobile > .column.is-offset-7 {
+ margin-left: 58.3333333333%; }
+ .columns.is-mobile > .column.is-8 {
+ flex: none;
+ width: 66.6666666667%; }
+ .columns.is-mobile > .column.is-offset-8 {
+ margin-left: 66.6666666667%; }
+ .columns.is-mobile > .column.is-9 {
+ flex: none;
+ width: 75%; }
+ .columns.is-mobile > .column.is-offset-9 {
+ margin-left: 75%; }
+ .columns.is-mobile > .column.is-10 {
+ flex: none;
+ width: 83.3333333333%; }
+ .columns.is-mobile > .column.is-offset-10 {
+ margin-left: 83.3333333333%; }
+ .columns.is-mobile > .column.is-11 {
+ flex: none;
+ width: 91.6666666667%; }
+ .columns.is-mobile > .column.is-offset-11 {
+ margin-left: 91.6666666667%; }
+ .columns.is-mobile > .column.is-12 {
+ flex: none;
+ width: 100%; }
+ .columns.is-mobile > .column.is-offset-12 {
+ margin-left: 100%; }
+ @media screen and (max-width: 768px) {
+ .column.is-narrow-mobile {
+ flex: none; }
+ .column.is-full-mobile {
+ flex: none;
+ width: 100%; }
+ .column.is-three-quarters-mobile {
+ flex: none;
+ width: 75%; }
+ .column.is-two-thirds-mobile {
+ flex: none;
+ width: 66.6666%; }
+ .column.is-half-mobile {
+ flex: none;
+ width: 50%; }
+ .column.is-one-third-mobile {
+ flex: none;
+ width: 33.3333%; }
+ .column.is-one-quarter-mobile {
+ flex: none;
+ width: 25%; }
+ .column.is-one-fifth-mobile {
+ flex: none;
+ width: 20%; }
+ .column.is-two-fifths-mobile {
+ flex: none;
+ width: 40%; }
+ .column.is-three-fifths-mobile {
+ flex: none;
+ width: 60%; }
+ .column.is-four-fifths-mobile {
+ flex: none;
+ width: 80%; }
+ .column.is-offset-three-quarters-mobile {
+ margin-left: 75%; }
+ .column.is-offset-two-thirds-mobile {
+ margin-left: 66.6666%; }
+ .column.is-offset-half-mobile {
+ margin-left: 50%; }
+ .column.is-offset-one-third-mobile {
+ margin-left: 33.3333%; }
+ .column.is-offset-one-quarter-mobile {
+ margin-left: 25%; }
+ .column.is-offset-one-fifth-mobile {
+ margin-left: 20%; }
+ .column.is-offset-two-fifths-mobile {
+ margin-left: 40%; }
+ .column.is-offset-three-fifths-mobile {
+ margin-left: 60%; }
+ .column.is-offset-four-fifths-mobile {
+ margin-left: 80%; }
+ .column.is-0-mobile {
+ flex: none;
+ width: 0%; }
+ .column.is-offset-0-mobile {
+ margin-left: 0%; }
+ .column.is-1-mobile {
+ flex: none;
+ width: 8.3333333333%; }
+ .column.is-offset-1-mobile {
+ margin-left: 8.3333333333%; }
+ .column.is-2-mobile {
+ flex: none;
+ width: 16.6666666667%; }
+ .column.is-offset-2-mobile {
+ margin-left: 16.6666666667%; }
+ .column.is-3-mobile {
+ flex: none;
+ width: 25%; }
+ .column.is-offset-3-mobile {
+ margin-left: 25%; }
+ .column.is-4-mobile {
+ flex: none;
+ width: 33.3333333333%; }
+ .column.is-offset-4-mobile {
+ margin-left: 33.3333333333%; }
+ .column.is-5-mobile {
+ flex: none;
+ width: 41.6666666667%; }
+ .column.is-offset-5-mobile {
+ margin-left: 41.6666666667%; }
+ .column.is-6-mobile {
+ flex: none;
+ width: 50%; }
+ .column.is-offset-6-mobile {
+ margin-left: 50%; }
+ .column.is-7-mobile {
+ flex: none;
+ width: 58.3333333333%; }
+ .column.is-offset-7-mobile {
+ margin-left: 58.3333333333%; }
+ .column.is-8-mobile {
+ flex: none;
+ width: 66.6666666667%; }
+ .column.is-offset-8-mobile {
+ margin-left: 66.6666666667%; }
+ .column.is-9-mobile {
+ flex: none;
+ width: 75%; }
+ .column.is-offset-9-mobile {
+ margin-left: 75%; }
+ .column.is-10-mobile {
+ flex: none;
+ width: 83.3333333333%; }
+ .column.is-offset-10-mobile {
+ margin-left: 83.3333333333%; }
+ .column.is-11-mobile {
+ flex: none;
+ width: 91.6666666667%; }
+ .column.is-offset-11-mobile {
+ margin-left: 91.6666666667%; }
+ .column.is-12-mobile {
+ flex: none;
+ width: 100%; }
+ .column.is-offset-12-mobile {
+ margin-left: 100%; } }
+ @media screen and (min-width: 769px), print {
+ .column.is-narrow, .column.is-narrow-tablet {
+ flex: none; }
+ .column.is-full, .column.is-full-tablet {
+ flex: none;
+ width: 100%; }
+ .column.is-three-quarters, .column.is-three-quarters-tablet {
+ flex: none;
+ width: 75%; }
+ .column.is-two-thirds, .column.is-two-thirds-tablet {
+ flex: none;
+ width: 66.6666%; }
+ .column.is-half, .column.is-half-tablet {
+ flex: none;
+ width: 50%; }
+ .column.is-one-third, .column.is-one-third-tablet {
+ flex: none;
+ width: 33.3333%; }
+ .column.is-one-quarter, .column.is-one-quarter-tablet {
+ flex: none;
+ width: 25%; }
+ .column.is-one-fifth, .column.is-one-fifth-tablet {
+ flex: none;
+ width: 20%; }
+ .column.is-two-fifths, .column.is-two-fifths-tablet {
+ flex: none;
+ width: 40%; }
+ .column.is-three-fifths, .column.is-three-fifths-tablet {
+ flex: none;
+ width: 60%; }
+ .column.is-four-fifths, .column.is-four-fifths-tablet {
+ flex: none;
+ width: 80%; }
+ .column.is-offset-three-quarters, .column.is-offset-three-quarters-tablet {
+ margin-left: 75%; }
+ .column.is-offset-two-thirds, .column.is-offset-two-thirds-tablet {
+ margin-left: 66.6666%; }
+ .column.is-offset-half, .column.is-offset-half-tablet {
+ margin-left: 50%; }
+ .column.is-offset-one-third, .column.is-offset-one-third-tablet {
+ margin-left: 33.3333%; }
+ .column.is-offset-one-quarter, .column.is-offset-one-quarter-tablet {
+ margin-left: 25%; }
+ .column.is-offset-one-fifth, .column.is-offset-one-fifth-tablet {
+ margin-left: 20%; }
+ .column.is-offset-two-fifths, .column.is-offset-two-fifths-tablet {
+ margin-left: 40%; }
+ .column.is-offset-three-fifths, .column.is-offset-three-fifths-tablet {
+ margin-left: 60%; }
+ .column.is-offset-four-fifths, .column.is-offset-four-fifths-tablet {
+ margin-left: 80%; }
+ .column.is-0, .column.is-0-tablet {
+ flex: none;
+ width: 0%; }
+ .column.is-offset-0, .column.is-offset-0-tablet {
+ margin-left: 0%; }
+ .column.is-1, .column.is-1-tablet {
+ flex: none;
+ width: 8.3333333333%; }
+ .column.is-offset-1, .column.is-offset-1-tablet {
+ margin-left: 8.3333333333%; }
+ .column.is-2, .column.is-2-tablet {
+ flex: none;
+ width: 16.6666666667%; }
+ .column.is-offset-2, .column.is-offset-2-tablet {
+ margin-left: 16.6666666667%; }
+ .column.is-3, .column.is-3-tablet {
+ flex: none;
+ width: 25%; }
+ .column.is-offset-3, .column.is-offset-3-tablet {
+ margin-left: 25%; }
+ .column.is-4, .column.is-4-tablet {
+ flex: none;
+ width: 33.3333333333%; }
+ .column.is-offset-4, .column.is-offset-4-tablet {
+ margin-left: 33.3333333333%; }
+ .column.is-5, .column.is-5-tablet {
+ flex: none;
+ width: 41.6666666667%; }
+ .column.is-offset-5, .column.is-offset-5-tablet {
+ margin-left: 41.6666666667%; }
+ .column.is-6, .column.is-6-tablet {
+ flex: none;
+ width: 50%; }
+ .column.is-offset-6, .column.is-offset-6-tablet {
+ margin-left: 50%; }
+ .column.is-7, .column.is-7-tablet {
+ flex: none;
+ width: 58.3333333333%; }
+ .column.is-offset-7, .column.is-offset-7-tablet {
+ margin-left: 58.3333333333%; }
+ .column.is-8, .column.is-8-tablet {
+ flex: none;
+ width: 66.6666666667%; }
+ .column.is-offset-8, .column.is-offset-8-tablet {
+ margin-left: 66.6666666667%; }
+ .column.is-9, .column.is-9-tablet {
+ flex: none;
+ width: 75%; }
+ .column.is-offset-9, .column.is-offset-9-tablet {
+ margin-left: 75%; }
+ .column.is-10, .column.is-10-tablet {
+ flex: none;
+ width: 83.3333333333%; }
+ .column.is-offset-10, .column.is-offset-10-tablet {
+ margin-left: 83.3333333333%; }
+ .column.is-11, .column.is-11-tablet {
+ flex: none;
+ width: 91.6666666667%; }
+ .column.is-offset-11, .column.is-offset-11-tablet {
+ margin-left: 91.6666666667%; }
+ .column.is-12, .column.is-12-tablet {
+ flex: none;
+ width: 100%; }
+ .column.is-offset-12, .column.is-offset-12-tablet {
+ margin-left: 100%; } }
+ @media screen and (max-width: 1055px) {
+ .column.is-narrow-touch {
+ flex: none; }
+ .column.is-full-touch {
+ flex: none;
+ width: 100%; }
+ .column.is-three-quarters-touch {
+ flex: none;
+ width: 75%; }
+ .column.is-two-thirds-touch {
+ flex: none;
+ width: 66.6666%; }
+ .column.is-half-touch {
+ flex: none;
+ width: 50%; }
+ .column.is-one-third-touch {
+ flex: none;
+ width: 33.3333%; }
+ .column.is-one-quarter-touch {
+ flex: none;
+ width: 25%; }
+ .column.is-one-fifth-touch {
+ flex: none;
+ width: 20%; }
+ .column.is-two-fifths-touch {
+ flex: none;
+ width: 40%; }
+ .column.is-three-fifths-touch {
+ flex: none;
+ width: 60%; }
+ .column.is-four-fifths-touch {
+ flex: none;
+ width: 80%; }
+ .column.is-offset-three-quarters-touch {
+ margin-left: 75%; }
+ .column.is-offset-two-thirds-touch {
+ margin-left: 66.6666%; }
+ .column.is-offset-half-touch {
+ margin-left: 50%; }
+ .column.is-offset-one-third-touch {
+ margin-left: 33.3333%; }
+ .column.is-offset-one-quarter-touch {
+ margin-left: 25%; }
+ .column.is-offset-one-fifth-touch {
+ margin-left: 20%; }
+ .column.is-offset-two-fifths-touch {
+ margin-left: 40%; }
+ .column.is-offset-three-fifths-touch {
+ margin-left: 60%; }
+ .column.is-offset-four-fifths-touch {
+ margin-left: 80%; }
+ .column.is-0-touch {
+ flex: none;
+ width: 0%; }
+ .column.is-offset-0-touch {
+ margin-left: 0%; }
+ .column.is-1-touch {
+ flex: none;
+ width: 8.3333333333%; }
+ .column.is-offset-1-touch {
+ margin-left: 8.3333333333%; }
+ .column.is-2-touch {
+ flex: none;
+ width: 16.6666666667%; }
+ .column.is-offset-2-touch {
+ margin-left: 16.6666666667%; }
+ .column.is-3-touch {
+ flex: none;
+ width: 25%; }
+ .column.is-offset-3-touch {
+ margin-left: 25%; }
+ .column.is-4-touch {
+ flex: none;
+ width: 33.3333333333%; }
+ .column.is-offset-4-touch {
+ margin-left: 33.3333333333%; }
+ .column.is-5-touch {
+ flex: none;
+ width: 41.6666666667%; }
+ .column.is-offset-5-touch {
+ margin-left: 41.6666666667%; }
+ .column.is-6-touch {
+ flex: none;
+ width: 50%; }
+ .column.is-offset-6-touch {
+ margin-left: 50%; }
+ .column.is-7-touch {
+ flex: none;
+ width: 58.3333333333%; }
+ .column.is-offset-7-touch {
+ margin-left: 58.3333333333%; }
+ .column.is-8-touch {
+ flex: none;
+ width: 66.6666666667%; }
+ .column.is-offset-8-touch {
+ margin-left: 66.6666666667%; }
+ .column.is-9-touch {
+ flex: none;
+ width: 75%; }
+ .column.is-offset-9-touch {
+ margin-left: 75%; }
+ .column.is-10-touch {
+ flex: none;
+ width: 83.3333333333%; }
+ .column.is-offset-10-touch {
+ margin-left: 83.3333333333%; }
+ .column.is-11-touch {
+ flex: none;
+ width: 91.6666666667%; }
+ .column.is-offset-11-touch {
+ margin-left: 91.6666666667%; }
+ .column.is-12-touch {
+ flex: none;
+ width: 100%; }
+ .column.is-offset-12-touch {
+ margin-left: 100%; } }
+ @media screen and (min-width: 1056px) {
+ .column.is-narrow-desktop {
+ flex: none; }
+ .column.is-full-desktop {
+ flex: none;
+ width: 100%; }
+ .column.is-three-quarters-desktop {
+ flex: none;
+ width: 75%; }
+ .column.is-two-thirds-desktop {
+ flex: none;
+ width: 66.6666%; }
+ .column.is-half-desktop {
+ flex: none;
+ width: 50%; }
+ .column.is-one-third-desktop {
+ flex: none;
+ width: 33.3333%; }
+ .column.is-one-quarter-desktop {
+ flex: none;
+ width: 25%; }
+ .column.is-one-fifth-desktop {
+ flex: none;
+ width: 20%; }
+ .column.is-two-fifths-desktop {
+ flex: none;
+ width: 40%; }
+ .column.is-three-fifths-desktop {
+ flex: none;
+ width: 60%; }
+ .column.is-four-fifths-desktop {
+ flex: none;
+ width: 80%; }
+ .column.is-offset-three-quarters-desktop {
+ margin-left: 75%; }
+ .column.is-offset-two-thirds-desktop {
+ margin-left: 66.6666%; }
+ .column.is-offset-half-desktop {
+ margin-left: 50%; }
+ .column.is-offset-one-third-desktop {
+ margin-left: 33.3333%; }
+ .column.is-offset-one-quarter-desktop {
+ margin-left: 25%; }
+ .column.is-offset-one-fifth-desktop {
+ margin-left: 20%; }
+ .column.is-offset-two-fifths-desktop {
+ margin-left: 40%; }
+ .column.is-offset-three-fifths-desktop {
+ margin-left: 60%; }
+ .column.is-offset-four-fifths-desktop {
+ margin-left: 80%; }
+ .column.is-0-desktop {
+ flex: none;
+ width: 0%; }
+ .column.is-offset-0-desktop {
+ margin-left: 0%; }
+ .column.is-1-desktop {
+ flex: none;
+ width: 8.3333333333%; }
+ .column.is-offset-1-desktop {
+ margin-left: 8.3333333333%; }
+ .column.is-2-desktop {
+ flex: none;
+ width: 16.6666666667%; }
+ .column.is-offset-2-desktop {
+ margin-left: 16.6666666667%; }
+ .column.is-3-desktop {
+ flex: none;
+ width: 25%; }
+ .column.is-offset-3-desktop {
+ margin-left: 25%; }
+ .column.is-4-desktop {
+ flex: none;
+ width: 33.3333333333%; }
+ .column.is-offset-4-desktop {
+ margin-left: 33.3333333333%; }
+ .column.is-5-desktop {
+ flex: none;
+ width: 41.6666666667%; }
+ .column.is-offset-5-desktop {
+ margin-left: 41.6666666667%; }
+ .column.is-6-desktop {
+ flex: none;
+ width: 50%; }
+ .column.is-offset-6-desktop {
+ margin-left: 50%; }
+ .column.is-7-desktop {
+ flex: none;
+ width: 58.3333333333%; }
+ .column.is-offset-7-desktop {
+ margin-left: 58.3333333333%; }
+ .column.is-8-desktop {
+ flex: none;
+ width: 66.6666666667%; }
+ .column.is-offset-8-desktop {
+ margin-left: 66.6666666667%; }
+ .column.is-9-desktop {
+ flex: none;
+ width: 75%; }
+ .column.is-offset-9-desktop {
+ margin-left: 75%; }
+ .column.is-10-desktop {
+ flex: none;
+ width: 83.3333333333%; }
+ .column.is-offset-10-desktop {
+ margin-left: 83.3333333333%; }
+ .column.is-11-desktop {
+ flex: none;
+ width: 91.6666666667%; }
+ .column.is-offset-11-desktop {
+ margin-left: 91.6666666667%; }
+ .column.is-12-desktop {
+ flex: none;
+ width: 100%; }
+ .column.is-offset-12-desktop {
+ margin-left: 100%; } }
+ @media screen and (min-width: 1216px) {
+ .column.is-narrow-widescreen {
+ flex: none; }
+ .column.is-full-widescreen {
+ flex: none;
+ width: 100%; }
+ .column.is-three-quarters-widescreen {
+ flex: none;
+ width: 75%; }
+ .column.is-two-thirds-widescreen {
+ flex: none;
+ width: 66.6666%; }
+ .column.is-half-widescreen {
+ flex: none;
+ width: 50%; }
+ .column.is-one-third-widescreen {
+ flex: none;
+ width: 33.3333%; }
+ .column.is-one-quarter-widescreen {
+ flex: none;
+ width: 25%; }
+ .column.is-one-fifth-widescreen {
+ flex: none;
+ width: 20%; }
+ .column.is-two-fifths-widescreen {
+ flex: none;
+ width: 40%; }
+ .column.is-three-fifths-widescreen {
+ flex: none;
+ width: 60%; }
+ .column.is-four-fifths-widescreen {
+ flex: none;
+ width: 80%; }
+ .column.is-offset-three-quarters-widescreen {
+ margin-left: 75%; }
+ .column.is-offset-two-thirds-widescreen {
+ margin-left: 66.6666%; }
+ .column.is-offset-half-widescreen {
+ margin-left: 50%; }
+ .column.is-offset-one-third-widescreen {
+ margin-left: 33.3333%; }
+ .column.is-offset-one-quarter-widescreen {
+ margin-left: 25%; }
+ .column.is-offset-one-fifth-widescreen {
+ margin-left: 20%; }
+ .column.is-offset-two-fifths-widescreen {
+ margin-left: 40%; }
+ .column.is-offset-three-fifths-widescreen {
+ margin-left: 60%; }
+ .column.is-offset-four-fifths-widescreen {
+ margin-left: 80%; }
+ .column.is-0-widescreen {
+ flex: none;
+ width: 0%; }
+ .column.is-offset-0-widescreen {
+ margin-left: 0%; }
+ .column.is-1-widescreen {
+ flex: none;
+ width: 8.3333333333%; }
+ .column.is-offset-1-widescreen {
+ margin-left: 8.3333333333%; }
+ .column.is-2-widescreen {
+ flex: none;
+ width: 16.6666666667%; }
+ .column.is-offset-2-widescreen {
+ margin-left: 16.6666666667%; }
+ .column.is-3-widescreen {
+ flex: none;
+ width: 25%; }
+ .column.is-offset-3-widescreen {
+ margin-left: 25%; }
+ .column.is-4-widescreen {
+ flex: none;
+ width: 33.3333333333%; }
+ .column.is-offset-4-widescreen {
+ margin-left: 33.3333333333%; }
+ .column.is-5-widescreen {
+ flex: none;
+ width: 41.6666666667%; }
+ .column.is-offset-5-widescreen {
+ margin-left: 41.6666666667%; }
+ .column.is-6-widescreen {
+ flex: none;
+ width: 50%; }
+ .column.is-offset-6-widescreen {
+ margin-left: 50%; }
+ .column.is-7-widescreen {
+ flex: none;
+ width: 58.3333333333%; }
+ .column.is-offset-7-widescreen {
+ margin-left: 58.3333333333%; }
+ .column.is-8-widescreen {
+ flex: none;
+ width: 66.6666666667%; }
+ .column.is-offset-8-widescreen {
+ margin-left: 66.6666666667%; }
+ .column.is-9-widescreen {
+ flex: none;
+ width: 75%; }
+ .column.is-offset-9-widescreen {
+ margin-left: 75%; }
+ .column.is-10-widescreen {
+ flex: none;
+ width: 83.3333333333%; }
+ .column.is-offset-10-widescreen {
+ margin-left: 83.3333333333%; }
+ .column.is-11-widescreen {
+ flex: none;
+ width: 91.6666666667%; }
+ .column.is-offset-11-widescreen {
+ margin-left: 91.6666666667%; }
+ .column.is-12-widescreen {
+ flex: none;
+ width: 100%; }
+ .column.is-offset-12-widescreen {
+ margin-left: 100%; } }
+ @media screen and (min-width: 1408px) {
+ .column.is-narrow-fullhd {
+ flex: none; }
+ .column.is-full-fullhd {
+ flex: none;
+ width: 100%; }
+ .column.is-three-quarters-fullhd {
+ flex: none;
+ width: 75%; }
+ .column.is-two-thirds-fullhd {
+ flex: none;
+ width: 66.6666%; }
+ .column.is-half-fullhd {
+ flex: none;
+ width: 50%; }
+ .column.is-one-third-fullhd {
+ flex: none;
+ width: 33.3333%; }
+ .column.is-one-quarter-fullhd {
+ flex: none;
+ width: 25%; }
+ .column.is-one-fifth-fullhd {
+ flex: none;
+ width: 20%; }
+ .column.is-two-fifths-fullhd {
+ flex: none;
+ width: 40%; }
+ .column.is-three-fifths-fullhd {
+ flex: none;
+ width: 60%; }
+ .column.is-four-fifths-fullhd {
+ flex: none;
+ width: 80%; }
+ .column.is-offset-three-quarters-fullhd {
+ margin-left: 75%; }
+ .column.is-offset-two-thirds-fullhd {
+ margin-left: 66.6666%; }
+ .column.is-offset-half-fullhd {
+ margin-left: 50%; }
+ .column.is-offset-one-third-fullhd {
+ margin-left: 33.3333%; }
+ .column.is-offset-one-quarter-fullhd {
+ margin-left: 25%; }
+ .column.is-offset-one-fifth-fullhd {
+ margin-left: 20%; }
+ .column.is-offset-two-fifths-fullhd {
+ margin-left: 40%; }
+ .column.is-offset-three-fifths-fullhd {
+ margin-left: 60%; }
+ .column.is-offset-four-fifths-fullhd {
+ margin-left: 80%; }
+ .column.is-0-fullhd {
+ flex: none;
+ width: 0%; }
+ .column.is-offset-0-fullhd {
+ margin-left: 0%; }
+ .column.is-1-fullhd {
+ flex: none;
+ width: 8.3333333333%; }
+ .column.is-offset-1-fullhd {
+ margin-left: 8.3333333333%; }
+ .column.is-2-fullhd {
+ flex: none;
+ width: 16.6666666667%; }
+ .column.is-offset-2-fullhd {
+ margin-left: 16.6666666667%; }
+ .column.is-3-fullhd {
+ flex: none;
+ width: 25%; }
+ .column.is-offset-3-fullhd {
+ margin-left: 25%; }
+ .column.is-4-fullhd {
+ flex: none;
+ width: 33.3333333333%; }
+ .column.is-offset-4-fullhd {
+ margin-left: 33.3333333333%; }
+ .column.is-5-fullhd {
+ flex: none;
+ width: 41.6666666667%; }
+ .column.is-offset-5-fullhd {
+ margin-left: 41.6666666667%; }
+ .column.is-6-fullhd {
+ flex: none;
+ width: 50%; }
+ .column.is-offset-6-fullhd {
+ margin-left: 50%; }
+ .column.is-7-fullhd {
+ flex: none;
+ width: 58.3333333333%; }
+ .column.is-offset-7-fullhd {
+ margin-left: 58.3333333333%; }
+ .column.is-8-fullhd {
+ flex: none;
+ width: 66.6666666667%; }
+ .column.is-offset-8-fullhd {
+ margin-left: 66.6666666667%; }
+ .column.is-9-fullhd {
+ flex: none;
+ width: 75%; }
+ .column.is-offset-9-fullhd {
+ margin-left: 75%; }
+ .column.is-10-fullhd {
+ flex: none;
+ width: 83.3333333333%; }
+ .column.is-offset-10-fullhd {
+ margin-left: 83.3333333333%; }
+ .column.is-11-fullhd {
+ flex: none;
+ width: 91.6666666667%; }
+ .column.is-offset-11-fullhd {
+ margin-left: 91.6666666667%; }
+ .column.is-12-fullhd {
+ flex: none;
+ width: 100%; }
+ .column.is-offset-12-fullhd {
+ margin-left: 100%; } }
+.columns {
+ margin-left: -0.75rem;
+ margin-right: -0.75rem;
+ margin-top: -0.75rem; }
+ .columns:last-child {
+ margin-bottom: -0.75rem; }
+ .columns:not(:last-child) {
+ margin-bottom: calc(1.5rem - 0.75rem); }
+ .columns.is-centered {
+ justify-content: center; }
+ .columns.is-gapless {
+ margin-left: 0;
+ margin-right: 0;
+ margin-top: 0; }
+ .columns.is-gapless > .column {
+ margin: 0;
+ padding: 0 !important; }
+ .columns.is-gapless:not(:last-child) {
+ margin-bottom: 1.5rem; }
+ .columns.is-gapless:last-child {
+ margin-bottom: 0; }
+ .columns.is-mobile {
+ display: flex; }
+ .columns.is-multiline {
+ flex-wrap: wrap; }
+ .columns.is-vcentered {
+ align-items: center; }
+ @media screen and (min-width: 769px), print {
+ .columns:not(.is-desktop) {
+ display: flex; } }
+ @media screen and (min-width: 1056px) {
+ .columns.is-desktop {
+ display: flex; } }
+.columns.is-variable {
+ --columnGap: 0.75rem;
+ margin-left: calc(-1 * var(--columnGap));
+ margin-right: calc(-1 * var(--columnGap)); }
+ .columns.is-variable .column {
+ padding-left: var(--columnGap);
+ padding-right: var(--columnGap); }
+ .columns.is-variable.is-0 {
+ --columnGap: 0rem; }
+ @media screen and (max-width: 768px) {
+ .columns.is-variable.is-0-mobile {
+ --columnGap: 0rem; } }
+ @media screen and (min-width: 769px), print {
+ .columns.is-variable.is-0-tablet {
+ --columnGap: 0rem; } }
+ @media screen and (min-width: 769px) and (max-width: 1055px) {
+ .columns.is-variable.is-0-tablet-only {
+ --columnGap: 0rem; } }
+ @media screen and (max-width: 1055px) {
+ .columns.is-variable.is-0-touch {
+ --columnGap: 0rem; } }
+ @media screen and (min-width: 1056px) {
+ .columns.is-variable.is-0-desktop {
+ --columnGap: 0rem; } }
+ @media screen and (min-width: 1056px) and (max-width: 1215px) {
+ .columns.is-variable.is-0-desktop-only {
+ --columnGap: 0rem; } }
+ @media screen and (min-width: 1216px) {
+ .columns.is-variable.is-0-widescreen {
+ --columnGap: 0rem; } }
+ @media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .columns.is-variable.is-0-widescreen-only {
+ --columnGap: 0rem; } }
+ @media screen and (min-width: 1408px) {
+ .columns.is-variable.is-0-fullhd {
+ --columnGap: 0rem; } }
+ .columns.is-variable.is-1 {
+ --columnGap: 0.25rem; }
+ @media screen and (max-width: 768px) {
+ .columns.is-variable.is-1-mobile {
+ --columnGap: 0.25rem; } }
+ @media screen and (min-width: 769px), print {
+ .columns.is-variable.is-1-tablet {
+ --columnGap: 0.25rem; } }
+ @media screen and (min-width: 769px) and (max-width: 1055px) {
+ .columns.is-variable.is-1-tablet-only {
+ --columnGap: 0.25rem; } }
+ @media screen and (max-width: 1055px) {
+ .columns.is-variable.is-1-touch {
+ --columnGap: 0.25rem; } }
+ @media screen and (min-width: 1056px) {
+ .columns.is-variable.is-1-desktop {
+ --columnGap: 0.25rem; } }
+ @media screen and (min-width: 1056px) and (max-width: 1215px) {
+ .columns.is-variable.is-1-desktop-only {
+ --columnGap: 0.25rem; } }
+ @media screen and (min-width: 1216px) {
+ .columns.is-variable.is-1-widescreen {
+ --columnGap: 0.25rem; } }
+ @media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .columns.is-variable.is-1-widescreen-only {
+ --columnGap: 0.25rem; } }
+ @media screen and (min-width: 1408px) {
+ .columns.is-variable.is-1-fullhd {
+ --columnGap: 0.25rem; } }
+ .columns.is-variable.is-2 {
+ --columnGap: 0.5rem; }
+ @media screen and (max-width: 768px) {
+ .columns.is-variable.is-2-mobile {
+ --columnGap: 0.5rem; } }
+ @media screen and (min-width: 769px), print {
+ .columns.is-variable.is-2-tablet {
+ --columnGap: 0.5rem; } }
+ @media screen and (min-width: 769px) and (max-width: 1055px) {
+ .columns.is-variable.is-2-tablet-only {
+ --columnGap: 0.5rem; } }
+ @media screen and (max-width: 1055px) {
+ .columns.is-variable.is-2-touch {
+ --columnGap: 0.5rem; } }
+ @media screen and (min-width: 1056px) {
+ .columns.is-variable.is-2-desktop {
+ --columnGap: 0.5rem; } }
+ @media screen and (min-width: 1056px) and (max-width: 1215px) {
+ .columns.is-variable.is-2-desktop-only {
+ --columnGap: 0.5rem; } }
+ @media screen and (min-width: 1216px) {
+ .columns.is-variable.is-2-widescreen {
+ --columnGap: 0.5rem; } }
+ @media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .columns.is-variable.is-2-widescreen-only {
+ --columnGap: 0.5rem; } }
+ @media screen and (min-width: 1408px) {
+ .columns.is-variable.is-2-fullhd {
+ --columnGap: 0.5rem; } }
+ .columns.is-variable.is-3 {
+ --columnGap: 0.75rem; }
+ @media screen and (max-width: 768px) {
+ .columns.is-variable.is-3-mobile {
+ --columnGap: 0.75rem; } }
+ @media screen and (min-width: 769px), print {
+ .columns.is-variable.is-3-tablet {
+ --columnGap: 0.75rem; } }
+ @media screen and (min-width: 769px) and (max-width: 1055px) {
+ .columns.is-variable.is-3-tablet-only {
+ --columnGap: 0.75rem; } }
+ @media screen and (max-width: 1055px) {
+ .columns.is-variable.is-3-touch {
+ --columnGap: 0.75rem; } }
+ @media screen and (min-width: 1056px) {
+ .columns.is-variable.is-3-desktop {
+ --columnGap: 0.75rem; } }
+ @media screen and (min-width: 1056px) and (max-width: 1215px) {
+ .columns.is-variable.is-3-desktop-only {
+ --columnGap: 0.75rem; } }
+ @media screen and (min-width: 1216px) {
+ .columns.is-variable.is-3-widescreen {
+ --columnGap: 0.75rem; } }
+ @media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .columns.is-variable.is-3-widescreen-only {
+ --columnGap: 0.75rem; } }
+ @media screen and (min-width: 1408px) {
+ .columns.is-variable.is-3-fullhd {
+ --columnGap: 0.75rem; } }
+ .columns.is-variable.is-4 {
+ --columnGap: 1rem; }
+ @media screen and (max-width: 768px) {
+ .columns.is-variable.is-4-mobile {
+ --columnGap: 1rem; } }
+ @media screen and (min-width: 769px), print {
+ .columns.is-variable.is-4-tablet {
+ --columnGap: 1rem; } }
+ @media screen and (min-width: 769px) and (max-width: 1055px) {
+ .columns.is-variable.is-4-tablet-only {
+ --columnGap: 1rem; } }
+ @media screen and (max-width: 1055px) {
+ .columns.is-variable.is-4-touch {
+ --columnGap: 1rem; } }
+ @media screen and (min-width: 1056px) {
+ .columns.is-variable.is-4-desktop {
+ --columnGap: 1rem; } }
+ @media screen and (min-width: 1056px) and (max-width: 1215px) {
+ .columns.is-variable.is-4-desktop-only {
+ --columnGap: 1rem; } }
+ @media screen and (min-width: 1216px) {
+ .columns.is-variable.is-4-widescreen {
+ --columnGap: 1rem; } }
+ @media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .columns.is-variable.is-4-widescreen-only {
+ --columnGap: 1rem; } }
+ @media screen and (min-width: 1408px) {
+ .columns.is-variable.is-4-fullhd {
+ --columnGap: 1rem; } }
+ .columns.is-variable.is-5 {
+ --columnGap: 1.25rem; }
+ @media screen and (max-width: 768px) {
+ .columns.is-variable.is-5-mobile {
+ --columnGap: 1.25rem; } }
+ @media screen and (min-width: 769px), print {
+ .columns.is-variable.is-5-tablet {
+ --columnGap: 1.25rem; } }
+ @media screen and (min-width: 769px) and (max-width: 1055px) {
+ .columns.is-variable.is-5-tablet-only {
+ --columnGap: 1.25rem; } }
+ @media screen and (max-width: 1055px) {
+ .columns.is-variable.is-5-touch {
+ --columnGap: 1.25rem; } }
+ @media screen and (min-width: 1056px) {
+ .columns.is-variable.is-5-desktop {
+ --columnGap: 1.25rem; } }
+ @media screen and (min-width: 1056px) and (max-width: 1215px) {
+ .columns.is-variable.is-5-desktop-only {
+ --columnGap: 1.25rem; } }
+ @media screen and (min-width: 1216px) {
+ .columns.is-variable.is-5-widescreen {
+ --columnGap: 1.25rem; } }
+ @media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .columns.is-variable.is-5-widescreen-only {
+ --columnGap: 1.25rem; } }
+ @media screen and (min-width: 1408px) {
+ .columns.is-variable.is-5-fullhd {
+ --columnGap: 1.25rem; } }
+ .columns.is-variable.is-6 {
+ --columnGap: 1.5rem; }
+ @media screen and (max-width: 768px) {
+ .columns.is-variable.is-6-mobile {
+ --columnGap: 1.5rem; } }
+ @media screen and (min-width: 769px), print {
+ .columns.is-variable.is-6-tablet {
+ --columnGap: 1.5rem; } }
+ @media screen and (min-width: 769px) and (max-width: 1055px) {
+ .columns.is-variable.is-6-tablet-only {
+ --columnGap: 1.5rem; } }
+ @media screen and (max-width: 1055px) {
+ .columns.is-variable.is-6-touch {
+ --columnGap: 1.5rem; } }
+ @media screen and (min-width: 1056px) {
+ .columns.is-variable.is-6-desktop {
+ --columnGap: 1.5rem; } }
+ @media screen and (min-width: 1056px) and (max-width: 1215px) {
+ .columns.is-variable.is-6-desktop-only {
+ --columnGap: 1.5rem; } }
+ @media screen and (min-width: 1216px) {
+ .columns.is-variable.is-6-widescreen {
+ --columnGap: 1.5rem; } }
+ @media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .columns.is-variable.is-6-widescreen-only {
+ --columnGap: 1.5rem; } }
+ @media screen and (min-width: 1408px) {
+ .columns.is-variable.is-6-fullhd {
+ --columnGap: 1.5rem; } }
+ .columns.is-variable.is-7 {
+ --columnGap: 1.75rem; }
+ @media screen and (max-width: 768px) {
+ .columns.is-variable.is-7-mobile {
+ --columnGap: 1.75rem; } }
+ @media screen and (min-width: 769px), print {
+ .columns.is-variable.is-7-tablet {
+ --columnGap: 1.75rem; } }
+ @media screen and (min-width: 769px) and (max-width: 1055px) {
+ .columns.is-variable.is-7-tablet-only {
+ --columnGap: 1.75rem; } }
+ @media screen and (max-width: 1055px) {
+ .columns.is-variable.is-7-touch {
+ --columnGap: 1.75rem; } }
+ @media screen and (min-width: 1056px) {
+ .columns.is-variable.is-7-desktop {
+ --columnGap: 1.75rem; } }
+ @media screen and (min-width: 1056px) and (max-width: 1215px) {
+ .columns.is-variable.is-7-desktop-only {
+ --columnGap: 1.75rem; } }
+ @media screen and (min-width: 1216px) {
+ .columns.is-variable.is-7-widescreen {
+ --columnGap: 1.75rem; } }
+ @media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .columns.is-variable.is-7-widescreen-only {
+ --columnGap: 1.75rem; } }
+ @media screen and (min-width: 1408px) {
+ .columns.is-variable.is-7-fullhd {
+ --columnGap: 1.75rem; } }
+ .columns.is-variable.is-8 {
+ --columnGap: 2rem; }
+ @media screen and (max-width: 768px) {
+ .columns.is-variable.is-8-mobile {
+ --columnGap: 2rem; } }
+ @media screen and (min-width: 769px), print {
+ .columns.is-variable.is-8-tablet {
+ --columnGap: 2rem; } }
+ @media screen and (min-width: 769px) and (max-width: 1055px) {
+ .columns.is-variable.is-8-tablet-only {
+ --columnGap: 2rem; } }
+ @media screen and (max-width: 1055px) {
+ .columns.is-variable.is-8-touch {
+ --columnGap: 2rem; } }
+ @media screen and (min-width: 1056px) {
+ .columns.is-variable.is-8-desktop {
+ --columnGap: 2rem; } }
+ @media screen and (min-width: 1056px) and (max-width: 1215px) {
+ .columns.is-variable.is-8-desktop-only {
+ --columnGap: 2rem; } }
+ @media screen and (min-width: 1216px) {
+ .columns.is-variable.is-8-widescreen {
+ --columnGap: 2rem; } }
+ @media screen and (min-width: 1216px) and (max-width: 1407px) {
+ .columns.is-variable.is-8-widescreen-only {
+ --columnGap: 2rem; } }
+ @media screen and (min-width: 1408px) {
+ .columns.is-variable.is-8-fullhd {
+ --columnGap: 2rem; } }
+.tile {
+ align-items: stretch;
+ display: block;
+ flex-basis: 0;
+ flex-grow: 1;
+ flex-shrink: 1;
+ min-height: min-content; }
+ .tile.is-ancestor {
+ margin-left: -0.75rem;
+ margin-right: -0.75rem;
+ margin-top: -0.75rem; }
+ .tile.is-ancestor:last-child {
+ margin-bottom: -0.75rem; }
+ .tile.is-ancestor:not(:last-child) {
+ margin-bottom: 0.75rem; }
+ .tile.is-child {
+ margin: 0 !important; }
+ .tile.is-parent {
+ padding: 0.75rem; }
+ .tile.is-vertical {
+ flex-direction: column; }
+ .tile.is-vertical > .tile.is-child:not(:last-child) {
+ margin-bottom: 1.5rem !important; }
+ @media screen and (min-width: 769px), print {
+ .tile:not(.is-child) {
+ display: flex; }
+ .tile.is-1 {
+ flex: none;
+ width: 8.3333333333%; }
+ .tile.is-2 {
+ flex: none;
+ width: 16.6666666667%; }
+ .tile.is-3 {
+ flex: none;
+ width: 25%; }
+ .tile.is-4 {
+ flex: none;
+ width: 33.3333333333%; }
+ .tile.is-5 {
+ flex: none;
+ width: 41.6666666667%; }
+ .tile.is-6 {
+ flex: none;
+ width: 50%; }
+ .tile.is-7 {
+ flex: none;
+ width: 58.3333333333%; }
+ .tile.is-8 {
+ flex: none;
+ width: 66.6666666667%; }
+ .tile.is-9 {
+ flex: none;
+ width: 75%; }
+ .tile.is-10 {
+ flex: none;
+ width: 83.3333333333%; }
+ .tile.is-11 {
+ flex: none;
+ width: 91.6666666667%; }
+ .tile.is-12 {
+ flex: none;
+ width: 100%; } }
+.hero {
+ align-items: stretch;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between; }
+ .hero .navbar {
+ background: none; }
+ .hero .tabs ul {
+ border-bottom: none; }
+ .hero.is-white {
+ background-color: white;
+ color: #0a0a0a; }
+ .hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+ .hero.is-white strong {
+ color: inherit; }
+ .hero.is-white .title {
+ color: #0a0a0a; }
+ .hero.is-white .subtitle {
+ color: rgba(10, 10, 10, 0.9); }
+ .hero.is-white .subtitle a:not(.button),
+ .hero.is-white .subtitle strong {
+ color: #0a0a0a; }
+ @media screen and (max-width: 1055px) {
+ .hero.is-white .navbar-menu {
+ background-color: white; } }
+ .hero.is-white .navbar-item,
+ .hero.is-white .navbar-link {
+ color: rgba(10, 10, 10, 0.7); }
+ .hero.is-white a.navbar-item:hover, .hero.is-white a.navbar-item.is-active,
+ .hero.is-white .navbar-link:hover,
+ .hero.is-white .navbar-link.is-active {
+ background-color: #f2f2f2;
+ color: #0a0a0a; }
+ .hero.is-white .tabs a {
+ color: #0a0a0a;
+ opacity: 0.9; }
+ .hero.is-white .tabs a:hover {
+ opacity: 1; }
+ .hero.is-white .tabs li.is-active a {
+ opacity: 1; }
+ .hero.is-white .tabs.is-boxed a, .hero.is-white .tabs.is-toggle a {
+ color: #0a0a0a; }
+ .hero.is-white .tabs.is-boxed a:hover, .hero.is-white .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1); }
+ .hero.is-white .tabs.is-boxed li.is-active a, .hero.is-white .tabs.is-boxed li.is-active a:hover, .hero.is-white .tabs.is-toggle li.is-active a, .hero.is-white .tabs.is-toggle li.is-active a:hover {
+ background-color: #0a0a0a;
+ border-color: #0a0a0a;
+ color: white; }
+ .hero.is-white.is-bold {
+ background-image: linear-gradient(141deg, #e8e3e4 0%, white 71%, white 100%); }
+ @media screen and (max-width: 768px) {
+ .hero.is-white.is-bold .navbar-menu {
+ background-image: linear-gradient(141deg, #e8e3e4 0%, white 71%, white 100%); } }
+ .hero.is-black {
+ background-color: #0a0a0a;
+ color: white; }
+ .hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+ .hero.is-black strong {
+ color: inherit; }
+ .hero.is-black .title {
+ color: white; }
+ .hero.is-black .subtitle {
+ color: rgba(255, 255, 255, 0.9); }
+ .hero.is-black .subtitle a:not(.button),
+ .hero.is-black .subtitle strong {
+ color: white; }
+ @media screen and (max-width: 1055px) {
+ .hero.is-black .navbar-menu {
+ background-color: #0a0a0a; } }
+ .hero.is-black .navbar-item,
+ .hero.is-black .navbar-link {
+ color: rgba(255, 255, 255, 0.7); }
+ .hero.is-black a.navbar-item:hover, .hero.is-black a.navbar-item.is-active,
+ .hero.is-black .navbar-link:hover,
+ .hero.is-black .navbar-link.is-active {
+ background-color: black;
+ color: white; }
+ .hero.is-black .tabs a {
+ color: white;
+ opacity: 0.9; }
+ .hero.is-black .tabs a:hover {
+ opacity: 1; }
+ .hero.is-black .tabs li.is-active a {
+ opacity: 1; }
+ .hero.is-black .tabs.is-boxed a, .hero.is-black .tabs.is-toggle a {
+ color: white; }
+ .hero.is-black .tabs.is-boxed a:hover, .hero.is-black .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1); }
+ .hero.is-black .tabs.is-boxed li.is-active a, .hero.is-black .tabs.is-boxed li.is-active a:hover, .hero.is-black .tabs.is-toggle li.is-active a, .hero.is-black .tabs.is-toggle li.is-active a:hover {
+ background-color: white;
+ border-color: white;
+ color: #0a0a0a; }
+ .hero.is-black.is-bold {
+ background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); }
+ @media screen and (max-width: 768px) {
+ .hero.is-black.is-bold .navbar-menu {
+ background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); } }
+ .hero.is-light {
+ background-color: whitesmoke;
+ color: #363636; }
+ .hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+ .hero.is-light strong {
+ color: inherit; }
+ .hero.is-light .title {
+ color: #363636; }
+ .hero.is-light .subtitle {
+ color: rgba(54, 54, 54, 0.9); }
+ .hero.is-light .subtitle a:not(.button),
+ .hero.is-light .subtitle strong {
+ color: #363636; }
+ @media screen and (max-width: 1055px) {
+ .hero.is-light .navbar-menu {
+ background-color: whitesmoke; } }
+ .hero.is-light .navbar-item,
+ .hero.is-light .navbar-link {
+ color: rgba(54, 54, 54, 0.7); }
+ .hero.is-light a.navbar-item:hover, .hero.is-light a.navbar-item.is-active,
+ .hero.is-light .navbar-link:hover,
+ .hero.is-light .navbar-link.is-active {
+ background-color: #e8e8e8;
+ color: #363636; }
+ .hero.is-light .tabs a {
+ color: #363636;
+ opacity: 0.9; }
+ .hero.is-light .tabs a:hover {
+ opacity: 1; }
+ .hero.is-light .tabs li.is-active a {
+ opacity: 1; }
+ .hero.is-light .tabs.is-boxed a, .hero.is-light .tabs.is-toggle a {
+ color: #363636; }
+ .hero.is-light .tabs.is-boxed a:hover, .hero.is-light .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1); }
+ .hero.is-light .tabs.is-boxed li.is-active a, .hero.is-light .tabs.is-boxed li.is-active a:hover, .hero.is-light .tabs.is-toggle li.is-active a, .hero.is-light .tabs.is-toggle li.is-active a:hover {
+ background-color: #363636;
+ border-color: #363636;
+ color: whitesmoke; }
+ .hero.is-light.is-bold {
+ background-image: linear-gradient(141deg, #dfd8d9 0%, whitesmoke 71%, white 100%); }
+ @media screen and (max-width: 768px) {
+ .hero.is-light.is-bold .navbar-menu {
+ background-image: linear-gradient(141deg, #dfd8d9 0%, whitesmoke 71%, white 100%); } }
+ .hero.is-dark, .content kbd.hero {
+ background-color: #363636;
+ color: whitesmoke; }
+ .hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), .content kbd.hero a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+ .hero.is-dark strong,
+ .content kbd.hero strong {
+ color: inherit; }
+ .hero.is-dark .title, .content kbd.hero .title {
+ color: whitesmoke; }
+ .hero.is-dark .subtitle, .content kbd.hero .subtitle {
+ color: rgba(245, 245, 245, 0.9); }
+ .hero.is-dark .subtitle a:not(.button), .content kbd.hero .subtitle a:not(.button),
+ .hero.is-dark .subtitle strong,
+ .content kbd.hero .subtitle strong {
+ color: whitesmoke; }
+ @media screen and (max-width: 1055px) {
+ .hero.is-dark .navbar-menu, .content kbd.hero .navbar-menu {
+ background-color: #363636; } }
+ .hero.is-dark .navbar-item, .content kbd.hero .navbar-item,
+ .hero.is-dark .navbar-link,
+ .content kbd.hero .navbar-link {
+ color: rgba(245, 245, 245, 0.7); }
+ .hero.is-dark a.navbar-item:hover, .content kbd.hero a.navbar-item:hover, .hero.is-dark a.navbar-item.is-active, .content kbd.hero a.navbar-item.is-active,
+ .hero.is-dark .navbar-link:hover,
+ .content kbd.hero .navbar-link:hover,
+ .hero.is-dark .navbar-link.is-active,
+ .content kbd.hero .navbar-link.is-active {
+ background-color: #292929;
+ color: whitesmoke; }
+ .hero.is-dark .tabs a, .content kbd.hero .tabs a {
+ color: whitesmoke;
+ opacity: 0.9; }
+ .hero.is-dark .tabs a:hover, .content kbd.hero .tabs a:hover {
+ opacity: 1; }
+ .hero.is-dark .tabs li.is-active a, .content kbd.hero .tabs li.is-active a {
+ opacity: 1; }
+ .hero.is-dark .tabs.is-boxed a, .content kbd.hero .tabs.is-boxed a, .hero.is-dark .tabs.is-toggle a, .content kbd.hero .tabs.is-toggle a {
+ color: whitesmoke; }
+ .hero.is-dark .tabs.is-boxed a:hover, .content kbd.hero .tabs.is-boxed a:hover, .hero.is-dark .tabs.is-toggle a:hover, .content kbd.hero .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1); }
+ .hero.is-dark .tabs.is-boxed li.is-active a, .content kbd.hero .tabs.is-boxed li.is-active a, .hero.is-dark .tabs.is-boxed li.is-active a:hover, .hero.is-dark .tabs.is-toggle li.is-active a, .content kbd.hero .tabs.is-toggle li.is-active a, .hero.is-dark .tabs.is-toggle li.is-active a:hover {
+ background-color: whitesmoke;
+ border-color: whitesmoke;
+ color: #363636; }
+ .hero.is-dark.is-bold, .content kbd.hero.is-bold {
+ background-image: linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%); }
+ @media screen and (max-width: 768px) {
+ .hero.is-dark.is-bold .navbar-menu, .content kbd.hero.is-bold .navbar-menu {
+ background-image: linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%); } }
+ .hero.is-primary, .docstring > section > a.hero.docs-sourcelink {
+ background-color: #4eb5de;
+ color: #fff; }
+ .hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), .docstring > section > a.hero.docs-sourcelink a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+ .hero.is-primary strong,
+ .docstring > section > a.hero.docs-sourcelink strong {
+ color: inherit; }
+ .hero.is-primary .title, .docstring > section > a.hero.docs-sourcelink .title {
+ color: #fff; }
+ .hero.is-primary .subtitle, .docstring > section > a.hero.docs-sourcelink .subtitle {
+ color: rgba(255, 255, 255, 0.9); }
+ .hero.is-primary .subtitle a:not(.button), .docstring > section > a.hero.docs-sourcelink .subtitle a:not(.button),
+ .hero.is-primary .subtitle strong,
+ .docstring > section > a.hero.docs-sourcelink .subtitle strong {
+ color: #fff; }
+ @media screen and (max-width: 1055px) {
+ .hero.is-primary .navbar-menu, .docstring > section > a.hero.docs-sourcelink .navbar-menu {
+ background-color: #4eb5de; } }
+ .hero.is-primary .navbar-item, .docstring > section > a.hero.docs-sourcelink .navbar-item,
+ .hero.is-primary .navbar-link,
+ .docstring > section > a.hero.docs-sourcelink .navbar-link {
+ color: rgba(255, 255, 255, 0.7); }
+ .hero.is-primary a.navbar-item:hover, .docstring > section > a.hero.docs-sourcelink a.navbar-item:hover, .hero.is-primary a.navbar-item.is-active, .docstring > section > a.hero.docs-sourcelink a.navbar-item.is-active,
+ .hero.is-primary .navbar-link:hover,
+ .docstring > section > a.hero.docs-sourcelink .navbar-link:hover,
+ .hero.is-primary .navbar-link.is-active,
+ .docstring > section > a.hero.docs-sourcelink .navbar-link.is-active {
+ background-color: #39acda;
+ color: #fff; }
+ .hero.is-primary .tabs a, .docstring > section > a.hero.docs-sourcelink .tabs a {
+ color: #fff;
+ opacity: 0.9; }
+ .hero.is-primary .tabs a:hover, .docstring > section > a.hero.docs-sourcelink .tabs a:hover {
+ opacity: 1; }
+ .hero.is-primary .tabs li.is-active a, .docstring > section > a.hero.docs-sourcelink .tabs li.is-active a {
+ opacity: 1; }
+ .hero.is-primary .tabs.is-boxed a, .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed a, .hero.is-primary .tabs.is-toggle a, .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle a {
+ color: #fff; }
+ .hero.is-primary .tabs.is-boxed a:hover, .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed a:hover, .hero.is-primary .tabs.is-toggle a:hover, .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1); }
+ .hero.is-primary .tabs.is-boxed li.is-active a, .docstring > section > a.hero.docs-sourcelink .tabs.is-boxed li.is-active a, .hero.is-primary .tabs.is-boxed li.is-active a:hover, .hero.is-primary .tabs.is-toggle li.is-active a, .docstring > section > a.hero.docs-sourcelink .tabs.is-toggle li.is-active a, .hero.is-primary .tabs.is-toggle li.is-active a:hover {
+ background-color: #fff;
+ border-color: #fff;
+ color: #4eb5de; }
+ .hero.is-primary.is-bold, .docstring > section > a.hero.is-bold.docs-sourcelink {
+ background-image: linear-gradient(141deg, #1bc7de 0%, #4eb5de 71%, #5fa9e7 100%); }
+ @media screen and (max-width: 768px) {
+ .hero.is-primary.is-bold .navbar-menu, .docstring > section > a.hero.is-bold.docs-sourcelink .navbar-menu {
+ background-image: linear-gradient(141deg, #1bc7de 0%, #4eb5de 71%, #5fa9e7 100%); } }
+ .hero.is-link {
+ background-color: #2e63b8;
+ color: #fff; }
+ .hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+ .hero.is-link strong {
+ color: inherit; }
+ .hero.is-link .title {
+ color: #fff; }
+ .hero.is-link .subtitle {
+ color: rgba(255, 255, 255, 0.9); }
+ .hero.is-link .subtitle a:not(.button),
+ .hero.is-link .subtitle strong {
+ color: #fff; }
+ @media screen and (max-width: 1055px) {
+ .hero.is-link .navbar-menu {
+ background-color: #2e63b8; } }
+ .hero.is-link .navbar-item,
+ .hero.is-link .navbar-link {
+ color: rgba(255, 255, 255, 0.7); }
+ .hero.is-link a.navbar-item:hover, .hero.is-link a.navbar-item.is-active,
+ .hero.is-link .navbar-link:hover,
+ .hero.is-link .navbar-link.is-active {
+ background-color: #2958a4;
+ color: #fff; }
+ .hero.is-link .tabs a {
+ color: #fff;
+ opacity: 0.9; }
+ .hero.is-link .tabs a:hover {
+ opacity: 1; }
+ .hero.is-link .tabs li.is-active a {
+ opacity: 1; }
+ .hero.is-link .tabs.is-boxed a, .hero.is-link .tabs.is-toggle a {
+ color: #fff; }
+ .hero.is-link .tabs.is-boxed a:hover, .hero.is-link .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1); }
+ .hero.is-link .tabs.is-boxed li.is-active a, .hero.is-link .tabs.is-boxed li.is-active a:hover, .hero.is-link .tabs.is-toggle li.is-active a, .hero.is-link .tabs.is-toggle li.is-active a:hover {
+ background-color: #fff;
+ border-color: #fff;
+ color: #2e63b8; }
+ .hero.is-link.is-bold {
+ background-image: linear-gradient(141deg, #1b6098 0%, #2e63b8 71%, #2d51d2 100%); }
+ @media screen and (max-width: 768px) {
+ .hero.is-link.is-bold .navbar-menu {
+ background-image: linear-gradient(141deg, #1b6098 0%, #2e63b8 71%, #2d51d2 100%); } }
+ .hero.is-info {
+ background-color: #209cee;
+ color: #fff; }
+ .hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+ .hero.is-info strong {
+ color: inherit; }
+ .hero.is-info .title {
+ color: #fff; }
+ .hero.is-info .subtitle {
+ color: rgba(255, 255, 255, 0.9); }
+ .hero.is-info .subtitle a:not(.button),
+ .hero.is-info .subtitle strong {
+ color: #fff; }
+ @media screen and (max-width: 1055px) {
+ .hero.is-info .navbar-menu {
+ background-color: #209cee; } }
+ .hero.is-info .navbar-item,
+ .hero.is-info .navbar-link {
+ color: rgba(255, 255, 255, 0.7); }
+ .hero.is-info a.navbar-item:hover, .hero.is-info a.navbar-item.is-active,
+ .hero.is-info .navbar-link:hover,
+ .hero.is-info .navbar-link.is-active {
+ background-color: #1190e3;
+ color: #fff; }
+ .hero.is-info .tabs a {
+ color: #fff;
+ opacity: 0.9; }
+ .hero.is-info .tabs a:hover {
+ opacity: 1; }
+ .hero.is-info .tabs li.is-active a {
+ opacity: 1; }
+ .hero.is-info .tabs.is-boxed a, .hero.is-info .tabs.is-toggle a {
+ color: #fff; }
+ .hero.is-info .tabs.is-boxed a:hover, .hero.is-info .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1); }
+ .hero.is-info .tabs.is-boxed li.is-active a, .hero.is-info .tabs.is-boxed li.is-active a:hover, .hero.is-info .tabs.is-toggle li.is-active a, .hero.is-info .tabs.is-toggle li.is-active a:hover {
+ background-color: #fff;
+ border-color: #fff;
+ color: #209cee; }
+ .hero.is-info.is-bold {
+ background-image: linear-gradient(141deg, #05a6d6 0%, #209cee 71%, #3287f5 100%); }
+ @media screen and (max-width: 768px) {
+ .hero.is-info.is-bold .navbar-menu {
+ background-image: linear-gradient(141deg, #05a6d6 0%, #209cee 71%, #3287f5 100%); } }
+ .hero.is-success {
+ background-color: #22c35b;
+ color: #fff; }
+ .hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+ .hero.is-success strong {
+ color: inherit; }
+ .hero.is-success .title {
+ color: #fff; }
+ .hero.is-success .subtitle {
+ color: rgba(255, 255, 255, 0.9); }
+ .hero.is-success .subtitle a:not(.button),
+ .hero.is-success .subtitle strong {
+ color: #fff; }
+ @media screen and (max-width: 1055px) {
+ .hero.is-success .navbar-menu {
+ background-color: #22c35b; } }
+ .hero.is-success .navbar-item,
+ .hero.is-success .navbar-link {
+ color: rgba(255, 255, 255, 0.7); }
+ .hero.is-success a.navbar-item:hover, .hero.is-success a.navbar-item.is-active,
+ .hero.is-success .navbar-link:hover,
+ .hero.is-success .navbar-link.is-active {
+ background-color: #1ead51;
+ color: #fff; }
+ .hero.is-success .tabs a {
+ color: #fff;
+ opacity: 0.9; }
+ .hero.is-success .tabs a:hover {
+ opacity: 1; }
+ .hero.is-success .tabs li.is-active a {
+ opacity: 1; }
+ .hero.is-success .tabs.is-boxed a, .hero.is-success .tabs.is-toggle a {
+ color: #fff; }
+ .hero.is-success .tabs.is-boxed a:hover, .hero.is-success .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1); }
+ .hero.is-success .tabs.is-boxed li.is-active a, .hero.is-success .tabs.is-boxed li.is-active a:hover, .hero.is-success .tabs.is-toggle li.is-active a, .hero.is-success .tabs.is-toggle li.is-active a:hover {
+ background-color: #fff;
+ border-color: #fff;
+ color: #22c35b; }
+ .hero.is-success.is-bold {
+ background-image: linear-gradient(141deg, #12a02c 0%, #22c35b 71%, #1fdf83 100%); }
+ @media screen and (max-width: 768px) {
+ .hero.is-success.is-bold .navbar-menu {
+ background-image: linear-gradient(141deg, #12a02c 0%, #22c35b 71%, #1fdf83 100%); } }
+ .hero.is-warning {
+ background-color: #ffdd57;
+ color: rgba(0, 0, 0, 0.7); }
+ .hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+ .hero.is-warning strong {
+ color: inherit; }
+ .hero.is-warning .title {
+ color: rgba(0, 0, 0, 0.7); }
+ .hero.is-warning .subtitle {
+ color: rgba(0, 0, 0, 0.9); }
+ .hero.is-warning .subtitle a:not(.button),
+ .hero.is-warning .subtitle strong {
+ color: rgba(0, 0, 0, 0.7); }
+ @media screen and (max-width: 1055px) {
+ .hero.is-warning .navbar-menu {
+ background-color: #ffdd57; } }
+ .hero.is-warning .navbar-item,
+ .hero.is-warning .navbar-link {
+ color: rgba(0, 0, 0, 0.7); }
+ .hero.is-warning a.navbar-item:hover, .hero.is-warning a.navbar-item.is-active,
+ .hero.is-warning .navbar-link:hover,
+ .hero.is-warning .navbar-link.is-active {
+ background-color: #ffd83e;
+ color: rgba(0, 0, 0, 0.7); }
+ .hero.is-warning .tabs a {
+ color: rgba(0, 0, 0, 0.7);
+ opacity: 0.9; }
+ .hero.is-warning .tabs a:hover {
+ opacity: 1; }
+ .hero.is-warning .tabs li.is-active a {
+ opacity: 1; }
+ .hero.is-warning .tabs.is-boxed a, .hero.is-warning .tabs.is-toggle a {
+ color: rgba(0, 0, 0, 0.7); }
+ .hero.is-warning .tabs.is-boxed a:hover, .hero.is-warning .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1); }
+ .hero.is-warning .tabs.is-boxed li.is-active a, .hero.is-warning .tabs.is-boxed li.is-active a:hover, .hero.is-warning .tabs.is-toggle li.is-active a, .hero.is-warning .tabs.is-toggle li.is-active a:hover {
+ background-color: rgba(0, 0, 0, 0.7);
+ border-color: rgba(0, 0, 0, 0.7);
+ color: #ffdd57; }
+ .hero.is-warning.is-bold {
+ background-image: linear-gradient(141deg, #ffae24 0%, #ffdd57 71%, #fffa71 100%); }
+ @media screen and (max-width: 768px) {
+ .hero.is-warning.is-bold .navbar-menu {
+ background-image: linear-gradient(141deg, #ffae24 0%, #ffdd57 71%, #fffa71 100%); } }
+ .hero.is-danger {
+ background-color: #da0b00;
+ color: #fff; }
+ .hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
+ .hero.is-danger strong {
+ color: inherit; }
+ .hero.is-danger .title {
+ color: #fff; }
+ .hero.is-danger .subtitle {
+ color: rgba(255, 255, 255, 0.9); }
+ .hero.is-danger .subtitle a:not(.button),
+ .hero.is-danger .subtitle strong {
+ color: #fff; }
+ @media screen and (max-width: 1055px) {
+ .hero.is-danger .navbar-menu {
+ background-color: #da0b00; } }
+ .hero.is-danger .navbar-item,
+ .hero.is-danger .navbar-link {
+ color: rgba(255, 255, 255, 0.7); }
+ .hero.is-danger a.navbar-item:hover, .hero.is-danger a.navbar-item.is-active,
+ .hero.is-danger .navbar-link:hover,
+ .hero.is-danger .navbar-link.is-active {
+ background-color: #c10a00;
+ color: #fff; }
+ .hero.is-danger .tabs a {
+ color: #fff;
+ opacity: 0.9; }
+ .hero.is-danger .tabs a:hover {
+ opacity: 1; }
+ .hero.is-danger .tabs li.is-active a {
+ opacity: 1; }
+ .hero.is-danger .tabs.is-boxed a, .hero.is-danger .tabs.is-toggle a {
+ color: #fff; }
+ .hero.is-danger .tabs.is-boxed a:hover, .hero.is-danger .tabs.is-toggle a:hover {
+ background-color: rgba(10, 10, 10, 0.1); }
+ .hero.is-danger .tabs.is-boxed li.is-active a, .hero.is-danger .tabs.is-boxed li.is-active a:hover, .hero.is-danger .tabs.is-toggle li.is-active a, .hero.is-danger .tabs.is-toggle li.is-active a:hover {
+ background-color: #fff;
+ border-color: #fff;
+ color: #da0b00; }
+ .hero.is-danger.is-bold {
+ background-image: linear-gradient(141deg, #a70013 0%, #da0b00 71%, #f43500 100%); }
+ @media screen and (max-width: 768px) {
+ .hero.is-danger.is-bold .navbar-menu {
+ background-image: linear-gradient(141deg, #a70013 0%, #da0b00 71%, #f43500 100%); } }
+ .hero.is-small .hero-body, #documenter .docs-sidebar form.docs-search > input.hero .hero-body {
+ padding-bottom: 1.5rem;
+ padding-top: 1.5rem; }
+ @media screen and (min-width: 769px), print {
+ .hero.is-medium .hero-body {
+ padding-bottom: 9rem;
+ padding-top: 9rem; } }
+ @media screen and (min-width: 769px), print {
+ .hero.is-large .hero-body {
+ padding-bottom: 18rem;
+ padding-top: 18rem; } }
+ .hero.is-halfheight .hero-body, .hero.is-fullheight .hero-body, .hero.is-fullheight-with-navbar .hero-body {
+ align-items: center;
+ display: flex; }
+ .hero.is-halfheight .hero-body > .container, .hero.is-fullheight .hero-body > .container, .hero.is-fullheight-with-navbar .hero-body > .container {
+ flex-grow: 1;
+ flex-shrink: 1; }
+ .hero.is-halfheight {
+ min-height: 50vh; }
+ .hero.is-fullheight {
+ min-height: 100vh; }
+
+.hero-video {
+ overflow: hidden; }
+ .hero-video video {
+ left: 50%;
+ min-height: 100%;
+ min-width: 100%;
+ position: absolute;
+ top: 50%;
+ transform: translate3d(-50%, -50%, 0); }
+ .hero-video.is-transparent {
+ opacity: 0.3; }
+ @media screen and (max-width: 768px) {
+ .hero-video {
+ display: none; } }
+.hero-buttons {
+ margin-top: 1.5rem; }
+ @media screen and (max-width: 768px) {
+ .hero-buttons .button {
+ display: flex; }
+ .hero-buttons .button:not(:last-child) {
+ margin-bottom: 0.75rem; } }
+ @media screen and (min-width: 769px), print {
+ .hero-buttons {
+ display: flex;
+ justify-content: center; }
+ .hero-buttons .button:not(:last-child) {
+ margin-right: 1.5rem; } }
+.hero-head,
+.hero-foot {
+ flex-grow: 0;
+ flex-shrink: 0; }
+
+.hero-body {
+ flex-grow: 1;
+ flex-shrink: 0;
+ padding: 3rem 1.5rem; }
+
+.section {
+ padding: 3rem 1.5rem; }
+ @media screen and (min-width: 1056px) {
+ .section.is-medium {
+ padding: 9rem 1.5rem; }
+ .section.is-large {
+ padding: 18rem 1.5rem; } }
+.footer {
+ background-color: #fafafa;
+ padding: 3rem 1.5rem 6rem; }
+
+h1 .docs-heading-anchor, h1 .docs-heading-anchor:hover, h1 .docs-heading-anchor:visited, h2 .docs-heading-anchor, h2 .docs-heading-anchor:hover, h2 .docs-heading-anchor:visited, h3 .docs-heading-anchor, h3 .docs-heading-anchor:hover, h3 .docs-heading-anchor:visited, h4 .docs-heading-anchor, h4 .docs-heading-anchor:hover, h4 .docs-heading-anchor:visited, h5 .docs-heading-anchor, h5 .docs-heading-anchor:hover, h5 .docs-heading-anchor:visited, h6 .docs-heading-anchor, h6 .docs-heading-anchor:hover, h6 .docs-heading-anchor:visited {
+ color: #222222; }
+
+h1 .docs-heading-anchor-permalink, h2 .docs-heading-anchor-permalink, h3 .docs-heading-anchor-permalink, h4 .docs-heading-anchor-permalink, h5 .docs-heading-anchor-permalink, h6 .docs-heading-anchor-permalink {
+ visibility: hidden;
+ vertical-align: middle;
+ margin-left: 0.5em;
+ font-size: 0.7rem; }
+ h1 .docs-heading-anchor-permalink::before, h2 .docs-heading-anchor-permalink::before, h3 .docs-heading-anchor-permalink::before, h4 .docs-heading-anchor-permalink::before, h5 .docs-heading-anchor-permalink::before, h6 .docs-heading-anchor-permalink::before {
+ font-family: "Font Awesome 5 Free";
+ font-weight: 900;
+ content: "\f0c1"; }
+
+h1:hover .docs-heading-anchor-permalink, h2:hover .docs-heading-anchor-permalink, h3:hover .docs-heading-anchor-permalink, h4:hover .docs-heading-anchor-permalink, h5:hover .docs-heading-anchor-permalink, h6:hover .docs-heading-anchor-permalink {
+ visibility: visible; }
+
+.docs-dark-only {
+ display: none !important; }
+
+pre {
+ position: relative;
+ overflow: hidden; }
+ pre code, pre code.hljs {
+ padding: 0 0.75rem !important;
+ overflow: auto;
+ display: block; }
+ pre code:first-of-type, pre code.hljs:first-of-type {
+ padding-top: 0.5rem !important; }
+ pre code:last-of-type, pre code.hljs:last-of-type {
+ padding-bottom: 0.5rem !important; }
+ pre .copy-button {
+ opacity: 0.2;
+ transition: opacity 0.2s;
+ position: absolute;
+ right: 0em;
+ top: 0em;
+ padding: 0.5em;
+ width: 2.5em;
+ height: 2.5em;
+ background: transparent;
+ border: none;
+ font-family: "Font Awesome 5 Free";
+ color: #222222;
+ cursor: pointer;
+ text-align: center; }
+ pre .copy-button:focus, pre .copy-button:hover {
+ opacity: 1;
+ background: rgba(34, 34, 34, 0.1);
+ color: #2e63b8; }
+ pre .copy-button.success {
+ color: #259a12;
+ opacity: 1; }
+ pre .copy-button.error {
+ color: #cb3c33;
+ opacity: 1; }
+ pre:hover .copy-button {
+ opacity: 1; }
+
+.admonition {
+ background-color: #b5b5b5;
+ border-style: solid;
+ border-width: 1px;
+ border-color: #363636;
+ border-radius: 4px;
+ font-size: 1rem; }
+ .admonition strong {
+ color: currentColor; }
+ .admonition.is-small, #documenter .docs-sidebar form.docs-search > input.admonition {
+ font-size: 0.75rem; }
+ .admonition.is-medium {
+ font-size: 1.25rem; }
+ .admonition.is-large {
+ font-size: 1.5rem; }
+ .admonition.is-default {
+ background-color: #b5b5b5;
+ border-color: #363636; }
+ .admonition.is-default > .admonition-header {
+ background-color: #363636;
+ color: #fff; }
+ .admonition.is-default > .admonition-body {
+ color: #fff; }
+ .admonition.is-info {
+ background-color: #def0fc;
+ border-color: #209cee; }
+ .admonition.is-info > .admonition-header {
+ background-color: #209cee;
+ color: #fff; }
+ .admonition.is-info > .admonition-body {
+ color: rgba(0, 0, 0, 0.7); }
+ .admonition.is-success {
+ background-color: #bdf4d1;
+ border-color: #22c35b; }
+ .admonition.is-success > .admonition-header {
+ background-color: #22c35b;
+ color: #fff; }
+ .admonition.is-success > .admonition-body {
+ color: rgba(0, 0, 0, 0.7); }
+ .admonition.is-warning {
+ background-color: #fff3c5;
+ border-color: #ffdd57; }
+ .admonition.is-warning > .admonition-header {
+ background-color: #ffdd57;
+ color: rgba(0, 0, 0, 0.7); }
+ .admonition.is-warning > .admonition-body {
+ color: rgba(0, 0, 0, 0.7); }
+ .admonition.is-danger {
+ background-color: #ffaba7;
+ border-color: #da0b00; }
+ .admonition.is-danger > .admonition-header {
+ background-color: #da0b00;
+ color: #fff; }
+ .admonition.is-danger > .admonition-body {
+ color: rgba(0, 0, 0, 0.7); }
+ .admonition.is-compat {
+ background-color: #bdeff5;
+ border-color: #1db5c9; }
+ .admonition.is-compat > .admonition-header {
+ background-color: #1db5c9;
+ color: #fff; }
+ .admonition.is-compat > .admonition-body {
+ color: rgba(0, 0, 0, 0.7); }
+
+.admonition-header {
+ color: #fff;
+ background-color: #363636;
+ align-items: center;
+ font-weight: 700;
+ justify-content: space-between;
+ line-height: 1.25;
+ padding: 0.5rem 0.75rem;
+ position: relative; }
+ .admonition-header:before {
+ font-family: "Font Awesome 5 Free";
+ font-weight: 900;
+ margin-right: 0.75rem;
+ content: "\f06a"; }
+
+.admonition-body {
+ color: #222222;
+ padding: 0.5rem 0.75rem; }
+ .admonition-body pre {
+ background-color: whitesmoke; }
+ .admonition-body code {
+ background-color: rgba(0, 0, 0, 0.05); }
+
+.docstring {
+ margin-bottom: 1em;
+ background-color: transparent;
+ border: 1px solid #dbdbdb;
+ box-shadow: 2px 2px 3px rgba(10, 10, 10, 0.1);
+ max-width: 100%; }
+ .docstring > header {
+ display: flex;
+ flex-grow: 1;
+ align-items: stretch;
+ padding: 0.5rem 0.75rem;
+ background-color: whitesmoke;
+ box-shadow: 0 1px 2px rgba(10, 10, 10, 0.1);
+ box-shadow: none;
+ border-bottom: 1px solid #dbdbdb; }
+ .docstring > header code {
+ background-color: transparent; }
+ .docstring > header .docstring-binding {
+ margin-right: 0.3em; }
+ .docstring > header .docstring-category {
+ margin-left: 0.3em; }
+ .docstring > section {
+ position: relative;
+ padding: 0.75rem 0.75rem;
+ border-bottom: 1px solid #dbdbdb; }
+ .docstring > section:last-child {
+ border-bottom: none; }
+ .docstring > section > a.docs-sourcelink {
+ transition: opacity 0.3s;
+ opacity: 0;
+ position: absolute;
+ right: 0.375rem;
+ bottom: 0.375rem; }
+ .docstring > section > a.docs-sourcelink:focus {
+ opacity: 1 !important; }
+ .docstring:hover > section > a.docs-sourcelink {
+ opacity: 0.2; }
+ .docstring:focus-within > section > a.docs-sourcelink {
+ opacity: 0.2; }
+ .docstring > section:hover a.docs-sourcelink {
+ opacity: 1; }
+
+.documenter-example-output {
+ background-color: white; }
+
+.outdated-warning-overlay {
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
+ z-index: 999;
+ background-color: #ffaba7;
+ color: rgba(0, 0, 0, 0.7);
+ border-bottom: 3px solid #da0b00;
+ padding: 10px 35px;
+ text-align: center;
+ font-size: 15px; }
+ .outdated-warning-overlay .outdated-warning-closer {
+ position: absolute;
+ top: calc(50% - 10px);
+ right: 18px;
+ cursor: pointer;
+ width: 12px; }
+ .outdated-warning-overlay a {
+ color: #2e63b8; }
+ .outdated-warning-overlay a:hover {
+ color: #363636; }
+
+.content pre {
+ border: 1px solid #dbdbdb; }
+
+.content code {
+ font-weight: inherit; }
+
+.content a code {
+ color: #2e63b8; }
+
+.content h1 code, .content h2 code, .content h3 code, .content h4 code, .content h5 code, .content h6 code {
+ color: #222222; }
+
+.content table {
+ display: block;
+ width: initial;
+ max-width: 100%;
+ overflow-x: auto; }
+
+.content blockquote > ul:first-child, .content blockquote > ol:first-child, .content .admonition-body > ul:first-child, .content .admonition-body > ol:first-child {
+ margin-top: 0; }
+
+pre, code {
+ font-variant-ligatures: no-contextual; }
+
+.breadcrumb a.is-disabled {
+ cursor: default;
+ pointer-events: none; }
+ .breadcrumb a.is-disabled, .breadcrumb a.is-disabled:hover {
+ color: #222222; }
+
+.hljs {
+ background: initial !important; }
+
+.katex .katex-mathml {
+ top: 0;
+ right: 0; }
+
+.katex-display, mjx-container, .MathJax_Display {
+ margin: 0.5em 0 !important; }
+
+html {
+ -moz-osx-font-smoothing: auto;
+ -webkit-font-smoothing: auto; }
+
+li.no-marker {
+ list-style: none; }
+
+/* This file contain the overall layout.
+ *
+ * The main container is
that is identified by id #documenter.
+ */
+#documenter .docs-main > article {
+ overflow-wrap: break-word; }
+ #documenter .docs-main > article .math-container {
+ overflow-x: auto;
+ overflow-y: hidden; }
+
+@media screen and (min-width: 1056px) {
+ #documenter .docs-main {
+ max-width: 52rem;
+ margin-left: 20rem;
+ padding-right: 1rem; } }
+
+@media screen and (max-width: 1055px) {
+ #documenter .docs-main {
+ width: 100%; }
+ #documenter .docs-main > article {
+ max-width: 52rem;
+ margin-left: auto;
+ margin-right: auto;
+ margin-bottom: 1rem;
+ padding: 0 1rem; }
+ #documenter .docs-main > header, #documenter .docs-main > nav {
+ max-width: 100%;
+ width: 100%;
+ margin: 0; } }
+
+#documenter .docs-main header.docs-navbar {
+ background-color: white;
+ border-bottom: 1px solid #dbdbdb;
+ z-index: 2;
+ min-height: 4rem;
+ margin-bottom: 1rem;
+ display: flex; }
+ #documenter .docs-main header.docs-navbar .breadcrumb {
+ flex-grow: 1; }
+ #documenter .docs-main header.docs-navbar .docs-right {
+ display: flex;
+ white-space: nowrap; }
+ #documenter .docs-main header.docs-navbar .docs-right .docs-icon, #documenter .docs-main header.docs-navbar .docs-right .docs-label, #documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button {
+ display: inline-block; }
+ #documenter .docs-main header.docs-navbar .docs-right .docs-label {
+ padding: 0;
+ margin-left: 0.3em; }
+ #documenter .docs-main header.docs-navbar .docs-right .docs-settings-button {
+ margin: auto 0 auto 1rem; }
+ #documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button {
+ font-size: 1.5rem;
+ margin: auto 0 auto 1rem; }
+ #documenter .docs-main header.docs-navbar > * {
+ margin: auto 0; }
+ @media screen and (max-width: 1055px) {
+ #documenter .docs-main header.docs-navbar {
+ position: sticky;
+ top: 0;
+ padding: 0 1rem;
+ /* For Headroom.js */
+ transition-property: top, box-shadow;
+ -webkit-transition-property: top, box-shadow;
+ /* Safari */
+ transition-duration: 0.3s;
+ -webkit-transition-duration: 0.3s;
+ /* Safari */ }
+ #documenter .docs-main header.docs-navbar.headroom--not-top {
+ box-shadow: 0.2rem 0rem 0.4rem #bbb;
+ transition-duration: 0.7s;
+ -webkit-transition-duration: 0.7s;
+ /* Safari */ }
+ #documenter .docs-main header.docs-navbar.headroom--unpinned.headroom--not-top.headroom--not-bottom {
+ top: -4.5rem;
+ transition-duration: 0.7s;
+ -webkit-transition-duration: 0.7s;
+ /* Safari */ } }
+#documenter .docs-main section.footnotes {
+ border-top: 1px solid #dbdbdb; }
+ #documenter .docs-main section.footnotes li .tag:first-child, #documenter .docs-main section.footnotes li .docstring > section > a.docs-sourcelink:first-child, #documenter .docs-main section.footnotes li .content kbd:first-child, .content #documenter .docs-main section.footnotes li kbd:first-child {
+ margin-right: 1em;
+ margin-bottom: 0.4em; }
+
+#documenter .docs-main .docs-footer {
+ display: flex;
+ flex-wrap: wrap;
+ margin-left: 0;
+ margin-right: 0;
+ border-top: 1px solid #dbdbdb;
+ padding-top: 1rem;
+ padding-bottom: 1rem; }
+ @media screen and (max-width: 1055px) {
+ #documenter .docs-main .docs-footer {
+ padding-left: 1rem;
+ padding-right: 1rem; } }
+ #documenter .docs-main .docs-footer .docs-footer-nextpage, #documenter .docs-main .docs-footer .docs-footer-prevpage {
+ flex-grow: 1; }
+ #documenter .docs-main .docs-footer .docs-footer-nextpage {
+ text-align: right; }
+ #documenter .docs-main .docs-footer .flexbox-break {
+ flex-basis: 100%;
+ height: 0; }
+ #documenter .docs-main .docs-footer .footer-message {
+ font-size: 0.8em;
+ margin: 0.5em auto 0 auto;
+ text-align: center; }
+
+#documenter .docs-sidebar {
+ display: flex;
+ flex-direction: column;
+ color: #0a0a0a;
+ background-color: whitesmoke;
+ border-right: 1px solid #dbdbdb;
+ padding: 0;
+ flex: 0 0 18rem;
+ z-index: 5;
+ font-size: 1rem;
+ position: fixed;
+ left: -18rem;
+ width: 18rem;
+ height: 100%;
+ transition: left 0.3s;
+ /* Setting up a nicer theme style for the scrollbar */ }
+ #documenter .docs-sidebar.visible {
+ left: 0;
+ box-shadow: 0.4rem 0rem 0.8rem #bbb; }
+ @media screen and (min-width: 1056px) {
+ #documenter .docs-sidebar.visible {
+ box-shadow: none; } }
+ @media screen and (min-width: 1056px) {
+ #documenter .docs-sidebar {
+ left: 0;
+ top: 0; } }
+ #documenter .docs-sidebar .docs-logo {
+ margin-top: 1rem;
+ padding: 0 1rem; }
+ #documenter .docs-sidebar .docs-logo > img {
+ max-height: 6rem;
+ margin: auto; }
+ #documenter .docs-sidebar .docs-package-name {
+ flex-shrink: 0;
+ font-size: 1.5rem;
+ font-weight: 700;
+ text-align: center;
+ white-space: nowrap;
+ overflow: hidden;
+ padding: 0.5rem 0; }
+ #documenter .docs-sidebar .docs-package-name .docs-autofit {
+ max-width: 16.2rem; }
+ #documenter .docs-sidebar .docs-package-name a, #documenter .docs-sidebar .docs-package-name a:hover {
+ color: #0a0a0a; }
+ #documenter .docs-sidebar .docs-version-selector {
+ border-top: 1px solid #dbdbdb;
+ display: none;
+ padding: 0.5rem; }
+ #documenter .docs-sidebar .docs-version-selector.visible {
+ display: flex; }
+ #documenter .docs-sidebar ul.docs-menu {
+ flex-grow: 1;
+ user-select: none;
+ border-top: 1px solid #dbdbdb;
+ padding-bottom: 1.5rem;
+ /* Managing collapsible submenus */ }
+ #documenter .docs-sidebar ul.docs-menu > li > .tocitem {
+ font-weight: bold; }
+ #documenter .docs-sidebar ul.docs-menu > li li {
+ font-size: 0.95rem;
+ margin-left: 1em;
+ border-left: 1px solid #dbdbdb; }
+ #documenter .docs-sidebar ul.docs-menu input.collapse-toggle {
+ display: none; }
+ #documenter .docs-sidebar ul.docs-menu ul.collapsed {
+ display: none; }
+ #documenter .docs-sidebar ul.docs-menu input:checked ~ ul.collapsed {
+ display: block; }
+ #documenter .docs-sidebar ul.docs-menu label.tocitem {
+ display: flex; }
+ #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-label {
+ flex-grow: 2; }
+ #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron {
+ display: inline-block;
+ font-style: normal;
+ font-variant: normal;
+ text-rendering: auto;
+ line-height: 1;
+ font-size: 0.75rem;
+ margin-left: 1rem;
+ margin-top: auto;
+ margin-bottom: auto; }
+ #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron::before {
+ font-family: "Font Awesome 5 Free";
+ font-weight: 900;
+ content: "\f054"; }
+ #documenter .docs-sidebar ul.docs-menu input:checked ~ label.tocitem .docs-chevron::before {
+ content: "\f078"; }
+ #documenter .docs-sidebar ul.docs-menu .tocitem {
+ display: block;
+ padding: 0.5rem 0.5rem; }
+ #documenter .docs-sidebar ul.docs-menu .tocitem, #documenter .docs-sidebar ul.docs-menu .tocitem:hover {
+ color: #0a0a0a;
+ background: whitesmoke; }
+ #documenter .docs-sidebar ul.docs-menu a.tocitem:hover, #documenter .docs-sidebar ul.docs-menu label.tocitem:hover {
+ color: #0a0a0a;
+ background-color: #ebebeb; }
+ #documenter .docs-sidebar ul.docs-menu li.is-active {
+ border-top: 1px solid #dbdbdb;
+ border-bottom: 1px solid #dbdbdb;
+ background-color: white; }
+ #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem, #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem:hover {
+ background-color: white;
+ color: #0a0a0a; }
+ #documenter .docs-sidebar ul.docs-menu li.is-active ul.internal .tocitem:hover {
+ background-color: #ebebeb;
+ color: #0a0a0a; }
+ #documenter .docs-sidebar ul.docs-menu > li.is-active:first-child {
+ border-top: none; }
+ #documenter .docs-sidebar ul.docs-menu ul.internal {
+ margin: 0 0.5rem 0.5rem;
+ border-top: 1px solid #dbdbdb; }
+ #documenter .docs-sidebar ul.docs-menu ul.internal li {
+ font-size: 0.85rem;
+ border-left: none;
+ margin-left: 0;
+ margin-top: 0.5rem; }
+ #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem {
+ width: 100%;
+ padding: 0; }
+ #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem::before {
+ content: "⚬";
+ margin-right: 0.4em; }
+ #documenter .docs-sidebar form.docs-search {
+ margin: auto;
+ margin-top: 0.5rem;
+ margin-bottom: 0.5rem; }
+ #documenter .docs-sidebar form.docs-search > input {
+ width: 14.4rem; }
+ @media screen and (min-width: 1056px) {
+ #documenter .docs-sidebar ul.docs-menu {
+ overflow-y: auto;
+ -webkit-overflow-scroll: touch; }
+ #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar {
+ width: .3rem;
+ background: none; }
+ #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb {
+ border-radius: 5px 0px 0px 5px;
+ background: #e0e0e0; }
+ #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb:hover {
+ background: #cccccc; } }
+ @media screen and (max-width: 1055px) {
+ #documenter .docs-sidebar {
+ overflow-y: auto;
+ -webkit-overflow-scroll: touch; }
+ #documenter .docs-sidebar::-webkit-scrollbar {
+ width: .3rem;
+ background: none; }
+ #documenter .docs-sidebar::-webkit-scrollbar-thumb {
+ border-radius: 5px 0px 0px 5px;
+ background: #e0e0e0; }
+ #documenter .docs-sidebar::-webkit-scrollbar-thumb:hover {
+ background: #cccccc; } }
+#documenter .docs-main #documenter-search-info {
+ margin-bottom: 1rem; }
+
+#documenter .docs-main #documenter-search-results {
+ list-style-type: circle;
+ list-style-position: outside; }
+ #documenter .docs-main #documenter-search-results li {
+ margin-left: 2rem; }
+ #documenter .docs-main #documenter-search-results .docs-highlight {
+ background-color: yellow; }
+
+.ansi span.sgr1 {
+ font-weight: bolder; }
+
+.ansi span.sgr2 {
+ font-weight: lighter; }
+
+.ansi span.sgr3 {
+ font-style: italic; }
+
+.ansi span.sgr4 {
+ text-decoration: underline; }
+
+.ansi span.sgr7 {
+ color: white;
+ background-color: #222222; }
+
+.ansi span.sgr8 {
+ color: transparent; }
+ .ansi span.sgr8 span {
+ color: transparent; }
+
+.ansi span.sgr9 {
+ text-decoration: line-through; }
+
+.ansi span.sgr30 {
+ color: #242424; }
+
+.ansi span.sgr31 {
+ color: #a7201f; }
+
+.ansi span.sgr32 {
+ color: #066f00; }
+
+.ansi span.sgr33 {
+ color: #856b00; }
+
+.ansi span.sgr34 {
+ color: #2149b0; }
+
+.ansi span.sgr35 {
+ color: #7d4498; }
+
+.ansi span.sgr36 {
+ color: #007989; }
+
+.ansi span.sgr37 {
+ color: gray; }
+
+.ansi span.sgr40 {
+ background-color: #242424; }
+
+.ansi span.sgr41 {
+ background-color: #a7201f; }
+
+.ansi span.sgr42 {
+ background-color: #066f00; }
+
+.ansi span.sgr43 {
+ background-color: #856b00; }
+
+.ansi span.sgr44 {
+ background-color: #2149b0; }
+
+.ansi span.sgr45 {
+ background-color: #7d4498; }
+
+.ansi span.sgr46 {
+ background-color: #007989; }
+
+.ansi span.sgr47 {
+ background-color: gray; }
+
+.ansi span.sgr90 {
+ color: #616161; }
+
+.ansi span.sgr91 {
+ color: #cb3c33; }
+
+.ansi span.sgr92 {
+ color: #0e8300; }
+
+.ansi span.sgr93 {
+ color: #a98800; }
+
+.ansi span.sgr94 {
+ color: #3c5dcd; }
+
+.ansi span.sgr95 {
+ color: #9256af; }
+
+.ansi span.sgr96 {
+ color: #008fa3; }
+
+.ansi span.sgr97 {
+ color: whitesmoke; }
+
+.ansi span.sgr100 {
+ background-color: #616161; }
+
+.ansi span.sgr101 {
+ background-color: #cb3c33; }
+
+.ansi span.sgr102 {
+ background-color: #0e8300; }
+
+.ansi span.sgr103 {
+ background-color: #a98800; }
+
+.ansi span.sgr104 {
+ background-color: #3c5dcd; }
+
+.ansi span.sgr105 {
+ background-color: #9256af; }
+
+.ansi span.sgr106 {
+ background-color: #008fa3; }
+
+.ansi span.sgr107 {
+ background-color: whitesmoke; }
+
+code.language-julia-repl > span.hljs-meta {
+ color: #066f00;
+ font-weight: bolder; }
+
+/*!
+ Theme: Default
+ Description: Original highlight.js style
+ Author: (c) Ivan Sagalaev
+ Maintainer: @highlightjs/core-team
+ Website: https://highlightjs.org/
+ License: see project LICENSE
+ Touched: 2021
+*/
+/*
+This is left on purpose making default.css the single file that can be lifted
+as-is from the repository directly without the need for a build step
+
+Typically this "required" baseline CSS is added by `makestuff.js` during build.
+*/
+pre code.hljs {
+ display: block;
+ overflow-x: auto; }
+
+code.hljs {
+ padding: 3px 5px; }
+
+/* end baseline CSS */
+.hljs {
+ background: #F0F0F0;
+ color: #444; }
+
+/* Base color: saturation 0; */
+.hljs-subst {
+ /* default */ }
+
+/* purposely ignored */
+.hljs-comment {
+ color: #888888; }
+
+.hljs-tag,
+.hljs-punctuation {
+ color: #444a; }
+
+.hljs-tag .hljs-name,
+.hljs-tag .hljs-attr {
+ color: #444; }
+
+.hljs-keyword,
+.hljs-attribute,
+.hljs-selector-tag,
+.hljs-meta .hljs-keyword,
+.hljs-doctag,
+.hljs-name {
+ font-weight: bold; }
+
+/* User color: hue: 0 */
+.hljs-type,
+.hljs-string,
+.hljs-number,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-quote,
+.hljs-template-tag,
+.hljs-deletion {
+ color: #880000; }
+
+.hljs-title,
+.hljs-section {
+ color: #880000;
+ font-weight: bold; }
+
+.hljs-regexp,
+.hljs-symbol,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-link,
+.hljs-selector-attr,
+.hljs-operator,
+.hljs-selector-pseudo {
+ color: #BC6060; }
+
+/* Language color: hue: 90; */
+.hljs-literal {
+ color: #78A960; }
+
+.hljs-built_in,
+.hljs-bullet,
+.hljs-code,
+.hljs-addition {
+ color: #397300; }
+
+/* Meta color: hue: 200 */
+.hljs-meta {
+ color: #1f7199; }
+
+.hljs-meta .hljs-string {
+ color: #4d99bf; }
+
+/* Misc effects */
+.hljs-emphasis {
+ font-style: italic; }
+
+.hljs-strong {
+ font-weight: bold; }
diff --git a/0.5/assets/themeswap.js b/0.5/assets/themeswap.js
new file mode 100644
index 0000000..c58e993
--- /dev/null
+++ b/0.5/assets/themeswap.js
@@ -0,0 +1,66 @@
+// Small function to quickly swap out themes. Gets put into the tag..
+function set_theme_from_local_storage() {
+ // Intialize the theme to null, which means default
+ var theme = null;
+ // If the browser supports the localstorage and is not disabled then try to get the
+ // documenter theme
+ if(window.localStorage != null) {
+ // Get the user-picked theme from localStorage. May be `null`, which means the default
+ // theme.
+ theme = window.localStorage.getItem("documenter-theme");
+ }
+ // Check if the browser supports user color preference
+ var darkPreference = false;
+ // Check if the users preference is for dark color scheme
+ if(window.matchMedia('(prefers-color-scheme: dark)').matches === true) {
+ darkPreference = true;
+ }
+ // Initialize a few variables for the loop:
+ //
+ // - active: will contain the index of the theme that should be active. Note that there
+ // is no guarantee that localStorage contains sane values. If `active` stays `null`
+ // we either could not find the theme or it is the default (primary) theme anyway.
+ // Either way, we then need to stick to the primary theme.
+ //
+ // - disabled: style sheets that should be disabled (i.e. all the theme style sheets
+ // that are not the currently active theme)
+ var active = null; var disabled = []; var darkTheme = null;
+ for (var i = 0; i < document.styleSheets.length; i++) {
+ var ss = document.styleSheets[i];
+ // The tag of each style sheet is expected to have a data-theme-name attribute
+ // which must contain the name of the theme. The names in localStorage much match this.
+ var themename = ss.ownerNode.getAttribute("data-theme-name");
+ // attribute not set => non-theme stylesheet => ignore
+ if(themename === null) continue;
+ // To distinguish the default (primary) theme, it needs to have the data-theme-primary
+ // attribute set.
+ var isprimary = (ss.ownerNode.getAttribute("data-theme-primary") !== null);
+ // Check if the theme is primary dark theme
+ var isDarkTheme = (ss.ownerNode.getAttribute("data-theme-primary-dark") !== null);
+ // If ss is for dark theme then set the value of darkTheme to the name of the theme
+ if(isDarkTheme) darkTheme = themename;
+ // If we find a matching theme (and it's not the default), we'll set active to non-null
+ if(themename === theme) active = i;
+ // Store the style sheets of inactive themes so that we could disable them
+ if(themename !== theme) disabled.push(ss);
+ }
+ if(active !== null) {
+ // If we did find an active theme, we'll (1) add the theme--$(theme) class to
+ document.getElementsByTagName('html')[0].className = "theme--" + theme;
+ // and (2) disable all the other theme stylesheets
+ disabled.forEach(function(ss){
+ ss.disabled = true;
+ });
+ }
+ else if(darkTheme !== null && darkPreference === true) {
+ // If we did find an active theme, we'll (1) add the theme--$(theme) class to
+ document.getElementsByTagName('html')[0].className = "theme--" + darkTheme;
+ // and (2) disable all the other theme stylesheets
+ disabled.forEach(function(ss){
+ if (ss.ownerNode.getAttribute("data-theme-name") !== darkTheme) {
+ ss.disabled = true;
+ }
+ });
+ }
+}
+set_theme_from_local_storage();
diff --git a/0.5/assets/warner.js b/0.5/assets/warner.js
new file mode 100644
index 0000000..5531c88
--- /dev/null
+++ b/0.5/assets/warner.js
@@ -0,0 +1,49 @@
+function maybeAddWarning () {
+ // DOCUMENTER_NEWEST is defined in versions.js, DOCUMENTER_CURRENT_VERSION and DOCUMENTER_STABLE
+ // in siteinfo.js.
+ // If either of these are undefined something went horribly wrong, so we abort.
+ if (
+ window.DOCUMENTER_NEWEST === undefined ||
+ window.DOCUMENTER_CURRENT_VERSION === undefined ||
+ window.DOCUMENTER_STABLE === undefined
+ ) {
+ return
+ };
+
+ // Current version is not a version number, so we can't tell if it's the newest version. Abort.
+ if (!/v(\d+\.)*\d+/.test(window.DOCUMENTER_CURRENT_VERSION)) {
+ return
+ };
+
+ // Current version is newest version, so no need to add a warning.
+ if (window.DOCUMENTER_NEWEST === window.DOCUMENTER_CURRENT_VERSION) {
+ return
+ };
+
+ // Add a noindex meta tag (unless one exists) so that search engines don't index this version of the docs.
+ if (document.body.querySelector('meta[name="robots"]') === null) {
+ const meta = document.createElement('meta');
+ meta.name = 'robots';
+ meta.content = 'noindex';
+
+ document.getElementsByTagName('head')[0].appendChild(meta);
+ };
+
+ const div = document.createElement('div');
+ div.classList.add('outdated-warning-overlay');
+ const closer = document.createElement('button');
+ closer.classList.add('outdated-warning-closer', 'delete');
+ closer.addEventListener('click', function () {
+ document.body.removeChild(div);
+ });
+ const href = window.documenterBaseURL + '/../' + window.DOCUMENTER_STABLE;
+ div.innerHTML = 'This documentation is not for the latest stable release, but for either the development version or an older release.Click here to go to the documentation for the latest stable release. ';
+ div.appendChild(closer);
+ document.body.appendChild(div);
+};
+
+if (document.readyState === 'loading') {
+ document.addEventListener('DOMContentLoaded', maybeAddWarning);
+} else {
+ maybeAddWarning();
+};
diff --git a/0.5/css/base.css b/0.5/css/base.css
deleted file mode 100644
index 2d68482..0000000
--- a/0.5/css/base.css
+++ /dev/null
@@ -1,289 +0,0 @@
-html {
- scroll-padding-top: 70px;
-}
-
-body {
- padding-top: 70px;
-}
-
-p > img {
- max-width: 100%;
- height: auto;
-}
-
-ul.nav li.first-level {
- font-weight: bold;
-}
-
-ul.nav li.third-level {
- padding-left: 12px;
-}
-
-div.col-md-3 {
- padding-left: 0;
-}
-
-div.col-md-9 {
- padding-bottom: 100px;
-}
-
-div.source-links {
- float: right;
-}
-
-/*
- * Side navigation
- *
- * Scrollspy and affixed enhanced navigation to highlight sections and secondary
- * sections of docs content.
- */
-
-/* By default it's not affixed in mobile views, so undo that */
-.bs-sidebar.affix {
- position: static;
-}
-
-.bs-sidebar.well {
- padding: 0;
-}
-
-/* First level of nav */
-.bs-sidenav {
- margin-top: 30px;
- margin-bottom: 30px;
- padding-top: 10px;
- padding-bottom: 10px;
- border-radius: 5px;
-}
-
-/* All levels of nav */
-.bs-sidebar .nav > li > a {
- display: block;
- padding: 5px 20px;
- z-index: 1;
-}
-.bs-sidebar .nav > li > a:hover,
-.bs-sidebar .nav > li > a:focus {
- text-decoration: none;
- border-right: 1px solid;
-}
-.bs-sidebar .nav > .active > a,
-.bs-sidebar .nav > .active:hover > a,
-.bs-sidebar .nav > .active:focus > a {
- font-weight: bold;
- background-color: transparent;
- border-right: 1px solid;
-}
-
-/* Nav: second level (shown on .active) */
-.bs-sidebar .nav .nav {
- display: none; /* Hide by default, but at >768px, show it */
- margin-bottom: 8px;
-}
-.bs-sidebar .nav .nav > li > a {
- padding-top: 3px;
- padding-bottom: 3px;
- padding-left: 30px;
- font-size: 90%;
-}
-
-/* Show and affix the side nav when space allows it */
-@media (min-width: 992px) {
- .bs-sidebar .nav > .active > ul {
- display: block;
- }
- /* Widen the fixed sidebar */
- .bs-sidebar.affix,
- .bs-sidebar.affix-bottom {
- width: 213px;
- }
- .bs-sidebar.affix {
- position: fixed; /* Undo the static from mobile first approach */
- top: 80px;
- max-height: calc(100% - 180px);
- overflow-y: auto;
- }
- .bs-sidebar.affix-bottom {
- position: absolute; /* Undo the static from mobile first approach */
- }
- .bs-sidebar.affix-bottom .bs-sidenav,
- .bs-sidebar.affix .bs-sidenav {
- margin-top: 0;
- margin-bottom: 0;
- }
-}
-@media (min-width: 1200px) {
- /* Widen the fixed sidebar again */
- .bs-sidebar.affix-bottom,
- .bs-sidebar.affix {
- width: 263px;
- }
-}
-
-
-/* Added to support >2 level nav in drop down */
-
-.dropdown-submenu {
- position: relative;
-}
-
-.dropdown-submenu>.dropdown-menu {
- top: 0;
- left: 100%;
- margin-top: 0px;
- margin-left: 0px;
-}
-
-.dropdown-submenu:hover>.dropdown-menu {
- display: block;
-}
-
-.dropdown-submenu>a:after {
- display: block;
- content: " ";
- float: right;
- width: 0;
- height: 0;
- border-color: transparent;
- border-style: solid;
- border-width: 5px 0 5px 5px;
- border-left-color: #ccc;
- margin-top: 5px;
- margin-right: -10px;
-}
-
-.dropdown-submenu:hover>a:after {
- border-left-color: #fff;
-}
-
-.dropdown-submenu.pull-left {
- float: none;
-}
-
-.dropdown-submenu.pull-left>.dropdown-menu {
- left: -100%;
- margin-left: 00px;
-}
-/* Start Bootstrap Callouts CSS Source by Chris Pratt (https://codepen.io/chrisdpratt/pen/IAymB) MIT License*/
-.bs-callout {
- padding: 20px;
- margin: 20px 0;
- border: 1px solid #eee;
- border-left-width: 5px;
- border-radius: 3px;
- background-color: #FCFDFF;
-}
-.bs-callout h4 {
- font-style: normal;
- font-weight: 400;
- margin-top: 0;
- margin-bottom: 5px;
-}
-.bs-callout p:last-child {
- margin-bottom: 0;
-}
-.bs-callout code {
- border-radius: 3px;
-}
-.bs-callout+.bs-callout {
- margin-top: -5px;
-}
-.bs-callout-default {
- border-left-color: #FA023C; /*modified from upstream default by Christopher Simpkins*/
-}
-.bs-callout-default h4 {
- color: #FA023C; /*modified from upstream default by Christopher Simpkins*/
-}
-.bs-callout-primary {
- border-left-color: #428bca;
-}
-.bs-callout-primary h4 {
- color: #428bca;
-}
-.bs-callout-success {
- border-left-color: #5cb85c;
-}
-.bs-callout-success h4 {
- color: #5cb85c;
-}
-.bs-callout-danger {
- border-left-color: #d9534f;
-}
-.bs-callout-danger h4 {
- color: #d9534f;
-}
-.bs-callout-warning {
- border-left-color: #f0ad4e;
-}
-.bs-callout-warning h4 {
- color: #f0ad4e;
-}
-.bs-callout-info {
- border-left-color: #5bc0de;
-}
-.bs-callout-info h4 {
- color: #5bc0de;
-}
-/* End Bootstrap Callouts CSS Source by Chris Pratt */
-
-/* Headerlinks */
-.headerlink {
- display: none;
- padding-left: .5em;
-}
-
-h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .headerlink, h5:hover .headerlink, h6:hover .headerlink {
- display: inline-block;
-}
-
-/* Admonitions */
-.admonition {
- padding: 20px;
- margin: 20px 0;
- border: 1px solid #eee;
- border-left-width: 5px;
- border-radius: 3px;
- background-color: #FCFDFF;
-}
-
-.admonition p:last-child {
- margin-bottom: 0;
-}
-.admonition code {
- border-radius: 3px;
-}
-.admonition+.admonition {
- margin-top: -5px;
-}
-
-.admonition.note { /* csslint allow: adjoining-classes */
- border-left-color: #428bca;
-}
-
-.admonition.warning { /* csslint allow: adjoining-classes */
- border-left-color: #f0ad4e;
-}
-
-.admonition.danger { /* csslint allow: adjoining-classes */
- border-left-color: #d9534f;
-}
-
-.admonition-title {
- font-size: 19px;
- font-style: normal;
- font-weight: 400;
- margin-top: 0;
- margin-bottom: 5px;
-}
-
-.admonition.note > .admonition-title {
- color: #428bca;
-}
-
-.admonition.warning > .admonition-title {
- color: #f0ad4e;
-}
-
-.admonition.danger > .admonition-title {
- color: #d9534f;
-}
diff --git a/0.5/css/base.min.css b/0.5/css/base.min.css
deleted file mode 100644
index f7e580f..0000000
--- a/0.5/css/base.min.css
+++ /dev/null
@@ -1 +0,0 @@
-html{scroll-padding-top:70px}body{padding-top:70px}p>img{max-width:100%;height:auto}ul.nav li.first-level{font-weight:bold}ul.nav li.third-level{padding-left:12px}div.col-md-3{padding-left:0}div.col-md-9{padding-bottom:100px}div.source-links{float:right}.bs-sidebar.affix{position:static}.bs-sidebar.well{padding:0}.bs-sidenav{margin-top:30px;margin-bottom:30px;padding-top:10px;padding-bottom:10px;border-radius:5px}.bs-sidebar .nav>li>a{display:block;padding:5px 20px;z-index:1}.bs-sidebar .nav>li>a:hover,.bs-sidebar .nav>li>a:focus{text-decoration:none;border-right:1px solid}.bs-sidebar .nav>.active>a,.bs-sidebar .nav>.active:hover>a,.bs-sidebar .nav>.active:focus>a{font-weight:bold;background-color:transparent;border-right:1px solid}.bs-sidebar .nav .nav{display:none;margin-bottom:8px}.bs-sidebar .nav .nav>li>a{padding-top:3px;padding-bottom:3px;padding-left:30px;font-size:90%}@media(min-width:992px){.bs-sidebar .nav>.active>ul{display:block}.bs-sidebar.affix,.bs-sidebar.affix-bottom{width:213px}.bs-sidebar.affix{position:fixed;top:80px;max-height:calc(100% - 180px);overflow-y:auto}.bs-sidebar.affix-bottom{position:absolute}.bs-sidebar.affix-bottom .bs-sidenav,.bs-sidebar.affix .bs-sidenav{margin-top:0;margin-bottom:0}}@media(min-width:1200px){.bs-sidebar.affix-bottom,.bs-sidebar.affix{width:263px}}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:0;margin-left:0}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu>a:after{display:block;content:" ";float:right;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#ccc;margin-top:5px;margin-right:-10px}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:00px}.bs-callout{padding:20px;margin:20px 0;border:1px solid #eee;border-left-width:5px;border-radius:3px;background-color:#fcfdff}.bs-callout h4{font-style:normal;font-weight:400;margin-top:0;margin-bottom:5px}.bs-callout p:last-child{margin-bottom:0}.bs-callout code{border-radius:3px}.bs-callout+.bs-callout{margin-top:-5px}.bs-callout-default{border-left-color:#fa023c}.bs-callout-default h4{color:#fa023c}.bs-callout-primary{border-left-color:#428bca}.bs-callout-primary h4{color:#428bca}.bs-callout-success{border-left-color:#5cb85c}.bs-callout-success h4{color:#5cb85c}.bs-callout-danger{border-left-color:#d9534f}.bs-callout-danger h4{color:#d9534f}.bs-callout-warning{border-left-color:#f0ad4e}.bs-callout-warning h4{color:#f0ad4e}.bs-callout-info{border-left-color:#5bc0de}.bs-callout-info h4{color:#5bc0de}.headerlink{display:none;padding-left:.5em}h1:hover .headerlink,h2:hover .headerlink,h3:hover .headerlink,h4:hover .headerlink,h5:hover .headerlink,h6:hover .headerlink{display:inline-block}.admonition{padding:20px;margin:20px 0;border:1px solid #eee;border-left-width:5px;border-radius:3px;background-color:#fcfdff}.admonition p:last-child{margin-bottom:0}.admonition code{border-radius:3px}.admonition+.admonition{margin-top:-5px}.admonition.note{border-left-color:#428bca}.admonition.warning{border-left-color:#f0ad4e}.admonition.danger{border-left-color:#d9534f}.admonition-title{font-size:19px;font-style:normal;font-weight:400;margin-top:0;margin-bottom:5px}.admonition.note>.admonition-title{color:#428bca}.admonition.warning>.admonition-title{color:#f0ad4e}.admonition.danger>.admonition-title{color:#d9534f}
diff --git a/0.5/css/bootstrap-custom.css b/0.5/css/bootstrap-custom.css
deleted file mode 100644
index 631252d..0000000
--- a/0.5/css/bootstrap-custom.css
+++ /dev/null
@@ -1,5309 +0,0 @@
-/*! normalize.css v2.1.3 | MIT License | git.io/normalize */
-article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
- display: block;
-}
-audio, canvas, video {
- display: inline-block;
-}
-audio:not([controls]) {
- display: none;
- height: 0;
-}
-[hidden], template {
- display: none;
-}
-html {
- font-family: sans-serif;
- -webkit-text-size-adjust: 100%;
- -ms-text-size-adjust: 100%}
-body {
- margin: 0;
-}
-a {
- background: transparent;
-}
-a:focus {
- outline: thin dotted;
-}
-a:active, a:hover {
- outline: 0;
-}
-h1 {
- margin: .67em 0;
- font-size: 2em;
-}
-abbr[title] {
- border-bottom: 1px dotted;
-}
-b, strong {
- font-weight: bold;
-}
-dfn {
- font-style: italic;
-}
-hr {
- height: 0;
- -moz-box-sizing: content-box;
- box-sizing: content-box;
-}
-mark {
- color: #000;
- background: #ff0;
-}
-code, kbd, pre, samp {
- font-family: Hack, monospace, serif;
- font-size: 1em;
-}
-pre {
- white-space: pre-wrap;
-}
-q {
- quotes: "\201C" "\201D" "\2018" "\2019"}
-small {
- font-size: 80%}
-sub, sup {
- position: relative;
- font-size: 75%;
- line-height: 0;
- vertical-align: baseline;
-}
-sup {
- top: -0.5em;
-}
-sub {
- bottom: -0.25em;
-}
-img {
- border: 0;
-}
-svg:not(:root) {
- overflow: hidden;
-}
-figure {
- margin: 0;
-}
-fieldset {
- padding: .35em .625em .75em;
- margin: 0 2px;
- border: 1px solid #c0c0c0;
-}
-legend {
- padding: 0;
- border: 0;
-}
-button, input, select, textarea {
- margin: 0;
- font-family: inherit;
- font-size: 100%}
-button, input {
- line-height: normal;
-}
-button, select {
- text-transform: none;
-}
-button, html input[type="button"], input[type="reset"], input[type="submit"] {
- cursor: pointer;
- -webkit-appearance: button;
-}
-button[disabled], html input[disabled] {
- cursor: default;
-}
-input[type="checkbox"], input[type="radio"] {
- padding: 0;
- box-sizing: border-box;
-}
-input[type="search"] {
- -webkit-box-sizing: content-box;
- -moz-box-sizing: content-box;
- box-sizing: content-box;
- -webkit-appearance: textfield;
-}
-input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-button::-moz-focus-inner, input::-moz-focus-inner {
- padding: 0;
- border: 0;
-}
-textarea {
- overflow: auto;
- vertical-align: top;
-}
-table {
- border-collapse: collapse;
- border-spacing: 0;
-}
-@media print {
- * {
- color: #000!important;
- text-shadow: none!important;
- background: transparent!important;
- box-shadow: none!important;
-}
-a, a:visited {
- text-decoration: underline;
-}
-a[href]:after {
- content: " (" attr(href) ")"}
-abbr[title]:after {
- content: " (" attr(title) ")"}
-a[href^="javascript:"]:after, a[href^="#"]:after {
- content: ""}
-pre, blockquote {
- border: 1px solid #999;
- page-break-inside: avoid;
-}
-thead {
- display: table-header-group;
-}
-tr, img {
- page-break-inside: avoid;
-}
-img {
- max-width: 100%!important;
-}
-@page {
- margin: 2cm .5cm;
-}
-p, h2, h3 {
- orphans: 3;
- widows: 3;
-}
-h2, h3 {
- page-break-after: avoid;
-}
-select {
- background: #fff!important;
-}
-.navbar {
- display: none;
-}
-.table td, .table th {
- background-color: #fff!important;
-}
-.btn>.caret, .dropup>.btn>.caret {
- border-top-color: #000!important;
-}
-.label {
- border: 1px solid #000;
-}
-.table {
- border-collapse: collapse!important;
-}
-.table-bordered th, .table-bordered td {
- border: 1px solid #ddd!important;
-}
-}*, *:before, *:after {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-html {
- font-size: 62.5%;
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-}
-body {
- font-family: Merriweather, Georgia, serif;
- font-size: 14px;
- line-height: 1.428571429;
- color: #222;
- background-color: #fff;
-}
-input, button, select, textarea {
- font-family: inherit;
- font-size: inherit;
- line-height: inherit;
-}
-a {
- color: #008cba;
- text-decoration: none;
-}
-a:hover, a:focus {
- color: #00526e;
- text-decoration: underline;
-}
-a:focus {
- outline: thin dotted;
- outline: 5px auto -webkit-focus-ring-color;
- outline-offset: -2px;
-}
-img {
- vertical-align: middle;
-}
-.img-responsive {
- display: block;
- height: auto;
- max-width: 100%}
-.img-rounded {
- border-radius: 0;
-}
-.img-thumbnail {
- display: inline-block;
- height: auto;
- max-width: 100%;
- padding: 4px;
- line-height: 1.428571429;
- background-color: #fff;
- border: 1px solid #ddd;
- border-radius: 0;
- -webkit-transition: all .2s ease-in-out;
- transition: all .2s ease-in-out;
-}
-.img-circle {
- border-radius: 50%}
-hr {
- margin-top: 21px;
- margin-bottom: 21px;
- border: 0;
- border-top: 1px solid #ddd;
-}
-.sr-only {
- position: absolute;
- width: 1px;
- height: 1px;
- padding: 0;
- margin: -1px;
- overflow: hidden;
- clip: rect(0, 0, 0, 0);
- border: 0;
-}
-h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
- font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
- font-weight: 300;
- line-height: 1.1;
- color: inherit;
-}
-h1 small, h2 small, h3 small, h4 small, h5 small, h6 small, .h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small, h1 .small, h2 .small, h3 .small, h4 .small, h5 .small, h6 .small, .h1 .small, .h2 .small, .h3 .small, .h4 .small, .h5 .small, .h6 .small {
- font-weight: normal;
- line-height: 1;
- color: #999;
-}
-h1, h2, h3 {
- margin-top: 21px;
- margin-bottom: 10.5px;
-}
-h1 small, h2 small, h3 small, h1 .small, h2 .small, h3 .small {
- font-size: 65%}
-h4, h5, h6 {
- margin-top: 10.5px;
- margin-bottom: 10.5px;
-}
-h4 small, h5 small, h6 small, h4 .small, h5 .small, h6 .small {
- font-size: 75%}
-h1, .h1 {
- font-size: 39px;
-}
-h2, .h2 {
- font-size: 32px;
-}
-h3, .h3 {
- font-size: 26px;
-}
-h4, .h4 {
- font-size: 19px;
-}
-h5, .h5 {
- font-size: 15px;
-}
-h6, .h6 {
- font-size: 13px;
-}
-p {
- margin: 0 0 10.5px;
-}
-.lead {
- margin-bottom: 21px;
- font-size: 17px;
- font-weight: 200;
- line-height: 1.4;
-}
-@media(min-width:768px) {
- .lead {
- font-size: 22.5px;
-}
-}small, .small {
- font-size: 85%}
-cite {
- font-style: normal;
-}
-.text-muted {
- color: #999;
-}
-.text-primary {
- color: #008cba;
-}
-.text-primary:hover {
- color: #006687;
-}
-.text-warning {
- color: #e99002;
-}
-.text-warning:hover {
- color: #b67102;
-}
-.text-danger {
- color: #f04124;
-}
-.text-danger:hover {
- color: #d32a0e;
-}
-.text-success {
- color: #43ac6a;
-}
-.text-success:hover {
- color: #358753;
-}
-.text-info {
- color: #5bc0de;
-}
-.text-info:hover {
- color: #31b0d5;
-}
-.text-left {
- text-align: left;
-}
-.text-right {
- text-align: right;
-}
-.text-center {
- text-align: center;
-}
-.page-header {
- padding-bottom: 9.5px;
- margin: 42px 0 21px;
- border-bottom: 1px solid #ddd;
-}
-ul, ol {
- margin-top: 0;
- margin-bottom: 10.5px;
-}
-ul ul, ol ul, ul ol, ol ol {
- margin-bottom: 0;
-}
-.list-unstyled {
- padding-left: 0;
- list-style: none;
-}
-.list-inline {
- padding-left: 0;
- list-style: none;
-}
-.list-inline>li {
- display: inline-block;
- padding-right: 5px;
- padding-left: 5px;
-}
-.list-inline>li:first-child {
- padding-left: 0;
-}
-dl {
- margin-top: 0;
- margin-bottom: 21px;
-}
-dt, dd {
- line-height: 1.428571429;
-}
-dt {
- font-weight: bold;
-}
-dd {
- margin-left: 0;
-}
-@media(min-width:768px) {
- .dl-horizontal dt {
- float: left;
- width: 160px;
- overflow: hidden;
- clear: left;
- text-align: right;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-.dl-horizontal dd {
- margin-left: 180px;
-}
-.dl-horizontal dd:before, .dl-horizontal dd:after {
- display: table;
- content: " "}
-.dl-horizontal dd:after {
- clear: both;
-}
-.dl-horizontal dd:before, .dl-horizontal dd:after {
- display: table;
- content: " "}
-.dl-horizontal dd:after {
- clear: both;
-}
-.dl-horizontal dd:before, .dl-horizontal dd:after {
- display: table;
- content: " "}
-.dl-horizontal dd:after {
- clear: both;
-}
-.dl-horizontal dd:before, .dl-horizontal dd:after {
- display: table;
- content: " "}
-.dl-horizontal dd:after {
- clear: both;
-}
-.dl-horizontal dd:before, .dl-horizontal dd:after {
- display: table;
- content: " "}
-.dl-horizontal dd:after {
- clear: both;
-}
-}abbr[title], abbr[data-original-title] {
- cursor: help;
- border-bottom: 1px dotted #999;
-}
-.initialism {
- font-size: 90%;
- text-transform: uppercase;
-}
-blockquote {
- padding: 10.5px 21px;
- margin: 0 0 21px;
- border-left: 5px solid #ddd;
-}
-blockquote p {
- font-size: 18.75px;
- font-weight: 300;
- line-height: 1.25;
-}
-blockquote p:last-child {
- margin-bottom: 0;
-}
-blockquote small, blockquote .small {
- display: block;
- line-height: 1.428571429;
- color: #6f6f6f;
-}
-blockquote small:before, blockquote .small:before {
- content: '\2014 \00A0'}
-blockquote.pull-right {
- padding-right: 15px;
- padding-left: 0;
- border-right: 5px solid #ddd;
- border-left: 0;
-}
-blockquote.pull-right p, blockquote.pull-right small, blockquote.pull-right .small {
- text-align: right;
-}
-blockquote.pull-right small:before, blockquote.pull-right .small:before {
- content: ''}
-blockquote.pull-right small:after, blockquote.pull-right .small:after {
- content: '\00A0 \2014'}
-blockquote:before, blockquote:after {
- content: ""}
-address {
- margin-bottom: 21px;
- font-style: normal;
- line-height: 1.428571429;
-}
-code, kbd, pre, samp {
- font-family: Hack, Menlo, Monaco, Consolas, "Courier New", monospace;
-}
-code {
- padding: 2px 4px;
- font-size: 90%;
- color: #c7254e;
- white-space: nowrap;
- background-color: #f9f2f4;
- border-radius: 0;
-}
-pre {
- display: block;
- padding: 10px;
- margin: 0 0 10.5px;
- font-size: 14px;
- line-height: 1.428571429;
- color: #333;
- word-break: break-all;
- word-wrap: break-word;
- background-color: #f5f5f5;
- border: 1px solid #ccc;
- border-radius: 0;
-}
-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;
-}
-.container {
- padding-right: 15px;
- padding-left: 15px;
- margin-right: auto;
- margin-left: auto;
-}
-.container:before, .container:after {
- display: table;
- content: " "}
-.container:after {
- clear: both;
-}
-.container:before, .container:after {
- display: table;
- content: " "}
-.container:after {
- clear: both;
-}
-.container:before, .container:after {
- display: table;
- content: " "}
-.container:after {
- clear: both;
-}
-.container:before, .container:after {
- display: table;
- content: " "}
-.container:after {
- clear: both;
-}
-.container:before, .container:after {
- display: table;
- content: " "}
-.container:after {
- clear: both;
-}
-@media(min-width:768px) {
- .container {
- width: 750px;
-}
-}@media(min-width:992px) {
- .container {
- width: 970px;
-}
-}@media(min-width:1200px) {
- .container {
- width: 1170px;
-}
-}.row {
- margin-right: -15px;
- margin-left: -15px;
-}
-.row:before, .row:after {
- display: table;
- content: " "}
-.row:after {
- clear: both;
-}
-.row:before, .row:after {
- display: table;
- content: " "}
-.row:after {
- clear: both;
-}
-.row:before, .row:after {
- display: table;
- content: " "}
-.row:after {
- clear: both;
-}
-.row:before, .row:after {
- display: table;
- content: " "}
-.row:after {
- clear: both;
-}
-.row:before, .row:after {
- display: table;
- content: " "}
-.row:after {
- clear: both;
-}
-.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
- position: relative;
- min-height: 1px;
- padding-right: 15px;
- padding-left: 15px;
-}
-.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
- float: left;
-}
-.col-xs-12 {
- width: 100%}
-.col-xs-11 {
- width: 91.66666666666666%}
-.col-xs-10 {
- width: 83.33333333333334%}
-.col-xs-9 {
- width: 75%}
-.col-xs-8 {
- width: 66.66666666666666%}
-.col-xs-7 {
- width: 58.333333333333336%}
-.col-xs-6 {
- width: 50%}
-.col-xs-5 {
- width: 41.66666666666667%}
-.col-xs-4 {
- width: 33.33333333333333%}
-.col-xs-3 {
- width: 25%}
-.col-xs-2 {
- width: 16.666666666666664%}
-.col-xs-1 {
- width: 8.333333333333332%}
-.col-xs-pull-12 {
- right: 100%}
-.col-xs-pull-11 {
- right: 91.66666666666666%}
-.col-xs-pull-10 {
- right: 83.33333333333334%}
-.col-xs-pull-9 {
- right: 75%}
-.col-xs-pull-8 {
- right: 66.66666666666666%}
-.col-xs-pull-7 {
- right: 58.333333333333336%}
-.col-xs-pull-6 {
- right: 50%}
-.col-xs-pull-5 {
- right: 41.66666666666667%}
-.col-xs-pull-4 {
- right: 33.33333333333333%}
-.col-xs-pull-3 {
- right: 25%}
-.col-xs-pull-2 {
- right: 16.666666666666664%}
-.col-xs-pull-1 {
- right: 8.333333333333332%}
-.col-xs-pull-0 {
- right: 0;
-}
-.col-xs-push-12 {
- left: 100%}
-.col-xs-push-11 {
- left: 91.66666666666666%}
-.col-xs-push-10 {
- left: 83.33333333333334%}
-.col-xs-push-9 {
- left: 75%}
-.col-xs-push-8 {
- left: 66.66666666666666%}
-.col-xs-push-7 {
- left: 58.333333333333336%}
-.col-xs-push-6 {
- left: 50%}
-.col-xs-push-5 {
- left: 41.66666666666667%}
-.col-xs-push-4 {
- left: 33.33333333333333%}
-.col-xs-push-3 {
- left: 25%}
-.col-xs-push-2 {
- left: 16.666666666666664%}
-.col-xs-push-1 {
- left: 8.333333333333332%}
-.col-xs-push-0 {
- left: 0;
-}
-.col-xs-offset-12 {
- margin-left: 100%}
-.col-xs-offset-11 {
- margin-left: 91.66666666666666%}
-.col-xs-offset-10 {
- margin-left: 83.33333333333334%}
-.col-xs-offset-9 {
- margin-left: 75%}
-.col-xs-offset-8 {
- margin-left: 66.66666666666666%}
-.col-xs-offset-7 {
- margin-left: 58.333333333333336%}
-.col-xs-offset-6 {
- margin-left: 50%}
-.col-xs-offset-5 {
- margin-left: 41.66666666666667%}
-.col-xs-offset-4 {
- margin-left: 33.33333333333333%}
-.col-xs-offset-3 {
- margin-left: 25%}
-.col-xs-offset-2 {
- margin-left: 16.666666666666664%}
-.col-xs-offset-1 {
- margin-left: 8.333333333333332%}
-.col-xs-offset-0 {
- margin-left: 0;
-}
-@media(min-width:768px) {
- .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
- float: left;
-}
-.col-sm-12 {
- width: 100%}
-.col-sm-11 {
- width: 91.66666666666666%}
-.col-sm-10 {
- width: 83.33333333333334%}
-.col-sm-9 {
- width: 75%}
-.col-sm-8 {
- width: 66.66666666666666%}
-.col-sm-7 {
- width: 58.333333333333336%}
-.col-sm-6 {
- width: 50%}
-.col-sm-5 {
- width: 41.66666666666667%}
-.col-sm-4 {
- width: 33.33333333333333%}
-.col-sm-3 {
- width: 25%}
-.col-sm-2 {
- width: 16.666666666666664%}
-.col-sm-1 {
- width: 8.333333333333332%}
-.col-sm-pull-12 {
- right: 100%}
-.col-sm-pull-11 {
- right: 91.66666666666666%}
-.col-sm-pull-10 {
- right: 83.33333333333334%}
-.col-sm-pull-9 {
- right: 75%}
-.col-sm-pull-8 {
- right: 66.66666666666666%}
-.col-sm-pull-7 {
- right: 58.333333333333336%}
-.col-sm-pull-6 {
- right: 50%}
-.col-sm-pull-5 {
- right: 41.66666666666667%}
-.col-sm-pull-4 {
- right: 33.33333333333333%}
-.col-sm-pull-3 {
- right: 25%}
-.col-sm-pull-2 {
- right: 16.666666666666664%}
-.col-sm-pull-1 {
- right: 8.333333333333332%}
-.col-sm-pull-0 {
- right: 0;
-}
-.col-sm-push-12 {
- left: 100%}
-.col-sm-push-11 {
- left: 91.66666666666666%}
-.col-sm-push-10 {
- left: 83.33333333333334%}
-.col-sm-push-9 {
- left: 75%}
-.col-sm-push-8 {
- left: 66.66666666666666%}
-.col-sm-push-7 {
- left: 58.333333333333336%}
-.col-sm-push-6 {
- left: 50%}
-.col-sm-push-5 {
- left: 41.66666666666667%}
-.col-sm-push-4 {
- left: 33.33333333333333%}
-.col-sm-push-3 {
- left: 25%}
-.col-sm-push-2 {
- left: 16.666666666666664%}
-.col-sm-push-1 {
- left: 8.333333333333332%}
-.col-sm-push-0 {
- left: 0;
-}
-.col-sm-offset-12 {
- margin-left: 100%}
-.col-sm-offset-11 {
- margin-left: 91.66666666666666%}
-.col-sm-offset-10 {
- margin-left: 83.33333333333334%}
-.col-sm-offset-9 {
- margin-left: 75%}
-.col-sm-offset-8 {
- margin-left: 66.66666666666666%}
-.col-sm-offset-7 {
- margin-left: 58.333333333333336%}
-.col-sm-offset-6 {
- margin-left: 50%}
-.col-sm-offset-5 {
- margin-left: 41.66666666666667%}
-.col-sm-offset-4 {
- margin-left: 33.33333333333333%}
-.col-sm-offset-3 {
- margin-left: 25%}
-.col-sm-offset-2 {
- margin-left: 16.666666666666664%}
-.col-sm-offset-1 {
- margin-left: 8.333333333333332%}
-.col-sm-offset-0 {
- margin-left: 0;
-}
-}@media(min-width:992px) {
- .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
- float: left;
-}
-.col-md-12 {
- width: 100%}
-.col-md-11 {
- width: 91.66666666666666%}
-.col-md-10 {
- width: 83.33333333333334%}
-.col-md-9 {
- width: 75%}
-.col-md-8 {
- width: 66.66666666666666%}
-.col-md-7 {
- width: 58.333333333333336%}
-.col-md-6 {
- width: 50%}
-.col-md-5 {
- width: 41.66666666666667%}
-.col-md-4 {
- width: 33.33333333333333%}
-.col-md-3 {
- width: 25%}
-.col-md-2 {
- width: 16.666666666666664%}
-.col-md-1 {
- width: 8.333333333333332%}
-.col-md-pull-12 {
- right: 100%}
-.col-md-pull-11 {
- right: 91.66666666666666%}
-.col-md-pull-10 {
- right: 83.33333333333334%}
-.col-md-pull-9 {
- right: 75%}
-.col-md-pull-8 {
- right: 66.66666666666666%}
-.col-md-pull-7 {
- right: 58.333333333333336%}
-.col-md-pull-6 {
- right: 50%}
-.col-md-pull-5 {
- right: 41.66666666666667%}
-.col-md-pull-4 {
- right: 33.33333333333333%}
-.col-md-pull-3 {
- right: 25%}
-.col-md-pull-2 {
- right: 16.666666666666664%}
-.col-md-pull-1 {
- right: 8.333333333333332%}
-.col-md-pull-0 {
- right: 0;
-}
-.col-md-push-12 {
- left: 100%}
-.col-md-push-11 {
- left: 91.66666666666666%}
-.col-md-push-10 {
- left: 83.33333333333334%}
-.col-md-push-9 {
- left: 75%}
-.col-md-push-8 {
- left: 66.66666666666666%}
-.col-md-push-7 {
- left: 58.333333333333336%}
-.col-md-push-6 {
- left: 50%}
-.col-md-push-5 {
- left: 41.66666666666667%}
-.col-md-push-4 {
- left: 33.33333333333333%}
-.col-md-push-3 {
- left: 25%}
-.col-md-push-2 {
- left: 16.666666666666664%}
-.col-md-push-1 {
- left: 8.333333333333332%}
-.col-md-push-0 {
- left: 0;
-}
-.col-md-offset-12 {
- margin-left: 100%}
-.col-md-offset-11 {
- margin-left: 91.66666666666666%}
-.col-md-offset-10 {
- margin-left: 83.33333333333334%}
-.col-md-offset-9 {
- margin-left: 75%}
-.col-md-offset-8 {
- margin-left: 66.66666666666666%}
-.col-md-offset-7 {
- margin-left: 58.333333333333336%}
-.col-md-offset-6 {
- margin-left: 50%}
-.col-md-offset-5 {
- margin-left: 41.66666666666667%}
-.col-md-offset-4 {
- margin-left: 33.33333333333333%}
-.col-md-offset-3 {
- margin-left: 25%}
-.col-md-offset-2 {
- margin-left: 16.666666666666664%}
-.col-md-offset-1 {
- margin-left: 8.333333333333332%}
-.col-md-offset-0 {
- margin-left: 0;
-}
-}@media(min-width:1200px) {
- .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
- float: left;
-}
-.col-lg-12 {
- width: 100%}
-.col-lg-11 {
- width: 91.66666666666666%}
-.col-lg-10 {
- width: 83.33333333333334%}
-.col-lg-9 {
- width: 75%}
-.col-lg-8 {
- width: 66.66666666666666%}
-.col-lg-7 {
- width: 58.333333333333336%}
-.col-lg-6 {
- width: 50%}
-.col-lg-5 {
- width: 41.66666666666667%}
-.col-lg-4 {
- width: 33.33333333333333%}
-.col-lg-3 {
- width: 25%}
-.col-lg-2 {
- width: 16.666666666666664%}
-.col-lg-1 {
- width: 8.333333333333332%}
-.col-lg-pull-12 {
- right: 100%}
-.col-lg-pull-11 {
- right: 91.66666666666666%}
-.col-lg-pull-10 {
- right: 83.33333333333334%}
-.col-lg-pull-9 {
- right: 75%}
-.col-lg-pull-8 {
- right: 66.66666666666666%}
-.col-lg-pull-7 {
- right: 58.333333333333336%}
-.col-lg-pull-6 {
- right: 50%}
-.col-lg-pull-5 {
- right: 41.66666666666667%}
-.col-lg-pull-4 {
- right: 33.33333333333333%}
-.col-lg-pull-3 {
- right: 25%}
-.col-lg-pull-2 {
- right: 16.666666666666664%}
-.col-lg-pull-1 {
- right: 8.333333333333332%}
-.col-lg-pull-0 {
- right: 0;
-}
-.col-lg-push-12 {
- left: 100%}
-.col-lg-push-11 {
- left: 91.66666666666666%}
-.col-lg-push-10 {
- left: 83.33333333333334%}
-.col-lg-push-9 {
- left: 75%}
-.col-lg-push-8 {
- left: 66.66666666666666%}
-.col-lg-push-7 {
- left: 58.333333333333336%}
-.col-lg-push-6 {
- left: 50%}
-.col-lg-push-5 {
- left: 41.66666666666667%}
-.col-lg-push-4 {
- left: 33.33333333333333%}
-.col-lg-push-3 {
- left: 25%}
-.col-lg-push-2 {
- left: 16.666666666666664%}
-.col-lg-push-1 {
- left: 8.333333333333332%}
-.col-lg-push-0 {
- left: 0;
-}
-.col-lg-offset-12 {
- margin-left: 100%}
-.col-lg-offset-11 {
- margin-left: 91.66666666666666%}
-.col-lg-offset-10 {
- margin-left: 83.33333333333334%}
-.col-lg-offset-9 {
- margin-left: 75%}
-.col-lg-offset-8 {
- margin-left: 66.66666666666666%}
-.col-lg-offset-7 {
- margin-left: 58.333333333333336%}
-.col-lg-offset-6 {
- margin-left: 50%}
-.col-lg-offset-5 {
- margin-left: 41.66666666666667%}
-.col-lg-offset-4 {
- margin-left: 33.33333333333333%}
-.col-lg-offset-3 {
- margin-left: 25%}
-.col-lg-offset-2 {
- margin-left: 16.666666666666664%}
-.col-lg-offset-1 {
- margin-left: 8.333333333333332%}
-.col-lg-offset-0 {
- margin-left: 0;
-}
-}table {
- max-width: 100%;
- background-color: transparent;
-}
-th {
- text-align: left;
-}
-.table {
- width: 100%;
- margin-bottom: 21px;
-}
-.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.428571429;
- 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-child(odd)>td, .table-striped>tbody>tr:nth-child(odd)>th {
- background-color: #f9f9f9;
-}
-.table-hover>tbody>tr:hover>td, .table-hover>tbody>tr:hover>th {
- background-color: #f5f5f5;
-}
-table col[class*="col-"] {
- position: static;
- display: table-column;
- float: none;
-}
-table td[class*="col-"], table th[class*="col-"] {
- display: table-cell;
- float: none;
-}
-.table>thead>tr>.active, .table>tbody>tr>.active, .table>tfoot>tr>.active, .table>thead>.active>td, .table>tbody>.active>td, .table>tfoot>.active>td, .table>thead>.active>th, .table>tbody>.active>th, .table>tfoot>.active>th {
- background-color: #f5f5f5;
-}
-.table-hover>tbody>tr>.active:hover, .table-hover>tbody>.active:hover>td, .table-hover>tbody>.active:hover>th {
- background-color: #e8e8e8;
-}
-.table>thead>tr>.success, .table>tbody>tr>.success, .table>tfoot>tr>.success, .table>thead>.success>td, .table>tbody>.success>td, .table>tfoot>.success>td, .table>thead>.success>th, .table>tbody>.success>th, .table>tfoot>.success>th {
- background-color: #dff0d8;
-}
-.table-hover>tbody>tr>.success:hover, .table-hover>tbody>.success:hover>td, .table-hover>tbody>.success:hover>th {
- background-color: #d0e9c6;
-}
-.table>thead>tr>.danger, .table>tbody>tr>.danger, .table>tfoot>tr>.danger, .table>thead>.danger>td, .table>tbody>.danger>td, .table>tfoot>.danger>td, .table>thead>.danger>th, .table>tbody>.danger>th, .table>tfoot>.danger>th {
- background-color: #f2dede;
-}
-.table-hover>tbody>tr>.danger:hover, .table-hover>tbody>.danger:hover>td, .table-hover>tbody>.danger:hover>th {
- background-color: #ebcccc;
-}
-.table>thead>tr>.warning, .table>tbody>tr>.warning, .table>tfoot>tr>.warning, .table>thead>.warning>td, .table>tbody>.warning>td, .table>tfoot>.warning>td, .table>thead>.warning>th, .table>tbody>.warning>th, .table>tfoot>.warning>th {
- background-color: #fcf8e3;
-}
-.table-hover>tbody>tr>.warning:hover, .table-hover>tbody>.warning:hover>td, .table-hover>tbody>.warning:hover>th {
- background-color: #faf2cc;
-}
-@media(max-width:767px) {
- .table-responsive {
- width: 100%;
- margin-bottom: 15.75px;
- overflow-x: scroll;
- overflow-y: hidden;
- border: 1px solid #ddd;
- -ms-overflow-style: -ms-autohiding-scrollbar;
- -webkit-overflow-scrolling: touch;
-}
-.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;
-}
-}fieldset {
- padding: 0;
- margin: 0;
- border: 0;
-}
-legend {
- display: block;
- width: 100%;
- padding: 0;
- margin-bottom: 21px;
- font-size: 22.5px;
- line-height: inherit;
- color: #333;
- border: 0;
- border-bottom: 1px solid #e5e5e5;
-}
-label {
- display: inline-block;
- margin-bottom: 5px;
- font-weight: bold;
-}
-input[type="search"] {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-input[type="radio"], input[type="checkbox"] {
- margin: 4px 0 0;
- margin-top: 1px \9;
- line-height: normal;
-}
-input[type="file"] {
- display: block;
-}
-select[multiple], select[size] {
- height: auto;
-}
-select optgroup {
- font-family: inherit;
- font-size: inherit;
- font-style: inherit;
-}
-input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus {
- outline: thin dotted;
- outline: 5px auto -webkit-focus-ring-color;
- outline-offset: -2px;
-}
-input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-inner-spin-button {
- height: auto;
-}
-output {
- display: block;
- padding-top: 7px;
- font-size: 15px;
- line-height: 1.428571429;
- color: #6f6f6f;
- vertical-align: middle;
-}
-.form-control {
- display: block;
- width: 100%;
- height: 35px;
- padding: 6px 12px;
- font-size: 15px;
- line-height: 1.428571429;
- color: #6f6f6f;
- vertical-align: middle;
- background-color: #fff;
- background-image: none;
- border: 1px solid #ccc;
- border-radius: 0;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
- transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
-}
-.form-control:focus {
- border-color: #66afe9;
- outline: 0;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
-}
-.form-control:-moz-placeholder {
- color: #999;
-}
-.form-control::-moz-placeholder {
- color: #999;
- opacity: 1;
-}
-.form-control:-ms-input-placeholder {
- color: #999;
-}
-.form-control::-webkit-input-placeholder {
- color: #999;
-}
-.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
- cursor: not-allowed;
- background-color: #eee;
-}
-textarea.form-control {
- height: auto;
-}
-.form-group {
- margin-bottom: 15px;
-}
-.radio, .checkbox {
- display: block;
- min-height: 21px;
- padding-left: 20px;
- margin-top: 10px;
- margin-bottom: 10px;
- vertical-align: middle;
-}
-.radio label, .checkbox label {
- display: inline;
- margin-bottom: 0;
- font-weight: normal;
- cursor: pointer;
-}
-.radio input[type="radio"], .radio-inline input[type="radio"], .checkbox input[type="checkbox"], .checkbox-inline input[type="checkbox"] {
- float: left;
- margin-left: -20px;
-}
-.radio+.radio, .checkbox+.checkbox {
- margin-top: -5px;
-}
-.radio-inline, .checkbox-inline {
- display: inline-block;
- padding-left: 20px;
- margin-bottom: 0;
- font-weight: normal;
- vertical-align: middle;
- cursor: pointer;
-}
-.radio-inline+.radio-inline, .checkbox-inline+.checkbox-inline {
- margin-top: 0;
- margin-left: 10px;
-}
-input[type="radio"][disabled], input[type="checkbox"][disabled], .radio[disabled], .radio-inline[disabled], .checkbox[disabled], .checkbox-inline[disabled], fieldset[disabled] input[type="radio"], fieldset[disabled] input[type="checkbox"], fieldset[disabled] .radio, fieldset[disabled] .radio-inline, fieldset[disabled] .checkbox, fieldset[disabled] .checkbox-inline {
- cursor: not-allowed;
-}
-.input-sm {
- height: 30px;
- padding: 5px 10px;
- font-size: 12px;
- line-height: 1.5;
- border-radius: 0;
-}
-select.input-sm {
- height: 30px;
- line-height: 30px;
-}
-textarea.input-sm {
- height: auto;
-}
-.input-lg {
- height: 48px;
- padding: 10px 16px;
- font-size: 19px;
- line-height: 1.33;
- border-radius: 0;
-}
-select.input-lg {
- height: 48px;
- line-height: 48px;
-}
-textarea.input-lg {
- height: auto;
-}
-.has-warning .help-block, .has-warning .control-label, .has-warning .radio, .has-warning .checkbox, .has-warning .radio-inline, .has-warning .checkbox-inline {
- color: #e99002;
-}
-.has-warning .form-control {
- border-color: #e99002;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-.has-warning .form-control:focus {
- border-color: #b67102;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #febc53;
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #febc53;
-}
-.has-warning .input-group-addon {
- color: #e99002;
- background-color: #fcf8e3;
- border-color: #e99002;
-}
-.has-error .help-block, .has-error .control-label, .has-error .radio, .has-error .checkbox, .has-error .radio-inline, .has-error .checkbox-inline {
- color: #f04124;
-}
-.has-error .form-control {
- border-color: #f04124;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-.has-error .form-control:focus {
- border-color: #d32a0e;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f79483;
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f79483;
-}
-.has-error .input-group-addon {
- color: #f04124;
- background-color: #f2dede;
- border-color: #f04124;
-}
-.has-success .help-block, .has-success .control-label, .has-success .radio, .has-success .checkbox, .has-success .radio-inline, .has-success .checkbox-inline {
- color: #43ac6a;
-}
-.has-success .form-control {
- border-color: #43ac6a;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-.has-success .form-control:focus {
- border-color: #358753;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #85d0a1;
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #85d0a1;
-}
-.has-success .input-group-addon {
- color: #43ac6a;
- background-color: #dff0d8;
- border-color: #43ac6a;
-}
-.form-control-static {
- margin-bottom: 0;
-}
-.help-block {
- display: block;
- margin-top: 5px;
- margin-bottom: 10px;
- color: #626262;
-}
-@media(min-width:768px) {
- .form-inline .form-group {
- display: inline-block;
- margin-bottom: 0;
- vertical-align: middle;
-}
-.form-inline .form-control {
- display: inline-block;
-}
-.form-inline select.form-control {
- width: auto;
-}
-.form-inline .radio, .form-inline .checkbox {
- display: inline-block;
- padding-left: 0;
- margin-top: 0;
- margin-bottom: 0;
-}
-.form-inline .radio input[type="radio"], .form-inline .checkbox input[type="checkbox"] {
- float: none;
- margin-left: 0;
-}
-}.form-horizontal .control-label, .form-horizontal .radio, .form-horizontal .checkbox, .form-horizontal .radio-inline, .form-horizontal .checkbox-inline {
- padding-top: 7px;
- margin-top: 0;
- margin-bottom: 0;
-}
-.form-horizontal .radio, .form-horizontal .checkbox {
- min-height: 28px;
-}
-.form-horizontal .form-group {
- margin-right: -15px;
- margin-left: -15px;
-}
-.form-horizontal .form-group:before, .form-horizontal .form-group:after {
- display: table;
- content: " "}
-.form-horizontal .form-group:after {
- clear: both;
-}
-.form-horizontal .form-group:before, .form-horizontal .form-group:after {
- display: table;
- content: " "}
-.form-horizontal .form-group:after {
- clear: both;
-}
-.form-horizontal .form-group:before, .form-horizontal .form-group:after {
- display: table;
- content: " "}
-.form-horizontal .form-group:after {
- clear: both;
-}
-.form-horizontal .form-group:before, .form-horizontal .form-group:after {
- display: table;
- content: " "}
-.form-horizontal .form-group:after {
- clear: both;
-}
-.form-horizontal .form-group:before, .form-horizontal .form-group:after {
- display: table;
- content: " "}
-.form-horizontal .form-group:after {
- clear: both;
-}
-.form-horizontal .form-control-static {
- padding-top: 7px;
-}
-@media(min-width:768px) {
- .form-horizontal .control-label {
- text-align: right;
-}
-}.btn {
- display: inline-block;
- padding: 6px 12px;
- margin-bottom: 0;
- font-size: 15px;
- font-weight: normal;
- line-height: 1.428571429;
- text-align: center;
- white-space: nowrap;
- vertical-align: middle;
- cursor: pointer;
- background-image: none;
- border: 1px solid transparent;
- border-radius: 0;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- -o-user-select: none;
- user-select: none;
-}
-.btn:focus {
- outline: thin dotted;
- outline: 5px auto -webkit-focus-ring-color;
- outline-offset: -2px;
-}
-.btn:hover, .btn:focus {
- color: #333;
- text-decoration: none;
-}
-.btn:active, .btn.active {
- background-image: none;
- outline: 0;
- -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
- box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-}
-.btn.disabled, .btn[disabled], fieldset[disabled] .btn {
- pointer-events: none;
- cursor: not-allowed;
- opacity: .65;
- filter: alpha(opacity=65);
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-.btn-default {
- color: #333;
- background-color: #e7e7e7;
- border-color: #dadada;
-}
-.btn-default:hover, .btn-default:focus, .btn-default:active, .btn-default.active, .open .dropdown-toggle.btn-default {
- color: #333;
- background-color: #d3d3d3;
- border-color: #bbb;
-}
-.btn-default:active, .btn-default.active, .open .dropdown-toggle.btn-default {
- background-image: none;
-}
-.btn-default.disabled, .btn-default[disabled], fieldset[disabled] .btn-default, .btn-default.disabled:hover, .btn-default[disabled]:hover, fieldset[disabled] .btn-default:hover, .btn-default.disabled:focus, .btn-default[disabled]:focus, fieldset[disabled] .btn-default:focus, .btn-default.disabled:active, .btn-default[disabled]:active, fieldset[disabled] .btn-default:active, .btn-default.disabled.active, .btn-default[disabled].active, fieldset[disabled] .btn-default.active {
- background-color: #e7e7e7;
- border-color: #dadada;
-}
-.btn-default .badge {
- color: #e7e7e7;
- background-color: #fff;
-}
-.btn-primary {
- color: #fff;
- background-color: #008cba;
- border-color: #0079a1;
-}
-.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .open .dropdown-toggle.btn-primary {
- color: #fff;
- background-color: #006d91;
- border-color: #004b63;
-}
-.btn-primary:active, .btn-primary.active, .open .dropdown-toggle.btn-primary {
- background-image: none;
-}
-.btn-primary.disabled, .btn-primary[disabled], fieldset[disabled] .btn-primary, .btn-primary.disabled:hover, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary:hover, .btn-primary.disabled:focus, .btn-primary[disabled]:focus, fieldset[disabled] .btn-primary:focus, .btn-primary.disabled:active, .btn-primary[disabled]:active, fieldset[disabled] .btn-primary:active, .btn-primary.disabled.active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary.active {
- background-color: #008cba;
- border-color: #0079a1;
-}
-.btn-primary .badge {
- color: #008cba;
- background-color: #fff;
-}
-.btn-warning {
- color: #fff;
- background-color: #e99002;
- border-color: #d08002;
-}
-.btn-warning:hover, .btn-warning:focus, .btn-warning:active, .btn-warning.active, .open .dropdown-toggle.btn-warning {
- color: #fff;
- background-color: #c17702;
- border-color: #935b01;
-}
-.btn-warning:active, .btn-warning.active, .open .dropdown-toggle.btn-warning {
- background-image: none;
-}
-.btn-warning.disabled, .btn-warning[disabled], fieldset[disabled] .btn-warning, .btn-warning.disabled:hover, .btn-warning[disabled]:hover, fieldset[disabled] .btn-warning:hover, .btn-warning.disabled:focus, .btn-warning[disabled]:focus, fieldset[disabled] .btn-warning:focus, .btn-warning.disabled:active, .btn-warning[disabled]:active, fieldset[disabled] .btn-warning:active, .btn-warning.disabled.active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning.active {
- background-color: #e99002;
- border-color: #d08002;
-}
-.btn-warning .badge {
- color: #e99002;
- background-color: #fff;
-}
-.btn-danger {
- color: #fff;
- background-color: #f04124;
- border-color: #ea2f10;
-}
-.btn-danger:hover, .btn-danger:focus, .btn-danger:active, .btn-danger.active, .open .dropdown-toggle.btn-danger {
- color: #fff;
- background-color: #dc2c0f;
- border-color: #b1240c;
-}
-.btn-danger:active, .btn-danger.active, .open .dropdown-toggle.btn-danger {
- background-image: none;
-}
-.btn-danger.disabled, .btn-danger[disabled], fieldset[disabled] .btn-danger, .btn-danger.disabled:hover, .btn-danger[disabled]:hover, fieldset[disabled] .btn-danger:hover, .btn-danger.disabled:focus, .btn-danger[disabled]:focus, fieldset[disabled] .btn-danger:focus, .btn-danger.disabled:active, .btn-danger[disabled]:active, fieldset[disabled] .btn-danger:active, .btn-danger.disabled.active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger.active {
- background-color: #f04124;
- border-color: #ea2f10;
-}
-.btn-danger .badge {
- color: #f04124;
- background-color: #fff;
-}
-.btn-success {
- color: #fff;
- background-color: #43ac6a;
- border-color: #3c9a5f;
-}
-.btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active, .open .dropdown-toggle.btn-success {
- color: #fff;
- background-color: #388f58;
- border-color: #2b6e44;
-}
-.btn-success:active, .btn-success.active, .open .dropdown-toggle.btn-success {
- background-image: none;
-}
-.btn-success.disabled, .btn-success[disabled], fieldset[disabled] .btn-success, .btn-success.disabled:hover, .btn-success[disabled]:hover, fieldset[disabled] .btn-success:hover, .btn-success.disabled:focus, .btn-success[disabled]:focus, fieldset[disabled] .btn-success:focus, .btn-success.disabled:active, .btn-success[disabled]:active, fieldset[disabled] .btn-success:active, .btn-success.disabled.active, .btn-success[disabled].active, fieldset[disabled] .btn-success.active {
- background-color: #43ac6a;
- border-color: #3c9a5f;
-}
-.btn-success .badge {
- color: #43ac6a;
- background-color: #fff;
-}
-.btn-info {
- color: #fff;
- background-color: #5bc0de;
- border-color: #46b8da;
-}
-.btn-info:hover, .btn-info:focus, .btn-info:active, .btn-info.active, .open .dropdown-toggle.btn-info {
- color: #fff;
- background-color: #39b3d7;
- border-color: #269abc;
-}
-.btn-info:active, .btn-info.active, .open .dropdown-toggle.btn-info {
- background-image: none;
-}
-.btn-info.disabled, .btn-info[disabled], fieldset[disabled] .btn-info, .btn-info.disabled:hover, .btn-info[disabled]:hover, fieldset[disabled] .btn-info:hover, .btn-info.disabled:focus, .btn-info[disabled]:focus, fieldset[disabled] .btn-info:focus, .btn-info.disabled:active, .btn-info[disabled]:active, fieldset[disabled] .btn-info:active, .btn-info.disabled.active, .btn-info[disabled].active, fieldset[disabled] .btn-info.active {
- background-color: #5bc0de;
- border-color: #46b8da;
-}
-.btn-info .badge {
- color: #5bc0de;
- background-color: #fff;
-}
-.btn-link {
- font-weight: normal;
- color: #008cba;
- cursor: pointer;
- border-radius: 0;
-}
-.btn-link, .btn-link:active, .btn-link[disabled], fieldset[disabled] .btn-link {
- background-color: transparent;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-.btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active {
- border-color: transparent;
-}
-.btn-link:hover, .btn-link:focus {
- color: #00526e;
- text-decoration: underline;
- background-color: transparent;
-}
-.btn-link[disabled]:hover, fieldset[disabled] .btn-link:hover, .btn-link[disabled]:focus, fieldset[disabled] .btn-link:focus {
- color: #999;
- text-decoration: none;
-}
-.btn-lg {
- padding: 10px 16px;
- font-size: 19px;
- line-height: 1.33;
- border-radius: 0;
-}
-.btn-sm {
- padding: 5px 10px;
- font-size: 12px;
- line-height: 1.5;
- border-radius: 0;
-}
-.btn-xs {
- padding: 1px 5px;
- font-size: 12px;
- line-height: 1.5;
- border-radius: 0;
-}
-.btn-block {
- display: block;
- width: 100%;
- padding-right: 0;
- padding-left: 0;
-}
-.btn-block+.btn-block {
- margin-top: 5px;
-}
-input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block {
- width: 100%}
-.fade {
- opacity: 0;
- -webkit-transition: opacity .15s linear;
- transition: opacity .15s linear;
-}
-.fade.in {
- opacity: 1;
-}
-.collapse {
- display: none;
-}
-.collapse.in {
- display: block;
-}
-.collapsing {
- position: relative;
- height: 0;
- overflow: hidden;
- -webkit-transition: height .35s ease;
- transition: height .35s ease;
-}
-@font-face {
- font-family: 'Glyphicons Halflings';
- src: url('../fonts/glyphicons-halflings-regular.eot');
- src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg');
-}
-.glyphicon {
- position: relative;
- top: 1px;
- display: inline-block;
- font-family: 'Glyphicons Halflings';
- -webkit-font-smoothing: antialiased;
- font-style: normal;
- font-weight: normal;
- line-height: 1;
- -moz-osx-font-smoothing: grayscale;
-}
-.glyphicon:empty {
- width: 1em;
-}
-.glyphicon-asterisk:before {
- content: "\2a"}
-.glyphicon-plus:before {
- content: "\2b"}
-.glyphicon-euro:before {
- content: "\20ac"}
-.glyphicon-minus:before {
- content: "\2212"}
-.glyphicon-cloud:before {
- content: "\2601"}
-.glyphicon-envelope:before {
- content: "\2709"}
-.glyphicon-pencil:before {
- content: "\270f"}
-.glyphicon-glass:before {
- content: "\e001"}
-.glyphicon-music:before {
- content: "\e002"}
-.glyphicon-search:before {
- content: "\e003"}
-.glyphicon-heart:before {
- content: "\e005"}
-.glyphicon-star:before {
- content: "\e006"}
-.glyphicon-star-empty:before {
- content: "\e007"}
-.glyphicon-user:before {
- content: "\e008"}
-.glyphicon-film:before {
- content: "\e009"}
-.glyphicon-th-large:before {
- content: "\e010"}
-.glyphicon-th:before {
- content: "\e011"}
-.glyphicon-th-list:before {
- content: "\e012"}
-.glyphicon-ok:before {
- content: "\e013"}
-.glyphicon-remove:before {
- content: "\e014"}
-.glyphicon-zoom-in:before {
- content: "\e015"}
-.glyphicon-zoom-out:before {
- content: "\e016"}
-.glyphicon-off:before {
- content: "\e017"}
-.glyphicon-signal:before {
- content: "\e018"}
-.glyphicon-cog:before {
- content: "\e019"}
-.glyphicon-trash:before {
- content: "\e020"}
-.glyphicon-home:before {
- content: "\e021"}
-.glyphicon-file:before {
- content: "\e022"}
-.glyphicon-time:before {
- content: "\e023"}
-.glyphicon-road:before {
- content: "\e024"}
-.glyphicon-download-alt:before {
- content: "\e025"}
-.glyphicon-download:before {
- content: "\e026"}
-.glyphicon-upload:before {
- content: "\e027"}
-.glyphicon-inbox:before {
- content: "\e028"}
-.glyphicon-play-circle:before {
- content: "\e029"}
-.glyphicon-repeat:before {
- content: "\e030"}
-.glyphicon-refresh:before {
- content: "\e031"}
-.glyphicon-list-alt:before {
- content: "\e032"}
-.glyphicon-lock:before {
- content: "\e033"}
-.glyphicon-flag:before {
- content: "\e034"}
-.glyphicon-headphones:before {
- content: "\e035"}
-.glyphicon-volume-off:before {
- content: "\e036"}
-.glyphicon-volume-down:before {
- content: "\e037"}
-.glyphicon-volume-up:before {
- content: "\e038"}
-.glyphicon-qrcode:before {
- content: "\e039"}
-.glyphicon-barcode:before {
- content: "\e040"}
-.glyphicon-tag:before {
- content: "\e041"}
-.glyphicon-tags:before {
- content: "\e042"}
-.glyphicon-book:before {
- content: "\e043"}
-.glyphicon-bookmark:before {
- content: "\e044"}
-.glyphicon-print:before {
- content: "\e045"}
-.glyphicon-camera:before {
- content: "\e046"}
-.glyphicon-font:before {
- content: "\e047"}
-.glyphicon-bold:before {
- content: "\e048"}
-.glyphicon-italic:before {
- content: "\e049"}
-.glyphicon-text-height:before {
- content: "\e050"}
-.glyphicon-text-width:before {
- content: "\e051"}
-.glyphicon-align-left:before {
- content: "\e052"}
-.glyphicon-align-center:before {
- content: "\e053"}
-.glyphicon-align-right:before {
- content: "\e054"}
-.glyphicon-align-justify:before {
- content: "\e055"}
-.glyphicon-list:before {
- content: "\e056"}
-.glyphicon-indent-left:before {
- content: "\e057"}
-.glyphicon-indent-right:before {
- content: "\e058"}
-.glyphicon-facetime-video:before {
- content: "\e059"}
-.glyphicon-picture:before {
- content: "\e060"}
-.glyphicon-map-marker:before {
- content: "\e062"}
-.glyphicon-adjust:before {
- content: "\e063"}
-.glyphicon-tint:before {
- content: "\e064"}
-.glyphicon-edit:before {
- content: "\e065"}
-.glyphicon-share:before {
- content: "\e066"}
-.glyphicon-check:before {
- content: "\e067"}
-.glyphicon-move:before {
- content: "\e068"}
-.glyphicon-step-backward:before {
- content: "\e069"}
-.glyphicon-fast-backward:before {
- content: "\e070"}
-.glyphicon-backward:before {
- content: "\e071"}
-.glyphicon-play:before {
- content: "\e072"}
-.glyphicon-pause:before {
- content: "\e073"}
-.glyphicon-stop:before {
- content: "\e074"}
-.glyphicon-forward:before {
- content: "\e075"}
-.glyphicon-fast-forward:before {
- content: "\e076"}
-.glyphicon-step-forward:before {
- content: "\e077"}
-.glyphicon-eject:before {
- content: "\e078"}
-.glyphicon-chevron-left:before {
- content: "\e079"}
-.glyphicon-chevron-right:before {
- content: "\e080"}
-.glyphicon-plus-sign:before {
- content: "\e081"}
-.glyphicon-minus-sign:before {
- content: "\e082"}
-.glyphicon-remove-sign:before {
- content: "\e083"}
-.glyphicon-ok-sign:before {
- content: "\e084"}
-.glyphicon-question-sign:before {
- content: "\e085"}
-.glyphicon-info-sign:before {
- content: "\e086"}
-.glyphicon-screenshot:before {
- content: "\e087"}
-.glyphicon-remove-circle:before {
- content: "\e088"}
-.glyphicon-ok-circle:before {
- content: "\e089"}
-.glyphicon-ban-circle:before {
- content: "\e090"}
-.glyphicon-arrow-left:before {
- content: "\e091"}
-.glyphicon-arrow-right:before {
- content: "\e092"}
-.glyphicon-arrow-up:before {
- content: "\e093"}
-.glyphicon-arrow-down:before {
- content: "\e094"}
-.glyphicon-share-alt:before {
- content: "\e095"}
-.glyphicon-resize-full:before {
- content: "\e096"}
-.glyphicon-resize-small:before {
- content: "\e097"}
-.glyphicon-exclamation-sign:before {
- content: "\e101"}
-.glyphicon-gift:before {
- content: "\e102"}
-.glyphicon-leaf:before {
- content: "\e103"}
-.glyphicon-fire:before {
- content: "\e104"}
-.glyphicon-eye-open:before {
- content: "\e105"}
-.glyphicon-eye-close:before {
- content: "\e106"}
-.glyphicon-warning-sign:before {
- content: "\e107"}
-.glyphicon-plane:before {
- content: "\e108"}
-.glyphicon-calendar:before {
- content: "\e109"}
-.glyphicon-random:before {
- content: "\e110"}
-.glyphicon-comment:before {
- content: "\e111"}
-.glyphicon-magnet:before {
- content: "\e112"}
-.glyphicon-chevron-up:before {
- content: "\e113"}
-.glyphicon-chevron-down:before {
- content: "\e114"}
-.glyphicon-retweet:before {
- content: "\e115"}
-.glyphicon-shopping-cart:before {
- content: "\e116"}
-.glyphicon-folder-close:before {
- content: "\e117"}
-.glyphicon-folder-open:before {
- content: "\e118"}
-.glyphicon-resize-vertical:before {
- content: "\e119"}
-.glyphicon-resize-horizontal:before {
- content: "\e120"}
-.glyphicon-hdd:before {
- content: "\e121"}
-.glyphicon-bullhorn:before {
- content: "\e122"}
-.glyphicon-bell:before {
- content: "\e123"}
-.glyphicon-certificate:before {
- content: "\e124"}
-.glyphicon-thumbs-up:before {
- content: "\e125"}
-.glyphicon-thumbs-down:before {
- content: "\e126"}
-.glyphicon-hand-right:before {
- content: "\e127"}
-.glyphicon-hand-left:before {
- content: "\e128"}
-.glyphicon-hand-up:before {
- content: "\e129"}
-.glyphicon-hand-down:before {
- content: "\e130"}
-.glyphicon-circle-arrow-right:before {
- content: "\e131"}
-.glyphicon-circle-arrow-left:before {
- content: "\e132"}
-.glyphicon-circle-arrow-up:before {
- content: "\e133"}
-.glyphicon-circle-arrow-down:before {
- content: "\e134"}
-.glyphicon-globe:before {
- content: "\e135"}
-.glyphicon-wrench:before {
- content: "\e136"}
-.glyphicon-tasks:before {
- content: "\e137"}
-.glyphicon-filter:before {
- content: "\e138"}
-.glyphicon-briefcase:before {
- content: "\e139"}
-.glyphicon-fullscreen:before {
- content: "\e140"}
-.glyphicon-dashboard:before {
- content: "\e141"}
-.glyphicon-paperclip:before {
- content: "\e142"}
-.glyphicon-heart-empty:before {
- content: "\e143"}
-.glyphicon-link:before {
- content: "\e144"}
-.glyphicon-phone:before {
- content: "\e145"}
-.glyphicon-pushpin:before {
- content: "\e146"}
-.glyphicon-usd:before {
- content: "\e148"}
-.glyphicon-gbp:before {
- content: "\e149"}
-.glyphicon-sort:before {
- content: "\e150"}
-.glyphicon-sort-by-alphabet:before {
- content: "\e151"}
-.glyphicon-sort-by-alphabet-alt:before {
- content: "\e152"}
-.glyphicon-sort-by-order:before {
- content: "\e153"}
-.glyphicon-sort-by-order-alt:before {
- content: "\e154"}
-.glyphicon-sort-by-attributes:before {
- content: "\e155"}
-.glyphicon-sort-by-attributes-alt:before {
- content: "\e156"}
-.glyphicon-unchecked:before {
- content: "\e157"}
-.glyphicon-expand:before {
- content: "\e158"}
-.glyphicon-collapse-down:before {
- content: "\e159"}
-.glyphicon-collapse-up:before {
- content: "\e160"}
-.glyphicon-log-in:before {
- content: "\e161"}
-.glyphicon-flash:before {
- content: "\e162"}
-.glyphicon-log-out:before {
- content: "\e163"}
-.glyphicon-new-window:before {
- content: "\e164"}
-.glyphicon-record:before {
- content: "\e165"}
-.glyphicon-save:before {
- content: "\e166"}
-.glyphicon-open:before {
- content: "\e167"}
-.glyphicon-saved:before {
- content: "\e168"}
-.glyphicon-import:before {
- content: "\e169"}
-.glyphicon-export:before {
- content: "\e170"}
-.glyphicon-send:before {
- content: "\e171"}
-.glyphicon-floppy-disk:before {
- content: "\e172"}
-.glyphicon-floppy-saved:before {
- content: "\e173"}
-.glyphicon-floppy-remove:before {
- content: "\e174"}
-.glyphicon-floppy-save:before {
- content: "\e175"}
-.glyphicon-floppy-open:before {
- content: "\e176"}
-.glyphicon-credit-card:before {
- content: "\e177"}
-.glyphicon-transfer:before {
- content: "\e178"}
-.glyphicon-cutlery:before {
- content: "\e179"}
-.glyphicon-header:before {
- content: "\e180"}
-.glyphicon-compressed:before {
- content: "\e181"}
-.glyphicon-earphone:before {
- content: "\e182"}
-.glyphicon-phone-alt:before {
- content: "\e183"}
-.glyphicon-tower:before {
- content: "\e184"}
-.glyphicon-stats:before {
- content: "\e185"}
-.glyphicon-sd-video:before {
- content: "\e186"}
-.glyphicon-hd-video:before {
- content: "\e187"}
-.glyphicon-subtitles:before {
- content: "\e188"}
-.glyphicon-sound-stereo:before {
- content: "\e189"}
-.glyphicon-sound-dolby:before {
- content: "\e190"}
-.glyphicon-sound-5-1:before {
- content: "\e191"}
-.glyphicon-sound-6-1:before {
- content: "\e192"}
-.glyphicon-sound-7-1:before {
- content: "\e193"}
-.glyphicon-copyright-mark:before {
- content: "\e194"}
-.glyphicon-registration-mark:before {
- content: "\e195"}
-.glyphicon-cloud-download:before {
- content: "\e197"}
-.glyphicon-cloud-upload:before {
- content: "\e198"}
-.glyphicon-tree-conifer:before {
- content: "\e199"}
-.glyphicon-tree-deciduous:before {
- content: "\e200"}
-.caret {
- display: inline-block;
- width: 0;
- height: 0;
- margin-left: 2px;
- vertical-align: middle;
- border-top: 4px solid;
- border-right: 4px solid transparent;
- border-left: 4px solid transparent;
-}
-.dropdown {
- position: relative;
-}
-.dropdown-toggle:focus {
- outline: 0;
-}
-.dropdown-menu {
- position: absolute;
- top: 100%;
- left: 0;
- z-index: 1000;
- display: none;
- float: left;
- min-width: 160px;
- padding: 5px 0;
- margin: 2px 0 0;
- font-size: 15px;
- list-style: none;
- background-color: #fff;
- border: 1px solid #ccc;
- border: 1px solid rgba(0, 0, 0, 0.15);
- border-radius: 0;
- -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
- box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
- background-clip: padding-box;
-}
-.dropdown-menu.pull-right {
- right: 0;
- left: auto;
-}
-.dropdown-menu .divider {
- height: 1px;
- margin: 9.5px 0;
- overflow: hidden;
- background-color: rgba(0, 0, 0, 0.2);
-}
-.dropdown-menu>li>a {
- display: block;
- padding: 3px 20px;
- clear: both;
- font-weight: normal;
- line-height: 1.428571429;
- color: #555;
- white-space: nowrap;
-}
-.dropdown-menu>li>a:hover, .dropdown-menu>li>a:focus {
- color: #262626;
- text-decoration: none;
- background-color: #eee;
-}
-.dropdown-menu>.active>a, .dropdown-menu>.active>a:hover, .dropdown-menu>.active>a:focus {
- color: #fff;
- text-decoration: none;
- background-color: #008cba;
- outline: 0;
-}
-.dropdown-menu>.disabled>a, .dropdown-menu>.disabled>a:hover, .dropdown-menu>.disabled>a:focus {
- color: #999;
-}
-.dropdown-menu>.disabled>a:hover, .dropdown-menu>.disabled>a:focus {
- text-decoration: none;
- cursor: not-allowed;
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-}
-.open>.dropdown-menu {
- display: block;
-}
-.open>a {
- outline: 0;
-}
-.dropdown-header {
- display: block;
- padding: 3px 20px;
- font-size: 12px;
- line-height: 1.428571429;
- color: #999;
-}
-.dropdown-backdrop {
- position: fixed;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- z-index: 990;
-}
-.pull-right>.dropdown-menu {
- right: 0;
- left: auto;
-}
-.dropup .caret, .navbar-fixed-bottom .dropdown .caret {
- border-top: 0;
- border-bottom: 4px solid;
- content: ""}
-.dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .dropdown-menu {
- top: auto;
- bottom: 100%;
- margin-bottom: 1px;
-}
-@media(min-width:768px) {
- .navbar-right .dropdown-menu {
- right: 0;
- left: auto;
-}
-}.btn-group, .btn-group-vertical {
- position: relative;
- display: inline-block;
- vertical-align: middle;
-}
-.btn-group>.btn, .btn-group-vertical>.btn {
- position: relative;
- float: left;
-}
-.btn-group>.btn:hover, .btn-group-vertical>.btn:hover, .btn-group>.btn:focus, .btn-group-vertical>.btn:focus, .btn-group>.btn:active, .btn-group-vertical>.btn:active, .btn-group>.btn.active, .btn-group-vertical>.btn.active {
- z-index: 2;
-}
-.btn-group>.btn:focus, .btn-group-vertical>.btn:focus {
- outline: 0;
-}
-.btn-group .btn+.btn, .btn-group .btn+.btn-group, .btn-group .btn-group+.btn, .btn-group .btn-group+.btn-group {
- margin-left: -1px;
-}
-.btn-toolbar:before, .btn-toolbar:after {
- display: table;
- content: " "}
-.btn-toolbar:after {
- clear: both;
-}
-.btn-toolbar:before, .btn-toolbar:after {
- display: table;
- content: " "}
-.btn-toolbar:after {
- clear: both;
-}
-.btn-toolbar:before, .btn-toolbar:after {
- display: table;
- content: " "}
-.btn-toolbar:after {
- clear: both;
-}
-.btn-toolbar:before, .btn-toolbar:after {
- display: table;
- content: " "}
-.btn-toolbar:after {
- clear: both;
-}
-.btn-toolbar:before, .btn-toolbar:after {
- display: table;
- content: " "}
-.btn-toolbar:after {
- clear: both;
-}
-.btn-toolbar .btn-group {
- float: left;
-}
-.btn-toolbar>.btn+.btn, .btn-toolbar>.btn-group+.btn, .btn-toolbar>.btn+.btn-group, .btn-toolbar>.btn-group+.btn-group {
- margin-left: 5px;
-}
-.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
- border-radius: 0;
-}
-.btn-group>.btn:first-child {
- margin-left: 0;
-}
-.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle) {
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
-}
-.btn-group>.btn:last-child:not(:first-child), .btn-group>.dropdown-toggle:not(:first-child) {
- border-bottom-left-radius: 0;
- border-top-left-radius: 0;
-}
-.btn-group>.btn-group {
- float: left;
-}
-.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn {
- border-radius: 0;
-}
-.btn-group>.btn-group:first-child>.btn:last-child, .btn-group>.btn-group:first-child>.dropdown-toggle {
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
-}
-.btn-group>.btn-group:last-child>.btn:first-child {
- border-bottom-left-radius: 0;
- border-top-left-radius: 0;
-}
-.btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle {
- outline: 0;
-}
-.btn-group-xs>.btn {
- padding: 1px 5px;
- font-size: 12px;
- line-height: 1.5;
- border-radius: 0;
-}
-.btn-group-sm>.btn {
- padding: 5px 10px;
- font-size: 12px;
- line-height: 1.5;
- border-radius: 0;
-}
-.btn-group-lg>.btn {
- padding: 10px 16px;
- font-size: 19px;
- line-height: 1.33;
- border-radius: 0;
-}
-.btn-group>.btn+.dropdown-toggle {
- padding-right: 8px;
- padding-left: 8px;
-}
-.btn-group>.btn-lg+.dropdown-toggle {
- padding-right: 12px;
- padding-left: 12px;
-}
-.btn-group.open .dropdown-toggle {
- -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
- box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-}
-.btn-group.open .dropdown-toggle.btn-link {
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-.btn .caret {
- margin-left: 0;
-}
-.btn-lg .caret {
- border-width: 5px 5px 0;
- border-bottom-width: 0;
-}
-.dropup .btn-lg .caret {
- border-width: 0 5px 5px;
-}
-.btn-group-vertical>.btn, .btn-group-vertical>.btn-group, .btn-group-vertical>.btn-group>.btn {
- display: block;
- float: none;
- width: 100%;
- max-width: 100%}
-.btn-group-vertical>.btn-group:before, .btn-group-vertical>.btn-group:after {
- display: table;
- content: " "}
-.btn-group-vertical>.btn-group:after {
- clear: both;
-}
-.btn-group-vertical>.btn-group:before, .btn-group-vertical>.btn-group:after {
- display: table;
- content: " "}
-.btn-group-vertical>.btn-group:after {
- clear: both;
-}
-.btn-group-vertical>.btn-group:before, .btn-group-vertical>.btn-group:after {
- display: table;
- content: " "}
-.btn-group-vertical>.btn-group:after {
- clear: both;
-}
-.btn-group-vertical>.btn-group:before, .btn-group-vertical>.btn-group:after {
- display: table;
- content: " "}
-.btn-group-vertical>.btn-group:after {
- clear: both;
-}
-.btn-group-vertical>.btn-group:before, .btn-group-vertical>.btn-group:after {
- display: table;
- content: " "}
-.btn-group-vertical>.btn-group:after {
- clear: both;
-}
-.btn-group-vertical>.btn-group>.btn {
- float: none;
-}
-.btn-group-vertical>.btn+.btn, .btn-group-vertical>.btn+.btn-group, .btn-group-vertical>.btn-group+.btn, .btn-group-vertical>.btn-group+.btn-group {
- margin-top: -1px;
- margin-left: 0;
-}
-.btn-group-vertical>.btn:not(:first-child):not(:last-child) {
- border-radius: 0;
-}
-.btn-group-vertical>.btn:first-child:not(:last-child) {
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
- border-bottom-left-radius: 0;
-}
-.btn-group-vertical>.btn:last-child:not(:first-child) {
- border-top-right-radius: 0;
- border-bottom-left-radius: 0;
- border-top-left-radius: 0;
-}
-.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn {
- border-radius: 0;
-}
-.btn-group-vertical>.btn-group:first-child>.btn:last-child, .btn-group-vertical>.btn-group:first-child>.dropdown-toggle {
- border-bottom-right-radius: 0;
- border-bottom-left-radius: 0;
-}
-.btn-group-vertical>.btn-group:last-child>.btn:first-child {
- border-top-right-radius: 0;
- border-top-left-radius: 0;
-}
-.btn-group-justified {
- display: table;
- width: 100%;
- border-collapse: separate;
- table-layout: fixed;
-}
-.btn-group-justified>.btn, .btn-group-justified>.btn-group {
- display: table-cell;
- float: none;
- width: 1%}
-.btn-group-justified>.btn-group .btn {
- width: 100%}
-[data-toggle="buttons"]>.btn>input[type="radio"], [data-toggle="buttons"]>.btn>input[type="checkbox"] {
- display: none;
-}
-.input-group {
- position: relative;
- display: table;
- border-collapse: separate;
-}
-.input-group[class*="col-"] {
- float: none;
- padding-right: 0;
- padding-left: 0;
-}
-.input-group .form-control {
- width: 100%;
- margin-bottom: 0;
-}
-.input-group-lg>.form-control, .input-group-lg>.input-group-addon, .input-group-lg>.input-group-btn>.btn {
- height: 48px;
- padding: 10px 16px;
- font-size: 19px;
- line-height: 1.33;
- border-radius: 0;
-}
-select.input-group-lg>.form-control, select.input-group-lg>.input-group-addon, select.input-group-lg>.input-group-btn>.btn {
- height: 48px;
- line-height: 48px;
-}
-textarea.input-group-lg>.form-control, textarea.input-group-lg>.input-group-addon, textarea.input-group-lg>.input-group-btn>.btn {
- height: auto;
-}
-.input-group-sm>.form-control, .input-group-sm>.input-group-addon, .input-group-sm>.input-group-btn>.btn {
- height: 30px;
- padding: 5px 10px;
- font-size: 12px;
- line-height: 1.5;
- border-radius: 0;
-}
-select.input-group-sm>.form-control, select.input-group-sm>.input-group-addon, select.input-group-sm>.input-group-btn>.btn {
- height: 30px;
- line-height: 30px;
-}
-textarea.input-group-sm>.form-control, textarea.input-group-sm>.input-group-addon, textarea.input-group-sm>.input-group-btn>.btn {
- height: auto;
-}
-.input-group-addon, .input-group-btn, .input-group .form-control {
- display: table-cell;
-}
-.input-group-addon:not(:first-child):not(:last-child), .input-group-btn:not(:first-child):not(:last-child), .input-group .form-control:not(:first-child):not(:last-child) {
- border-radius: 0;
-}
-.input-group-addon, .input-group-btn {
- width: 1%;
- white-space: nowrap;
- vertical-align: middle;
-}
-.input-group-addon {
- padding: 6px 12px;
- font-size: 15px;
- font-weight: normal;
- line-height: 1;
- color: #6f6f6f;
- text-align: center;
- background-color: #eee;
- border: 1px solid #ccc;
- border-radius: 0;
-}
-.input-group-addon.input-sm {
- padding: 5px 10px;
- font-size: 12px;
- border-radius: 0;
-}
-.input-group-addon.input-lg {
- padding: 10px 16px;
- font-size: 19px;
- border-radius: 0;
-}
-.input-group-addon input[type="radio"], .input-group-addon input[type="checkbox"] {
- margin-top: 0;
-}
-.input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child>.btn, .input-group-btn:first-child>.dropdown-toggle, .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle) {
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
-}
-.input-group-addon:first-child {
- border-right: 0;
-}
-.input-group .form-control:last-child, .input-group-addon:last-child, .input-group-btn:last-child>.btn, .input-group-btn:last-child>.dropdown-toggle, .input-group-btn:first-child>.btn:not(:first-child) {
- border-bottom-left-radius: 0;
- border-top-left-radius: 0;
-}
-.input-group-addon:last-child {
- border-left: 0;
-}
-.input-group-btn {
- position: relative;
- white-space: nowrap;
-}
-.input-group-btn:first-child>.btn {
- margin-right: -1px;
-}
-.input-group-btn:last-child>.btn {
- margin-left: -1px;
-}
-.input-group-btn>.btn {
- position: relative;
-}
-.input-group-btn>.btn+.btn {
- margin-left: -4px;
-}
-.input-group-btn>.btn:hover, .input-group-btn>.btn:active {
- z-index: 2;
-}
-.nav {
- font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
- padding-left: 0;
- margin-bottom: 0;
- list-style: none;
-}
-.nav:before, .nav:after {
- display: table;
- content: " "}
-.nav:after {
- clear: both;
-}
-.nav:before, .nav:after {
- display: table;
- content: " "}
-.nav:after {
- clear: both;
-}
-.nav:before, .nav:after {
- display: table;
- content: " "}
-.nav:after {
- clear: both;
-}
-.nav:before, .nav:after {
- display: table;
- content: " "}
-.nav:after {
- clear: both;
-}
-.nav:before, .nav:after {
- display: table;
- content: " "}
-.nav:after {
- clear: both;
-}
-.nav>li {
- position: relative;
- display: block;
-}
-.nav>li>a {
- position: relative;
- display: block;
- padding: 10px 15px;
-}
-.nav>li>a:hover, .nav>li>a:focus {
- text-decoration: none;
- background-color: #eee;
-}
-.nav>li.disabled>a {
- color: #999;
-}
-.nav>li.disabled>a:hover, .nav>li.disabled>a:focus {
- color: #999;
- text-decoration: none;
- cursor: not-allowed;
- background-color: transparent;
-}
-.nav .open>a, .nav .open>a:hover, .nav .open>a:focus {
- background-color: #eee;
- border-color: #008cba;
-}
-.nav .nav-divider {
- height: 1px;
- margin: 9.5px 0;
- overflow: hidden;
- background-color: #e5e5e5;
-}
-.nav>li>a>img {
- max-width: none;
-}
-.nav-tabs {
- border-bottom: 1px solid #ddd;
-}
-.nav-tabs>li {
- float: left;
- margin-bottom: -1px;
-}
-.nav-tabs>li>a {
- margin-right: 2px;
- line-height: 1.428571429;
- border: 1px solid transparent;
- border-radius: 0;
-}
-.nav-tabs>li>a:hover {
- border-color: #eee #eee #ddd;
-}
-.nav-tabs>li.active>a, .nav-tabs>li.active>a:hover, .nav-tabs>li.active>a:focus {
- color: #6f6f6f;
- cursor: default;
- background-color: #fff;
- border: 1px solid #ddd;
- border-bottom-color: transparent;
-}
-.nav-tabs.nav-justified {
- width: 100%;
- border-bottom: 0;
-}
-.nav-tabs.nav-justified>li {
- float: none;
-}
-.nav-tabs.nav-justified>li>a {
- margin-bottom: 5px;
- text-align: center;
-}
-.nav-tabs.nav-justified>.dropdown .dropdown-menu {
- top: auto;
- left: auto;
-}
-@media(min-width:768px) {
- .nav-tabs.nav-justified>li {
- display: table-cell;
- width: 1%}
-.nav-tabs.nav-justified>li>a {
- margin-bottom: 0;
-}
-}.nav-tabs.nav-justified>li>a {
- margin-right: 0;
- border-radius: 0;
-}
-.nav-tabs.nav-justified>.active>a, .nav-tabs.nav-justified>.active>a:hover, .nav-tabs.nav-justified>.active>a:focus {
- border: 1px solid #ddd;
-}
-@media(min-width:768px) {
- .nav-tabs.nav-justified>li>a {
- border-bottom: 1px solid #ddd;
- border-radius: 0;
-}
-.nav-tabs.nav-justified>.active>a, .nav-tabs.nav-justified>.active>a:hover, .nav-tabs.nav-justified>.active>a:focus {
- border-bottom-color: #fff;
-}
-}.nav-pills>li {
- float: left;
-}
-.nav-pills>li>a {
- border-radius: 0;
-}
-.nav-pills>li+li {
- margin-left: 2px;
-}
-.nav-pills>li.active>a, .nav-pills>li.active>a:hover, .nav-pills>li.active>a:focus {
- color: #fff;
- background-color: #008cba;
-}
-.nav-stacked>li {
- float: none;
-}
-.nav-stacked>li+li {
- margin-top: 2px;
- margin-left: 0;
-}
-.nav-justified {
- width: 100%}
-.nav-justified>li {
- float: none;
-}
-.nav-justified>li>a {
- margin-bottom: 5px;
- text-align: center;
-}
-.nav-justified>.dropdown .dropdown-menu {
- top: auto;
- left: auto;
-}
-@media(min-width:768px) {
- .nav-justified>li {
- display: table-cell;
- width: 1%}
-.nav-justified>li>a {
- margin-bottom: 0;
-}
-}.nav-tabs-justified {
- border-bottom: 0;
-}
-.nav-tabs-justified>li>a {
- margin-right: 0;
- border-radius: 0;
-}
-.nav-tabs-justified>.active>a, .nav-tabs-justified>.active>a:hover, .nav-tabs-justified>.active>a:focus {
- border: 1px solid #ddd;
-}
-@media(min-width:768px) {
- .nav-tabs-justified>li>a {
- border-bottom: 1px solid #ddd;
- border-radius: 0;
-}
-.nav-tabs-justified>.active>a, .nav-tabs-justified>.active>a:hover, .nav-tabs-justified>.active>a:focus {
- border-bottom-color: #fff;
-}
-}.tab-content>.tab-pane {
- display: none;
-}
-.tab-content>.active {
- display: block;
-}
-.nav-tabs .dropdown-menu {
- margin-top: -1px;
- border-top-right-radius: 0;
- border-top-left-radius: 0;
-}
-.navbar {
- position: relative;
- min-height: 45px;
- margin-bottom: 21px;
- border: 1px solid transparent;
-}
-.navbar:before, .navbar:after {
- display: table;
- content: " "}
-.navbar:after {
- clear: both;
-}
-.navbar:before, .navbar:after {
- display: table;
- content: " "}
-.navbar:after {
- clear: both;
-}
-.navbar:before, .navbar:after {
- display: table;
- content: " "}
-.navbar:after {
- clear: both;
-}
-.navbar:before, .navbar:after {
- display: table;
- content: " "}
-.navbar:after {
- clear: both;
-}
-.navbar:before, .navbar:after {
- display: table;
- content: " "}
-.navbar:after {
- clear: both;
-}
-@media(min-width:768px) {
- .navbar {
- border-radius: 0;
-}
-}.navbar-header:before, .navbar-header:after {
- display: table;
- content: " "}
-.navbar-header:after {
- clear: both;
-}
-.navbar-header:before, .navbar-header:after {
- display: table;
- content: " "}
-.navbar-header:after {
- clear: both;
-}
-.navbar-header:before, .navbar-header:after {
- display: table;
- content: " "}
-.navbar-header:after {
- clear: both;
-}
-.navbar-header:before, .navbar-header:after {
- display: table;
- content: " "}
-.navbar-header:after {
- clear: both;
-}
-.navbar-header:before, .navbar-header:after {
- display: table;
- content: " "}
-.navbar-header:after {
- clear: both;
-}
-@media(min-width:768px) {
- .navbar-header {
- float: left;
-}
-}.navbar-collapse {
- max-height: 340px;
- padding-right: 15px;
- padding-left: 15px;
- overflow-x: visible;
- border-top: 1px solid transparent;
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
- -webkit-overflow-scrolling: touch;
-}
-.navbar-collapse:before, .navbar-collapse:after {
- display: table;
- content: " "}
-.navbar-collapse:after {
- clear: both;
-}
-.navbar-collapse:before, .navbar-collapse:after {
- display: table;
- content: " "}
-.navbar-collapse:after {
- clear: both;
-}
-.navbar-collapse:before, .navbar-collapse:after {
- display: table;
- content: " "}
-.navbar-collapse:after {
- clear: both;
-}
-.navbar-collapse:before, .navbar-collapse:after {
- display: table;
- content: " "}
-.navbar-collapse:after {
- clear: both;
-}
-.navbar-collapse:before, .navbar-collapse:after {
- display: table;
- content: " "}
-.navbar-collapse:after {
- clear: both;
-}
-.navbar-collapse.in {
- overflow-y: auto;
-}
-@media(min-width:768px) {
- .navbar-collapse {
- width: auto;
- border-top: 0;
- box-shadow: none;
-}
-.navbar-collapse.collapse {
- display: block!important;
- height: auto!important;
- padding-bottom: 0;
- overflow: visible!important;
-}
-.navbar-collapse.in {
- overflow-y: visible;
-}
-.navbar-fixed-top .navbar-collapse, .navbar-static-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse {
- padding-right: 0;
- padding-left: 0;
-}
-}.container>.navbar-header, .container>.navbar-collapse {
- margin-right: -15px;
- margin-left: -15px;
-}
-@media(min-width:768px) {
- .container>.navbar-header, .container>.navbar-collapse {
- margin-right: 0;
- margin-left: 0;
-}
-}.navbar-static-top {
- z-index: 1000;
- border-width: 0 0 1px;
-}
-@media(min-width:768px) {
- .navbar-static-top {
- border-radius: 0;
-}
-}.navbar-fixed-top, .navbar-fixed-bottom {
- position: fixed;
- right: 0;
- left: 0;
- z-index: 1030;
-}
-@media(min-width:768px) {
- .navbar-fixed-top, .navbar-fixed-bottom {
- border-radius: 0;
-}
-}.navbar-fixed-top {
- top: 0;
- border-width: 0 0 1px;
-}
-.navbar-fixed-bottom {
- bottom: 0;
- margin-bottom: 0;
- border-width: 1px 0 0;
-}
-.navbar-brand {
- font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
- float: left;
- padding: 12px 15px;
- font-size: 19px;
- line-height: 21px;
-}
-.navbar-brand:hover, .navbar-brand:focus {
- text-decoration: none;
-}
-@media(min-width:768px) {
- .navbar>.container .navbar-brand {
- margin-left: -15px;
-}
-}.navbar-toggle {
- position: relative;
- float: right;
- padding: 9px 10px;
- margin-top: 5.5px;
- margin-right: 15px;
- margin-bottom: 5.5px;
- background-color: transparent;
- background-image: none;
- border: 1px solid transparent;
- border-radius: 0;
-}
-.navbar-toggle .icon-bar {
- display: block;
- width: 22px;
- height: 2px;
- border-radius: 1px;
-}
-.navbar-toggle .icon-bar+.icon-bar {
- margin-top: 4px;
-}
-@media(min-width:768px) {
- .navbar-toggle {
- display: none;
-}
-}.navbar-nav {
- margin: 6px -15px;
-}
-.navbar-nav>li>a {
- padding-top: 10px;
- padding-bottom: 10px;
- line-height: 21px;
-}
-@media(max-width:767px) {
- .navbar-nav .open .dropdown-menu {
- position: static;
- float: none;
- width: auto;
- margin-top: 0;
- background-color: transparent;
- border: 0;
- box-shadow: none;
-}
-.navbar-nav .open .dropdown-menu>li>a, .navbar-nav .open .dropdown-menu .dropdown-header {
- padding: 5px 15px 5px 25px;
-}
-.navbar-nav .open .dropdown-menu>li>a {
- line-height: 21px;
-}
-.navbar-nav .open .dropdown-menu>li>a:hover, .navbar-nav .open .dropdown-menu>li>a:focus {
- background-image: none;
-}
-}@media(min-width:768px) {
- .navbar-nav {
- float: left;
- margin: 0;
-}
-.navbar-nav>li {
- float: left;
-}
-.navbar-nav>li>a {
- padding-top: 12px;
- padding-bottom: 12px;
-}
-.navbar-nav.navbar-right:last-child {
- margin-right: -15px;
-}
-}@media(min-width:768px) {
- .navbar-left {
- float: left!important;
-}
-.navbar-right {
- float: right!important;
-}
-}.navbar-form {
- padding: 10px 15px;
- margin-top: 5px;
- margin-right: -15px;
- margin-bottom: 5px;
- margin-left: -15px;
- border-top: 1px solid transparent;
- border-bottom: 1px solid transparent;
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
-}
-@media(min-width:768px) {
- .navbar-form .form-group {
- display: inline-block;
- margin-bottom: 0;
- vertical-align: middle;
-}
-.navbar-form .form-control {
- display: inline-block;
-}
-.navbar-form select.form-control {
- width: auto;
-}
-.navbar-form .radio, .navbar-form .checkbox {
- display: inline-block;
- padding-left: 0;
- margin-top: 0;
- margin-bottom: 0;
-}
-.navbar-form .radio input[type="radio"], .navbar-form .checkbox input[type="checkbox"] {
- float: none;
- margin-left: 0;
-}
-}@media(max-width:767px) {
- .navbar-form .form-group {
- margin-bottom: 5px;
-}
-}@media(min-width:768px) {
- .navbar-form {
- width: auto;
- padding-top: 0;
- padding-bottom: 0;
- margin-right: 0;
- margin-left: 0;
- border: 0;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-.navbar-form.navbar-right:last-child {
- margin-right: -15px;
-}
-}.navbar-nav>li>.dropdown-menu {
- margin-top: 0;
- border-top-right-radius: 0;
- border-top-left-radius: 0;
-}
-.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu {
- border-bottom-right-radius: 0;
- border-bottom-left-radius: 0;
-}
-.navbar-nav.pull-right>li>.dropdown-menu, .navbar-nav>li>.dropdown-menu.pull-right {
- right: 0;
- left: auto;
-}
-.navbar-btn {
- margin-top: 5px;
- margin-bottom: 5px;
-}
-.navbar-btn.btn-sm {
- margin-top: 7.5px;
- margin-bottom: 7.5px;
-}
-.navbar-btn.btn-xs {
- margin-top: 11.5px;
- margin-bottom: 11.5px;
-}
-.navbar-text {
- margin-top: 12px;
- margin-bottom: 12px;
-}
-@media(min-width:768px) {
- .navbar-text {
- float: left;
- margin-right: 15px;
- margin-left: 15px;
-}
-.navbar-text.navbar-right:last-child {
- margin-right: 0;
-}
-}.navbar-default {
- background-color: #333;
- border-color: #222;
-}
-.navbar-default .navbar-brand {
- color: #fff;
-}
-.navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus {
- color: #fff;
- background-color: transparent;
-}
-.navbar-default .navbar-text {
- color: #fff;
-}
-.navbar-default .navbar-nav>li>a {
- color: #fff;
-}
-.navbar-default .navbar-nav>li>a:hover, .navbar-default .navbar-nav>li>a:focus {
- color: #fff;
- background-color: #272727;
-}
-.navbar-default .navbar-nav>.active>a, .navbar-default .navbar-nav>.active>a:hover, .navbar-default .navbar-nav>.active>a:focus {
- color: #fff;
- background-color: #272727;
-}
-.navbar-default .navbar-nav>.disabled>a, .navbar-default .navbar-nav>.disabled>a:hover, .navbar-default .navbar-nav>.disabled>a:focus {
- color: #ccc;
- background-color: transparent;
-}
-.navbar-default .navbar-toggle {
- border-color: transparent;
-}
-.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {
- background-color: transparent;
-}
-.navbar-default .navbar-toggle .icon-bar {
- background-color: #fff;
-}
-.navbar-default .navbar-collapse, .navbar-default .navbar-form {
- border-color: #222;
-}
-.navbar-default .navbar-nav>.open>a, .navbar-default .navbar-nav>.open>a:hover, .navbar-default .navbar-nav>.open>a:focus {
- color: #fff;
- background-color: #272727;
-}
-@media(max-width:767px) {
- .navbar-default .navbar-nav .open .dropdown-menu>li>a {
- color: #fff;
-}
-.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover, .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus {
- color: #fff;
- background-color: #272727;
-}
-.navbar-default .navbar-nav .open .dropdown-menu>.active>a, .navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover, .navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus {
- color: #fff;
- background-color: #272727;
-}
-.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a, .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover, .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus {
- color: #ccc;
- background-color: transparent;
-}
-}.navbar-default .navbar-link {
- color: #fff;
-}
-.navbar-default .navbar-link:hover {
- color: #fff;
-}
-.navbar-inverse {
- background-color: #008cba;
- border-color: #006687;
-}
-.navbar-inverse .navbar-brand {
- color: #fff;
-}
-.navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus {
- color: #fff;
- background-color: transparent;
-}
-.navbar-inverse .navbar-text {
- color: #fff;
-}
-.navbar-inverse .navbar-nav>li>a {
- color: #fff;
-}
-.navbar-inverse .navbar-nav>li>a:hover, .navbar-inverse .navbar-nav>li>a:focus {
- color: #fff;
- background-color: #006687;
-}
-.navbar-inverse .navbar-nav>.active>a, .navbar-inverse .navbar-nav>.active>a:hover, .navbar-inverse .navbar-nav>.active>a:focus {
- color: #fff;
- background-color: #006687;
-}
-.navbar-inverse .navbar-nav>.disabled>a, .navbar-inverse .navbar-nav>.disabled>a:hover, .navbar-inverse .navbar-nav>.disabled>a:focus {
- color: #444;
- background-color: transparent;
-}
-.navbar-inverse .navbar-toggle {
- border-color: transparent;
-}
-.navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus {
- background-color: transparent;
-}
-.navbar-inverse .navbar-toggle .icon-bar {
- background-color: #fff;
-}
-.navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form {
- border-color: #007196;
-}
-.navbar-inverse .navbar-nav>.open>a, .navbar-inverse .navbar-nav>.open>a:hover, .navbar-inverse .navbar-nav>.open>a:focus {
- color: #fff;
- background-color: #006687;
-}
-@media(max-width:767px) {
- .navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header {
- border-color: #006687;
-}
-.navbar-inverse .navbar-nav .open .dropdown-menu .divider {
- background-color: #006687;
-}
-.navbar-inverse .navbar-nav .open .dropdown-menu>li>a {
- color: #fff;
-}
-.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus {
- color: #fff;
- background-color: #006687;
-}
-.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a, .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus {
- color: #fff;
- background-color: #006687;
-}
-.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a, .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus {
- color: #444;
- background-color: transparent;
-}
-}.navbar-inverse .navbar-link {
- color: #fff;
-}
-.navbar-inverse .navbar-link:hover {
- color: #fff;
-}
-.breadcrumb {
- padding: 8px 15px;
- margin-bottom: 21px;
- list-style: none;
- background-color: #f5f5f5;
- border-radius: 0;
-}
-.breadcrumb>li {
- display: inline-block;
-}
-.breadcrumb>li+li:before {
- padding: 0 5px;
- color: #999;
- content: "/\00a0"}
-.breadcrumb>.active {
- color: #333;
-}
-.pagination {
- display: inline-block;
- padding-left: 0;
- margin: 21px 0;
- border-radius: 0;
-}
-.pagination>li {
- display: inline;
-}
-.pagination>li>a, .pagination>li>span {
- position: relative;
- float: left;
- padding: 6px 12px;
- margin-left: -1px;
- line-height: 1.428571429;
- text-decoration: none;
- background-color: transparent;
- border: 1px solid transparent;
-}
-.pagination>li:first-child>a, .pagination>li:first-child>span {
- margin-left: 0;
- border-bottom-left-radius: 0;
- border-top-left-radius: 0;
-}
-.pagination>li:last-child>a, .pagination>li:last-child>span {
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
-}
-.pagination>li>a:hover, .pagination>li>span:hover, .pagination>li>a:focus, .pagination>li>span:focus {
- background-color: #eee;
-}
-.pagination>.active>a, .pagination>.active>span, .pagination>.active>a:hover, .pagination>.active>span:hover, .pagination>.active>a:focus, .pagination>.active>span:focus {
- z-index: 2;
- color: #fff;
- cursor: default;
- background-color: #008cba;
- border-color: #008cba;
-}
-.pagination>.disabled>span, .pagination>.disabled>span:hover, .pagination>.disabled>span:focus, .pagination>.disabled>a, .pagination>.disabled>a:hover, .pagination>.disabled>a:focus {
- color: #999;
- cursor: not-allowed;
- background-color: transparent;
- border-color: transparent;
-}
-.pagination-lg>li>a, .pagination-lg>li>span {
- padding: 10px 16px;
- font-size: 19px;
-}
-.pagination-lg>li:first-child>a, .pagination-lg>li:first-child>span {
- border-bottom-left-radius: 0;
- border-top-left-radius: 0;
-}
-.pagination-lg>li:last-child>a, .pagination-lg>li:last-child>span {
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
-}
-.pagination-sm>li>a, .pagination-sm>li>span {
- padding: 5px 10px;
- font-size: 12px;
-}
-.pagination-sm>li:first-child>a, .pagination-sm>li:first-child>span {
- border-bottom-left-radius: 0;
- border-top-left-radius: 0;
-}
-.pagination-sm>li:last-child>a, .pagination-sm>li:last-child>span {
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
-}
-.pager {
- padding-left: 0;
- margin: 21px 0;
- text-align: center;
- list-style: none;
-}
-.pager:before, .pager:after {
- display: table;
- content: " "}
-.pager:after {
- clear: both;
-}
-.pager:before, .pager:after {
- display: table;
- content: " "}
-.pager:after {
- clear: both;
-}
-.pager:before, .pager:after {
- display: table;
- content: " "}
-.pager:after {
- clear: both;
-}
-.pager:before, .pager:after {
- display: table;
- content: " "}
-.pager:after {
- clear: both;
-}
-.pager:before, .pager:after {
- display: table;
- content: " "}
-.pager:after {
- clear: both;
-}
-.pager li {
- display: inline;
-}
-.pager li>a, .pager li>span {
- display: inline-block;
- padding: 5px 14px;
- background-color: transparent;
- border: 1px solid transparent;
- border-radius: 3px;
-}
-.pager li>a:hover, .pager li>a:focus {
- text-decoration: none;
- background-color: #eee;
-}
-.pager .next>a, .pager .next>span {
- float: right;
-}
-.pager .previous>a, .pager .previous>span {
- float: left;
-}
-.pager .disabled>a, .pager .disabled>a:hover, .pager .disabled>a:focus, .pager .disabled>span {
- color: #999;
- cursor: not-allowed;
- background-color: transparent;
-}
-.label {
- display: inline;
- padding: .2em .6em .3em;
- font-size: 75%;
- font-weight: bold;
- line-height: 1;
- color: #fff;
- text-align: center;
- white-space: nowrap;
- vertical-align: baseline;
- border-radius: .25em;
-}
-.label[href]:hover, .label[href]:focus {
- color: #fff;
- text-decoration: none;
- cursor: pointer;
-}
-.label:empty {
- display: none;
-}
-.btn .label {
- position: relative;
- top: -1px;
-}
-.label-default {
- background-color: #999;
-}
-.label-default[href]:hover, .label-default[href]:focus {
- background-color: #808080;
-}
-.label-primary {
- background-color: #008cba;
-}
-.label-primary[href]:hover, .label-primary[href]:focus {
- background-color: #006687;
-}
-.label-success {
- background-color: #43ac6a;
-}
-.label-success[href]:hover, .label-success[href]:focus {
- background-color: #358753;
-}
-.label-info {
- background-color: #5bc0de;
-}
-.label-info[href]:hover, .label-info[href]:focus {
- background-color: #31b0d5;
-}
-.label-warning {
- background-color: #e99002;
-}
-.label-warning[href]:hover, .label-warning[href]:focus {
- background-color: #b67102;
-}
-.label-danger {
- background-color: #f04124;
-}
-.label-danger[href]:hover, .label-danger[href]:focus {
- background-color: #d32a0e;
-}
-.badge {
- display: inline-block;
- min-width: 10px;
- padding: 3px 7px;
- font-size: 12px;
- font-weight: bold;
- line-height: 1;
- color: #777;
- text-align: center;
- white-space: nowrap;
- vertical-align: baseline;
- background-color: #e7e7e7;
- border-radius: 10px;
-}
-.badge:empty {
- display: none;
-}
-.btn .badge {
- position: relative;
- top: -1px;
-}
-a.badge:hover, a.badge:focus {
- color: #fff;
- text-decoration: none;
- cursor: pointer;
-}
-a.list-group-item.active>.badge, .nav-pills>.active>a>.badge {
- color: #008cba;
- background-color: #fff;
-}
-.nav-pills>li>a>.badge {
- margin-left: 3px;
-}
-.jumbotron {
- padding: 30px;
- margin-bottom: 30px;
- font-size: 23px;
- font-weight: 200;
- line-height: 2.1428571435;
- color: inherit;
- background-color: #fafafa;
-}
-.jumbotron h1, .jumbotron .h1 {
- line-height: 1;
- color: inherit;
-}
-.jumbotron p {
- line-height: 1.4;
-}
-.container .jumbotron {
- border-radius: 0;
-}
-.jumbotron .container {
- max-width: 100%}
-@media screen and (min-width:768px) {
- .jumbotron {
- padding-top: 48px;
- padding-bottom: 48px;
-}
-.container .jumbotron {
- padding-right: 60px;
- padding-left: 60px;
-}
-.jumbotron h1, .jumbotron .h1 {
- font-size: 67.5px;
-}
-}.thumbnail {
- display: block;
- padding: 4px;
- margin-bottom: 21px;
- line-height: 1.428571429;
- background-color: #fff;
- border: 1px solid #ddd;
- border-radius: 0;
- -webkit-transition: all .2s ease-in-out;
- transition: all .2s ease-in-out;
-}
-.thumbnail>img, .thumbnail a>img {
- display: block;
- height: auto;
- max-width: 100%;
- margin-right: auto;
- margin-left: auto;
-}
-a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active {
- border-color: #008cba;
-}
-.thumbnail .caption {
- padding: 9px;
- color: #222;
-}
-.alert {
- position: relative;
- padding: 0.75rem 1.25rem;
- margin-bottom: 1rem;
- border: 1px solid transparent;
- border-radius: 0.25rem;
- }
-
- .alert-heading {
- color: inherit;
- }
-
- .alert-link {
- font-weight: 700;
- }
-
- .alert-dismissible {
- padding-right: 4rem;
- }
-
- .alert-dismissible .close {
- position: absolute;
- top: 0;
- right: 0;
- padding: 0.75rem 1.25rem;
- color: inherit;
- }
-
- .alert-primary {
- color: #004085;
- background-color: #cce5ff;
- border-color: #b8daff;
- }
-
- .alert-primary hr {
- border-top-color: #9fcdff;
- }
-
- .alert-primary .alert-link {
- color: #002752;
- }
-
- .alert-secondary {
- color: #383d41;
- background-color: #e2e3e5;
- border-color: #d6d8db;
- }
-
- .alert-secondary hr {
- border-top-color: #c8cbcf;
- }
-
- .alert-secondary .alert-link {
- color: #202326;
- }
-
- .alert-success {
- color: #155724;
- background-color: #d4edda;
- border-color: #c3e6cb;
- }
-
- .alert-success hr {
- border-top-color: #b1dfbb;
- }
-
- .alert-success .alert-link {
- color: #0b2e13;
- }
-
- .alert-info {
- color: #0c5460;
- background-color: #d1ecf1;
- border-color: #bee5eb;
- }
-
- .alert-info hr {
- border-top-color: #abdde5;
- }
-
- .alert-info .alert-link {
- color: #062c33;
- }
-
- .alert-warning {
- color: #856404;
- background-color: #fff3cd;
- border-color: #ffeeba;
- }
-
- .alert-warning hr {
- border-top-color: #ffe8a1;
- }
-
- .alert-warning .alert-link {
- color: #533f03;
- }
-
- .alert-danger {
- color: #721c24;
- background-color: #f8d7da;
- border-color: #f5c6cb;
- }
-
- .alert-danger hr {
- border-top-color: #f1b0b7;
- }
-
- .alert-danger .alert-link {
- color: #491217;
- }
-
- .alert-light {
- color: #818182;
- background-color: #fefefe;
- border-color: #fdfdfe;
- }
-
- .alert-light hr {
- border-top-color: #ececf6;
- }
-
- .alert-light .alert-link {
- color: #686868;
- }
-
- .alert-dark {
- color: #1b1e21;
- background-color: #d6d8d9;
- border-color: #c6c8ca;
- }
-
- .alert-dark hr {
- border-top-color: #b9bbbe;
- }
-
- .alert-dark .alert-link {
- color: #040505;
- }
-
-
-@-webkit-keyframes progress-bar-stripes {
- from {
- background-position: 40px 0;
-}
-to {
- background-position: 0 0;
-}
-}@keyframes progress-bar-stripes {
- from {
- background-position: 40px 0;
-}
-to {
- background-position: 0 0;
-}
-}.progress {
- height: 21px;
- margin-bottom: 21px;
- overflow: hidden;
- background-color: #f5f5f5;
- border-radius: 0;
- -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
- box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
-}
-.progress-bar {
- float: left;
- width: 0;
- height: 100%;
- font-size: 12px;
- line-height: 21px;
- color: #fff;
- text-align: center;
- background-color: #008cba;
- -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
- box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
- -webkit-transition: width .6s ease;
- transition: width .6s ease;
-}
-.progress-striped .progress-bar {
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-size: 40px 40px;
-}
-.progress.active .progress-bar {
- -webkit-animation: progress-bar-stripes 2s linear infinite;
- animation: progress-bar-stripes 2s linear infinite;
-}
-.progress-bar-success {
- background-color: #43ac6a;
-}
-.progress-striped .progress-bar-success {
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-}
-.progress-bar-info {
- background-color: #5bc0de;
-}
-.progress-striped .progress-bar-info {
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-}
-.progress-bar-warning {
- background-color: #e99002;
-}
-.progress-striped .progress-bar-warning {
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-}
-.progress-bar-danger {
- background-color: #f04124;
-}
-.progress-striped .progress-bar-danger {
- background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-}
-.media, .media-body {
- overflow: hidden;
- zoom: 1;
-}
-.media, .media .media {
- margin-top: 15px;
-}
-.media:first-child {
- margin-top: 0;
-}
-.media-object {
- display: block;
-}
-.media-heading {
- margin: 0 0 5px;
-}
-.media>.pull-left {
- margin-right: 10px;
-}
-.media>.pull-right {
- margin-left: 10px;
-}
-.media-list {
- padding-left: 0;
- list-style: none;
-}
-.list-group {
- padding-left: 0;
- margin-bottom: 20px;
-}
-.list-group-item {
- position: relative;
- display: block;
- padding: 10px 15px;
- margin-bottom: -1px;
- background-color: #fff;
- border: 1px solid #ddd;
-}
-.list-group-item:first-child {
- border-top-right-radius: 0;
- border-top-left-radius: 0;
-}
-.list-group-item:last-child {
- margin-bottom: 0;
- border-bottom-right-radius: 0;
- border-bottom-left-radius: 0;
-}
-.list-group-item>.badge {
- float: right;
-}
-.list-group-item>.badge+.badge {
- margin-right: 5px;
-}
-a.list-group-item {
- color: #555;
-}
-a.list-group-item .list-group-item-heading {
- color: #333;
-}
-a.list-group-item:hover, a.list-group-item:focus {
- text-decoration: none;
- background-color: #f5f5f5;
-}
-a.list-group-item.active, a.list-group-item.active:hover, a.list-group-item.active:focus {
- z-index: 2;
- color: #fff;
- background-color: #008cba;
- border-color: #008cba;
-}
-a.list-group-item.active .list-group-item-heading, a.list-group-item.active:hover .list-group-item-heading, a.list-group-item.active:focus .list-group-item-heading {
- color: inherit;
-}
-a.list-group-item.active .list-group-item-text, a.list-group-item.active:hover .list-group-item-text, a.list-group-item.active:focus .list-group-item-text {
- color: #87e1ff;
-}
-.list-group-item-heading {
- margin-top: 0;
- margin-bottom: 5px;
-}
-.list-group-item-text {
- margin-bottom: 0;
- line-height: 1.3;
-}
-.panel {
- margin-bottom: 21px;
- background-color: #fff;
- border: 1px solid transparent;
- border-radius: 0;
- -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
-}
-.panel-body {
- padding: 15px;
-}
-.panel-body:before, .panel-body:after {
- display: table;
- content: " "}
-.panel-body:after {
- clear: both;
-}
-.panel-body:before, .panel-body:after {
- display: table;
- content: " "}
-.panel-body:after {
- clear: both;
-}
-.panel-body:before, .panel-body:after {
- display: table;
- content: " "}
-.panel-body:after {
- clear: both;
-}
-.panel-body:before, .panel-body:after {
- display: table;
- content: " "}
-.panel-body:after {
- clear: both;
-}
-.panel-body:before, .panel-body:after {
- display: table;
- content: " "}
-.panel-body:after {
- clear: both;
-}
-.panel>.list-group {
- margin-bottom: 0;
-}
-.panel>.list-group .list-group-item {
- border-width: 1px 0;
-}
-.panel>.list-group .list-group-item:first-child {
- border-top-right-radius: 0;
- border-top-left-radius: 0;
-}
-.panel>.list-group .list-group-item:last-child {
- border-bottom: 0;
-}
-.panel-heading+.list-group .list-group-item:first-child {
- border-top-width: 0;
-}
-.panel>.table, .panel>.table-responsive>.table {
- margin-bottom: 0;
-}
-.panel>.panel-body+.table, .panel>.panel-body+.table-responsive {
- border-top: 1px solid #ddd;
-}
-.panel>.table>tbody:first-child th, .panel>.table>tbody:first-child td {
- border-top: 0;
-}
-.panel>.table-bordered, .panel>.table-responsive>.table-bordered {
- border: 0;
-}
-.panel>.table-bordered>thead>tr>th:first-child, .panel>.table-responsive>.table-bordered>thead>tr>th:first-child, .panel>.table-bordered>tbody>tr>th:first-child, .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child, .panel>.table-bordered>tfoot>tr>th:first-child, .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child, .panel>.table-bordered>thead>tr>td:first-child, .panel>.table-responsive>.table-bordered>thead>tr>td:first-child, .panel>.table-bordered>tbody>tr>td:first-child, .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child, .panel>.table-bordered>tfoot>tr>td:first-child, .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child {
- border-left: 0;
-}
-.panel>.table-bordered>thead>tr>th:last-child, .panel>.table-responsive>.table-bordered>thead>tr>th:last-child, .panel>.table-bordered>tbody>tr>th:last-child, .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child, .panel>.table-bordered>tfoot>tr>th:last-child, .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child, .panel>.table-bordered>thead>tr>td:last-child, .panel>.table-responsive>.table-bordered>thead>tr>td:last-child, .panel>.table-bordered>tbody>tr>td:last-child, .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child, .panel>.table-bordered>tfoot>tr>td:last-child, .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child {
- border-right: 0;
-}
-.panel>.table-bordered>thead>tr:last-child>th, .panel>.table-responsive>.table-bordered>thead>tr:last-child>th, .panel>.table-bordered>tbody>tr:last-child>th, .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th, .panel>.table-bordered>tfoot>tr:last-child>th, .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th, .panel>.table-bordered>thead>tr:last-child>td, .panel>.table-responsive>.table-bordered>thead>tr:last-child>td, .panel>.table-bordered>tbody>tr:last-child>td, .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td, .panel>.table-bordered>tfoot>tr:last-child>td, .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td {
- border-bottom: 0;
-}
-.panel>.table-responsive {
- margin-bottom: 0;
- border: 0;
-}
-.panel-heading {
- padding: 10px 15px;
- border-bottom: 1px solid transparent;
- border-top-right-radius: -1;
- border-top-left-radius: -1;
-}
-.panel-heading>.dropdown .dropdown-toggle {
- color: inherit;
-}
-.panel-title {
- margin-top: 0;
- margin-bottom: 0;
- font-size: 17px;
- color: inherit;
-}
-.panel-title>a {
- color: inherit;
-}
-.panel-footer {
- padding: 10px 15px;
- background-color: #f5f5f5;
- border-top: 1px solid #ddd;
- border-bottom-right-radius: -1;
- border-bottom-left-radius: -1;
-}
-.panel-group .panel {
- margin-bottom: 0;
- overflow: hidden;
- border-radius: 0;
-}
-.panel-group .panel+.panel {
- margin-top: 5px;
-}
-.panel-group .panel-heading {
- border-bottom: 0;
-}
-.panel-group .panel-heading+.panel-collapse .panel-body {
- border-top: 1px solid #ddd;
-}
-.panel-group .panel-footer {
- border-top: 0;
-}
-.panel-group .panel-footer+.panel-collapse .panel-body {
- border-bottom: 1px solid #ddd;
-}
-.panel-default {
- border-color: #ddd;
-}
-.panel-default>.panel-heading {
- color: #333;
- background-color: #f5f5f5;
- border-color: #ddd;
-}
-.panel-default>.panel-heading+.panel-collapse .panel-body {
- border-top-color: #ddd;
-}
-.panel-default>.panel-footer+.panel-collapse .panel-body {
- border-bottom-color: #ddd;
-}
-.panel-primary {
- border-color: #008cba;
-}
-.panel-primary>.panel-heading {
- color: #fff;
- background-color: #008cba;
- border-color: #008cba;
-}
-.panel-primary>.panel-heading+.panel-collapse .panel-body {
- border-top-color: #008cba;
-}
-.panel-primary>.panel-footer+.panel-collapse .panel-body {
- border-bottom-color: #008cba;
-}
-.panel-success {
- border-color: #3c9a5f;
-}
-.panel-success>.panel-heading {
- color: #43ac6a;
- background-color: #dff0d8;
- border-color: #3c9a5f;
-}
-.panel-success>.panel-heading+.panel-collapse .panel-body {
- border-top-color: #3c9a5f;
-}
-.panel-success>.panel-footer+.panel-collapse .panel-body {
- border-bottom-color: #3c9a5f;
-}
-.panel-warning {
- border-color: #d08002;
-}
-.panel-warning>.panel-heading {
- color: #e99002;
- background-color: #fcf8e3;
- border-color: #d08002;
-}
-.panel-warning>.panel-heading+.panel-collapse .panel-body {
- border-top-color: #d08002;
-}
-.panel-warning>.panel-footer+.panel-collapse .panel-body {
- border-bottom-color: #d08002;
-}
-.panel-danger {
- border-color: #ea2f10;
-}
-.panel-danger>.panel-heading {
- color: #f04124;
- background-color: #f2dede;
- border-color: #ea2f10;
-}
-.panel-danger>.panel-heading+.panel-collapse .panel-body {
- border-top-color: #ea2f10;
-}
-.panel-danger>.panel-footer+.panel-collapse .panel-body {
- border-bottom-color: #ea2f10;
-}
-.panel-info {
- border-color: #3db5d8;
-}
-.panel-info>.panel-heading {
- color: #5bc0de;
- background-color: #d9edf7;
- border-color: #3db5d8;
-}
-.panel-info>.panel-heading+.panel-collapse .panel-body {
- border-top-color: #3db5d8;
-}
-.panel-info>.panel-footer+.panel-collapse .panel-body {
- border-bottom-color: #3db5d8;
-}
-.well {
- min-height: 20px;
- padding: 19px;
- margin-bottom: 20px;
- background-color: #fafafa;
- border: 1px solid #e8e8e8;
- border-radius: 0;
- -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
-}
-.well blockquote {
- border-color: #ddd;
- border-color: rgba(0, 0, 0, 0.15);
-}
-.well-lg {
- padding: 24px;
- border-radius: 0;
-}
-.well-sm {
- padding: 9px;
- border-radius: 0;
-}
-.close {
- float: right;
- font-size: 22.5px;
- font-weight: bold;
- line-height: 1;
- color: #000;
- text-shadow: 0 1px 0 #fff;
- opacity: .2;
- filter: alpha(opacity=20);
-}
-.close:hover, .close:focus {
- color: #000;
- text-decoration: none;
- cursor: pointer;
- opacity: .5;
- filter: alpha(opacity=50);
-}
-button.close {
- padding: 0;
- cursor: pointer;
- background: transparent;
- border: 0;
- -webkit-appearance: none;
-}
-.modal-open {
- overflow: hidden;
-}
-.modal {
- position: fixed;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- z-index: 1040;
- display: none;
- overflow: auto;
- overflow-y: scroll;
-}
-.modal.fade .modal-dialog {
- -webkit-transform: translate(0, -25%);
- -ms-transform: translate(0, -25%);
- transform: translate(0, -25%);
- -webkit-transition: -webkit-transform .3s ease-out;
- -moz-transition: -moz-transform .3s ease-out;
- -o-transition: -o-transform .3s ease-out;
- transition: transform .3s ease-out;
-}
-.modal.in .modal-dialog {
- -webkit-transform: translate(0, 0);
- -ms-transform: translate(0, 0);
- transform: translate(0, 0);
-}
-.modal-dialog {
- position: relative;
- z-index: 1050;
- width: auto;
- margin: 10px;
-}
-.modal-content {
- position: relative;
- background-color: #fff;
- border: 1px solid #999;
- border: 1px solid rgba(0, 0, 0, 0.2);
- border-radius: 0;
- outline: 0;
- -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
- box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
- background-clip: padding-box;
-}
-.modal-backdrop {
- position: fixed;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- z-index: 1030;
- background-color: #000;
-}
-.modal-backdrop.fade {
- opacity: 0;
- filter: alpha(opacity=0);
-}
-.modal-backdrop.in {
- opacity: .5;
- filter: alpha(opacity=50);
-}
-.modal-header {
- min-height: 16.428571429px;
- padding: 15px;
- border-bottom: 1px solid #e5e5e5;
-}
-.modal-header .close {
- margin-top: -2px;
-}
-.modal-title {
- margin: 0;
- line-height: 1.428571429;
-}
-.modal-body {
- position: relative;
- padding: 20px;
-}
-.modal-footer {
- padding: 19px 20px 20px;
- margin-top: 15px;
- text-align: right;
- border-top: 1px solid #e5e5e5;
-}
-.modal-footer:before, .modal-footer:after {
- display: table;
- content: " "}
-.modal-footer:after {
- clear: both;
-}
-.modal-footer:before, .modal-footer:after {
- display: table;
- content: " "}
-.modal-footer:after {
- clear: both;
-}
-.modal-footer:before, .modal-footer:after {
- display: table;
- content: " "}
-.modal-footer:after {
- clear: both;
-}
-.modal-footer:before, .modal-footer:after {
- display: table;
- content: " "}
-.modal-footer:after {
- clear: both;
-}
-.modal-footer:before, .modal-footer:after {
- display: table;
- content: " "}
-.modal-footer:after {
- clear: both;
-}
-.modal-footer .btn+.btn {
- margin-bottom: 0;
- margin-left: 5px;
-}
-.modal-footer .btn-group .btn+.btn {
- margin-left: -1px;
-}
-.modal-footer .btn-block+.btn-block {
- margin-left: 0;
-}
-@media screen and (min-width:768px) {
- .modal-dialog {
- width: 600px;
- margin: 30px auto;
-}
-.modal-content {
- -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
- box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
-}
-}.tooltip {
- position: absolute;
- z-index: 1030;
- display: block;
- font-size: 12px;
- line-height: 1.4;
- opacity: 0;
- filter: alpha(opacity=0);
- visibility: visible;
-}
-.tooltip.in {
- opacity: .9;
- filter: alpha(opacity=90);
-}
-.tooltip.top {
- padding: 5px 0;
- margin-top: -3px;
-}
-.tooltip.right {
- padding: 0 5px;
- margin-left: 3px;
-}
-.tooltip.bottom {
- padding: 5px 0;
- margin-top: 3px;
-}
-.tooltip.left {
- padding: 0 5px;
- margin-left: -3px;
-}
-.tooltip-inner {
- max-width: 200px;
- padding: 3px 8px;
- color: #fff;
- text-align: center;
- text-decoration: none;
- background-color: #333;
- border-radius: 0;
-}
-.tooltip-arrow {
- position: absolute;
- width: 0;
- height: 0;
- border-color: transparent;
- border-style: solid;
-}
-.tooltip.top .tooltip-arrow {
- bottom: 0;
- left: 50%;
- margin-left: -5px;
- border-top-color: #333;
- border-width: 5px 5px 0;
-}
-.tooltip.top-left .tooltip-arrow {
- bottom: 0;
- left: 5px;
- border-top-color: #333;
- border-width: 5px 5px 0;
-}
-.tooltip.top-right .tooltip-arrow {
- right: 5px;
- bottom: 0;
- border-top-color: #333;
- border-width: 5px 5px 0;
-}
-.tooltip.right .tooltip-arrow {
- top: 50%;
- left: 0;
- margin-top: -5px;
- border-right-color: #333;
- border-width: 5px 5px 5px 0;
-}
-.tooltip.left .tooltip-arrow {
- top: 50%;
- right: 0;
- margin-top: -5px;
- border-left-color: #333;
- border-width: 5px 0 5px 5px;
-}
-.tooltip.bottom .tooltip-arrow {
- top: 0;
- left: 50%;
- margin-left: -5px;
- border-bottom-color: #333;
- border-width: 0 5px 5px;
-}
-.tooltip.bottom-left .tooltip-arrow {
- top: 0;
- left: 5px;
- border-bottom-color: #333;
- border-width: 0 5px 5px;
-}
-.tooltip.bottom-right .tooltip-arrow {
- top: 0;
- right: 5px;
- border-bottom-color: #333;
- border-width: 0 5px 5px;
-}
-.popover {
- position: absolute;
- top: 0;
- left: 0;
- z-index: 1010;
- display: none;
- max-width: 276px;
- padding: 1px;
- text-align: left;
- white-space: normal;
- background-color: #333;
- border: 1px solid #333;
- border: 1px solid transparent;
- border-radius: 0;
- -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
- box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
- background-clip: padding-box;
-}
-.popover.top {
- margin-top: -10px;
-}
-.popover.right {
- margin-left: 10px;
-}
-.popover.bottom {
- margin-top: 10px;
-}
-.popover.left {
- margin-left: -10px;
-}
-.popover-title {
- padding: 8px 14px;
- margin: 0;
- font-size: 15px;
- font-weight: normal;
- line-height: 18px;
- background-color: #333;
- border-bottom: 1px solid #262626;
- border-radius: 5px 5px 0 0;
-}
-.popover-content {
- padding: 9px 14px;
-}
-.popover .arrow, .popover .arrow:after {
- position: absolute;
- display: block;
- width: 0;
- height: 0;
- border-color: transparent;
- border-style: solid;
-}
-.popover .arrow {
- border-width: 11px;
-}
-.popover .arrow:after {
- border-width: 10px;
- content: ""}
-.popover.top .arrow {
- bottom: -11px;
- left: 50%;
- margin-left: -11px;
- border-top-color: #999;
- border-top-color: rgba(0, 0, 0, 0.25);
- border-bottom-width: 0;
-}
-.popover.top .arrow:after {
- bottom: 1px;
- margin-left: -10px;
- border-top-color: #333;
- border-bottom-width: 0;
- content: " "}
-.popover.right .arrow {
- top: 50%;
- left: -11px;
- margin-top: -11px;
- border-right-color: #999;
- border-right-color: rgba(0, 0, 0, 0.25);
- border-left-width: 0;
-}
-.popover.right .arrow:after {
- bottom: -10px;
- left: 1px;
- border-right-color: #333;
- border-left-width: 0;
- content: " "}
-.popover.bottom .arrow {
- top: -11px;
- left: 50%;
- margin-left: -11px;
- border-bottom-color: #999;
- border-bottom-color: rgba(0, 0, 0, 0.25);
- border-top-width: 0;
-}
-.popover.bottom .arrow:after {
- top: 1px;
- margin-left: -10px;
- border-bottom-color: #333;
- border-top-width: 0;
- content: " "}
-.popover.left .arrow {
- top: 50%;
- right: -11px;
- margin-top: -11px;
- border-left-color: #999;
- border-left-color: rgba(0, 0, 0, 0.25);
- border-right-width: 0;
-}
-.popover.left .arrow:after {
- right: 1px;
- bottom: -10px;
- border-left-color: #333;
- border-right-width: 0;
- content: " "}
-.carousel {
- position: relative;
-}
-.carousel-inner {
- position: relative;
- width: 100%;
- overflow: hidden;
-}
-.carousel-inner>.item {
- position: relative;
- display: none;
- -webkit-transition: .6s ease-in-out left;
- transition: .6s ease-in-out left;
-}
-.carousel-inner>.item>img, .carousel-inner>.item>a>img {
- display: block;
- height: auto;
- max-width: 100%;
- line-height: 1;
-}
-.carousel-inner>.active, .carousel-inner>.next, .carousel-inner>.prev {
- display: block;
-}
-.carousel-inner>.active {
- left: 0;
-}
-.carousel-inner>.next, .carousel-inner>.prev {
- position: absolute;
- top: 0;
- width: 100%}
-.carousel-inner>.next {
- left: 100%}
-.carousel-inner>.prev {
- left: -100%}
-.carousel-inner>.next.left, .carousel-inner>.prev.right {
- left: 0;
-}
-.carousel-inner>.active.left {
- left: -100%}
-.carousel-inner>.active.right {
- left: 100%}
-.carousel-control {
- position: absolute;
- top: 0;
- bottom: 0;
- left: 0;
- width: 15%;
- font-size: 20px;
- color: #fff;
- text-align: center;
- text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
- opacity: .5;
- filter: alpha(opacity=50);
-}
-.carousel-control.left {
- background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.5) 0), color-stop(rgba(0, 0, 0, 0.0001) 100%));
- background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0.0001) 100%);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
-}
-.carousel-control.right {
- right: 0;
- left: auto;
- background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.0001) 0), color-stop(rgba(0, 0, 0, 0.5) 100%));
- background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0, rgba(0, 0, 0, 0.5) 100%);
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
-}
-.carousel-control:hover, .carousel-control:focus {
- color: #fff;
- text-decoration: none;
- outline: 0;
- opacity: .9;
- filter: alpha(opacity=90);
-}
-.carousel-control .icon-prev, .carousel-control .icon-next, .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right {
- position: absolute;
- top: 50%;
- z-index: 5;
- display: inline-block;
-}
-.carousel-control .icon-prev, .carousel-control .glyphicon-chevron-left {
- left: 50%}
-.carousel-control .icon-next, .carousel-control .glyphicon-chevron-right {
- right: 50%}
-.carousel-control .icon-prev, .carousel-control .icon-next {
- width: 20px;
- height: 20px;
- margin-top: -10px;
- margin-left: -10px;
- font-family: serif;
-}
-.carousel-control .icon-prev:before {
- content: '\2039'}
-.carousel-control .icon-next:before {
- content: '\203a'}
-.carousel-indicators {
- position: absolute;
- bottom: 10px;
- left: 50%;
- z-index: 15;
- width: 60%;
- padding-left: 0;
- margin-left: -30%;
- text-align: center;
- list-style: none;
-}
-.carousel-indicators li {
- display: inline-block;
- width: 10px;
- height: 10px;
- margin: 1px;
- text-indent: -999px;
- cursor: pointer;
- background-color: #000 \9;
- background-color: rgba(0, 0, 0, 0);
- border: 1px solid #fff;
- border-radius: 10px;
-}
-.carousel-indicators .active {
- width: 12px;
- height: 12px;
- margin: 0;
- background-color: #fff;
-}
-.carousel-caption {
- position: absolute;
- right: 15%;
- bottom: 20px;
- left: 15%;
- z-index: 10;
- padding-top: 20px;
- padding-bottom: 20px;
- color: #fff;
- text-align: center;
- text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
-}
-.carousel-caption .btn {
- text-shadow: none;
-}
-@media screen and (min-width:768px) {
- .carousel-control .glyphicons-chevron-left, .carousel-control .glyphicons-chevron-right, .carousel-control .icon-prev, .carousel-control .icon-next {
- width: 30px;
- height: 30px;
- margin-top: -15px;
- margin-left: -15px;
- font-size: 30px;
-}
-.carousel-caption {
- right: 20%;
- left: 20%;
- padding-bottom: 30px;
-}
-.carousel-indicators {
- bottom: 20px;
-}
-}.clearfix:before, .clearfix:after {
- display: table;
- content: " "}
-.clearfix:after {
- clear: both;
-}
-.clearfix:before, .clearfix:after {
- display: table;
- content: " "}
-.clearfix:after {
- clear: both;
-}
-.center-block {
- display: block;
- margin-right: auto;
- margin-left: auto;
-}
-.pull-right {
- float: right!important;
-}
-.pull-left {
- float: left!important;
-}
-.hide {
- display: none!important;
-}
-.show {
- display: block!important;
-}
-.invisible {
- visibility: hidden;
-}
-.text-hide {
- font: 0/0 a;
- color: transparent;
- text-shadow: none;
- background-color: transparent;
- border: 0;
-}
-.hidden {
- display: none!important;
- visibility: hidden!important;
-}
-.affix {
- position: fixed;
-}
-@-ms-viewport {
- width: device-width;
-}
-.visible-xs, tr.visible-xs, th.visible-xs, td.visible-xs {
- display: none!important;
-}
-@media(max-width:767px) {
- .visible-xs {
- display: block!important;
-}
-table.visible-xs {
- display: table;
-}
-tr.visible-xs {
- display: table-row!important;
-}
-th.visible-xs, td.visible-xs {
- display: table-cell!important;
-}
-}@media(min-width:768px) and (max-width:991px) {
- .visible-xs.visible-sm {
- display: block!important;
-}
-table.visible-xs.visible-sm {
- display: table;
-}
-tr.visible-xs.visible-sm {
- display: table-row!important;
-}
-th.visible-xs.visible-sm, td.visible-xs.visible-sm {
- display: table-cell!important;
-}
-}@media(min-width:992px) and (max-width:1199px) {
- .visible-xs.visible-md {
- display: block!important;
-}
-table.visible-xs.visible-md {
- display: table;
-}
-tr.visible-xs.visible-md {
- display: table-row!important;
-}
-th.visible-xs.visible-md, td.visible-xs.visible-md {
- display: table-cell!important;
-}
-}@media(min-width:1200px) {
- .visible-xs.visible-lg {
- display: block!important;
-}
-table.visible-xs.visible-lg {
- display: table;
-}
-tr.visible-xs.visible-lg {
- display: table-row!important;
-}
-th.visible-xs.visible-lg, td.visible-xs.visible-lg {
- display: table-cell!important;
-}
-}.visible-sm, tr.visible-sm, th.visible-sm, td.visible-sm {
- display: none!important;
-}
-@media(max-width:767px) {
- .visible-sm.visible-xs {
- display: block!important;
-}
-table.visible-sm.visible-xs {
- display: table;
-}
-tr.visible-sm.visible-xs {
- display: table-row!important;
-}
-th.visible-sm.visible-xs, td.visible-sm.visible-xs {
- display: table-cell!important;
-}
-}@media(min-width:768px) and (max-width:991px) {
- .visible-sm {
- display: block!important;
-}
-table.visible-sm {
- display: table;
-}
-tr.visible-sm {
- display: table-row!important;
-}
-th.visible-sm, td.visible-sm {
- display: table-cell!important;
-}
-}@media(min-width:992px) and (max-width:1199px) {
- .visible-sm.visible-md {
- display: block!important;
-}
-table.visible-sm.visible-md {
- display: table;
-}
-tr.visible-sm.visible-md {
- display: table-row!important;
-}
-th.visible-sm.visible-md, td.visible-sm.visible-md {
- display: table-cell!important;
-}
-}@media(min-width:1200px) {
- .visible-sm.visible-lg {
- display: block!important;
-}
-table.visible-sm.visible-lg {
- display: table;
-}
-tr.visible-sm.visible-lg {
- display: table-row!important;
-}
-th.visible-sm.visible-lg, td.visible-sm.visible-lg {
- display: table-cell!important;
-}
-}.visible-md, tr.visible-md, th.visible-md, td.visible-md {
- display: none!important;
-}
-@media(max-width:767px) {
- .visible-md.visible-xs {
- display: block!important;
-}
-table.visible-md.visible-xs {
- display: table;
-}
-tr.visible-md.visible-xs {
- display: table-row!important;
-}
-th.visible-md.visible-xs, td.visible-md.visible-xs {
- display: table-cell!important;
-}
-}@media(min-width:768px) and (max-width:991px) {
- .visible-md.visible-sm {
- display: block!important;
-}
-table.visible-md.visible-sm {
- display: table;
-}
-tr.visible-md.visible-sm {
- display: table-row!important;
-}
-th.visible-md.visible-sm, td.visible-md.visible-sm {
- display: table-cell!important;
-}
-}@media(min-width:992px) and (max-width:1199px) {
- .visible-md {
- display: block!important;
-}
-table.visible-md {
- display: table;
-}
-tr.visible-md {
- display: table-row!important;
-}
-th.visible-md, td.visible-md {
- display: table-cell!important;
-}
-}@media(min-width:1200px) {
- .visible-md.visible-lg {
- display: block!important;
-}
-table.visible-md.visible-lg {
- display: table;
-}
-tr.visible-md.visible-lg {
- display: table-row!important;
-}
-th.visible-md.visible-lg, td.visible-md.visible-lg {
- display: table-cell!important;
-}
-}.visible-lg, tr.visible-lg, th.visible-lg, td.visible-lg {
- display: none!important;
-}
-@media(max-width:767px) {
- .visible-lg.visible-xs {
- display: block!important;
-}
-table.visible-lg.visible-xs {
- display: table;
-}
-tr.visible-lg.visible-xs {
- display: table-row!important;
-}
-th.visible-lg.visible-xs, td.visible-lg.visible-xs {
- display: table-cell!important;
-}
-}@media(min-width:768px) and (max-width:991px) {
- .visible-lg.visible-sm {
- display: block!important;
-}
-table.visible-lg.visible-sm {
- display: table;
-}
-tr.visible-lg.visible-sm {
- display: table-row!important;
-}
-th.visible-lg.visible-sm, td.visible-lg.visible-sm {
- display: table-cell!important;
-}
-}@media(min-width:992px) and (max-width:1199px) {
- .visible-lg.visible-md {
- display: block!important;
-}
-table.visible-lg.visible-md {
- display: table;
-}
-tr.visible-lg.visible-md {
- display: table-row!important;
-}
-th.visible-lg.visible-md, td.visible-lg.visible-md {
- display: table-cell!important;
-}
-}@media(min-width:1200px) {
- .visible-lg {
- display: block!important;
-}
-table.visible-lg {
- display: table;
-}
-tr.visible-lg {
- display: table-row!important;
-}
-th.visible-lg, td.visible-lg {
- display: table-cell!important;
-}
-}.hidden-xs {
- display: block!important;
-}
-table.hidden-xs {
- display: table;
-}
-tr.hidden-xs {
- display: table-row!important;
-}
-th.hidden-xs, td.hidden-xs {
- display: table-cell!important;
-}
-@media(max-width:767px) {
- .hidden-xs, tr.hidden-xs, th.hidden-xs, td.hidden-xs {
- display: none!important;
-}
-}@media(min-width:768px) and (max-width:991px) {
- .hidden-xs.hidden-sm, tr.hidden-xs.hidden-sm, th.hidden-xs.hidden-sm, td.hidden-xs.hidden-sm {
- display: none!important;
-}
-}@media(min-width:992px) and (max-width:1199px) {
- .hidden-xs.hidden-md, tr.hidden-xs.hidden-md, th.hidden-xs.hidden-md, td.hidden-xs.hidden-md {
- display: none!important;
-}
-}@media(min-width:1200px) {
- .hidden-xs.hidden-lg, tr.hidden-xs.hidden-lg, th.hidden-xs.hidden-lg, td.hidden-xs.hidden-lg {
- display: none!important;
-}
-}.hidden-sm {
- display: block!important;
-}
-table.hidden-sm {
- display: table;
-}
-tr.hidden-sm {
- display: table-row!important;
-}
-th.hidden-sm, td.hidden-sm {
- display: table-cell!important;
-}
-@media(max-width:767px) {
- .hidden-sm.hidden-xs, tr.hidden-sm.hidden-xs, th.hidden-sm.hidden-xs, td.hidden-sm.hidden-xs {
- display: none!important;
-}
-}@media(min-width:768px) and (max-width:991px) {
- .hidden-sm, tr.hidden-sm, th.hidden-sm, td.hidden-sm {
- display: none!important;
-}
-}@media(min-width:992px) and (max-width:1199px) {
- .hidden-sm.hidden-md, tr.hidden-sm.hidden-md, th.hidden-sm.hidden-md, td.hidden-sm.hidden-md {
- display: none!important;
-}
-}@media(min-width:1200px) {
- .hidden-sm.hidden-lg, tr.hidden-sm.hidden-lg, th.hidden-sm.hidden-lg, td.hidden-sm.hidden-lg {
- display: none!important;
-}
-}.hidden-md {
- display: block!important;
-}
-table.hidden-md {
- display: table;
-}
-tr.hidden-md {
- display: table-row!important;
-}
-th.hidden-md, td.hidden-md {
- display: table-cell!important;
-}
-@media(max-width:767px) {
- .hidden-md.hidden-xs, tr.hidden-md.hidden-xs, th.hidden-md.hidden-xs, td.hidden-md.hidden-xs {
- display: none!important;
-}
-}@media(min-width:768px) and (max-width:991px) {
- .hidden-md.hidden-sm, tr.hidden-md.hidden-sm, th.hidden-md.hidden-sm, td.hidden-md.hidden-sm {
- display: none!important;
-}
-}@media(min-width:992px) and (max-width:1199px) {
- .hidden-md, tr.hidden-md, th.hidden-md, td.hidden-md {
- display: none!important;
-}
-}@media(min-width:1200px) {
- .hidden-md.hidden-lg, tr.hidden-md.hidden-lg, th.hidden-md.hidden-lg, td.hidden-md.hidden-lg {
- display: none!important;
-}
-}.hidden-lg {
- display: block!important;
-}
-table.hidden-lg {
- display: table;
-}
-tr.hidden-lg {
- display: table-row!important;
-}
-th.hidden-lg, td.hidden-lg {
- display: table-cell!important;
-}
-@media(max-width:767px) {
- .hidden-lg.hidden-xs, tr.hidden-lg.hidden-xs, th.hidden-lg.hidden-xs, td.hidden-lg.hidden-xs {
- display: none!important;
-}
-}@media(min-width:768px) and (max-width:991px) {
- .hidden-lg.hidden-sm, tr.hidden-lg.hidden-sm, th.hidden-lg.hidden-sm, td.hidden-lg.hidden-sm {
- display: none!important;
-}
-}@media(min-width:992px) and (max-width:1199px) {
- .hidden-lg.hidden-md, tr.hidden-lg.hidden-md, th.hidden-lg.hidden-md, td.hidden-lg.hidden-md {
- display: none!important;
-}
-}@media(min-width:1200px) {
- .hidden-lg, tr.hidden-lg, th.hidden-lg, td.hidden-lg {
- display: none!important;
-}
-}.visible-print, tr.visible-print, th.visible-print, td.visible-print {
- display: none!important;
-}
-@media print {
- .visible-print {
- display: block!important;
-}
-table.visible-print {
- display: table;
-}
-tr.visible-print {
- display: table-row!important;
-}
-th.visible-print, td.visible-print {
- display: table-cell!important;
-}
-.hidden-print, tr.hidden-print, th.hidden-print, td.hidden-print {
- display: none!important;
-}
-}.navbar {
- font-size: 13px;
- font-weight: 300;
- border: 0;
-}
-.navbar .navbar-toggle:hover .icon-bar {
- background-color: #b3b3b3;
-}
-.navbar-collapse {
- border-top-color: rgba(0, 0, 0, 0.2);
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-.navbar .dropdown-menu {
- border: 0;
-}
-.navbar .dropdown-menu>li>a, .navbar .dropdown-menu>li>a:focus {
- font-size: 13px;
- font-weight: 300;
- background-color: transparent;
-}
-.navbar .dropdown-header {
- color: rgba(255, 255, 255, 0.5);
-}
-.navbar-default .dropdown-menu {
- background-color: #333;
-}
-.navbar-default .dropdown-menu>li>a, .navbar-default .dropdown-menu>li>a:focus {
- color: #fff;
-}
-.navbar-default .dropdown-menu>li>a:hover, .navbar-default .dropdown-menu>.active>a, .navbar-default .dropdown-menu>.active>a:hover {
- background-color: #272727;
-}
-.navbar-inverse .dropdown-menu {
- background-color: #008cba;
-}
-.navbar-inverse .dropdown-menu>li>a, .navbar-inverse .dropdown-menu>li>a:focus {
- color: #fff;
-}
-.navbar-inverse .dropdown-menu>li>a:hover, .navbar-inverse .dropdown-menu>.active>a, .navbar-inverse .dropdown-menu>.active>a:hover {
- background-color: #006687;
-}
-.btn {
- padding: 14px 28px;
-}
-.btn-lg {
- padding: 16px 32px;
-}
-.btn-sm {
- padding: 8px 16px;
-}
-.btn-xs {
- padding: 4px 8px;
-}
-.btn-group .btn~.dropdown-toggle {
- padding-right: 16px;
- padding-left: 16px;
-}
-.btn-group .dropdown-menu {
- border-top-width: 0;
-}
-.btn-group.dropup .dropdown-menu {
- margin-bottom: 0;
- border-top-width: 1px;
- border-bottom-width: 0;
-}
-.btn-group .dropdown-toggle.btn-default~.dropdown-menu {
- background-color: #e7e7e7;
- border-color: #dadada;
-}
-.btn-group .dropdown-toggle.btn-default~.dropdown-menu>li>a {
- color: #333;
-}
-.btn-group .dropdown-toggle.btn-default~.dropdown-menu>li>a:hover {
- background-color: #d3d3d3;
-}
-.btn-group .dropdown-toggle.btn-primary~.dropdown-menu {
- background-color: #008cba;
- border-color: #0079a1;
-}
-.btn-group .dropdown-toggle.btn-primary~.dropdown-menu>li>a {
- color: #fff;
-}
-.btn-group .dropdown-toggle.btn-primary~.dropdown-menu>li>a:hover {
- background-color: #006d91;
-}
-.btn-group .dropdown-toggle.btn-success~.dropdown-menu {
- background-color: #43ac6a;
- border-color: #3c9a5f;
-}
-.btn-group .dropdown-toggle.btn-success~.dropdown-menu>li>a {
- color: #fff;
-}
-.btn-group .dropdown-toggle.btn-success~.dropdown-menu>li>a:hover {
- background-color: #388f58;
-}
-.btn-group .dropdown-toggle.btn-info~.dropdown-menu {
- background-color: #5bc0de;
- border-color: #46b8da;
-}
-.btn-group .dropdown-toggle.btn-info~.dropdown-menu>li>a {
- color: #fff;
-}
-.btn-group .dropdown-toggle.btn-info~.dropdown-menu>li>a:hover {
- background-color: #39b3d7;
-}
-.btn-group .dropdown-toggle.btn-warning~.dropdown-menu {
- background-color: #e99002;
- border-color: #d08002;
-}
-.btn-group .dropdown-toggle.btn-warning~.dropdown-menu>li>a {
- color: #fff;
-}
-.btn-group .dropdown-toggle.btn-warning~.dropdown-menu>li>a:hover {
- background-color: #c17702;
-}
-.btn-group .dropdown-toggle.btn-danger~.dropdown-menu {
- background-color: #f04124;
- border-color: #ea2f10;
-}
-.btn-group .dropdown-toggle.btn-danger~.dropdown-menu>li>a {
- color: #fff;
-}
-.btn-group .dropdown-toggle.btn-danger~.dropdown-menu>li>a:hover {
- background-color: #dc2c0f;
-}
-.lead {
- color: #6f6f6f;
-}
-cite {
- font-style: italic;
-}
-blockquote {
- color: #6f6f6f;
- border-left-width: 1px;
-}
-blockquote.pull-right {
- border-right-width: 1px;
-}
-blockquote small {
- font-size: 12px;
- font-weight: 300;
-}
-table {
- font-size: 12px;
-}
-input, .form-control {
- padding: 7px;
- font-size: 12px;
-}
-label, .control-label, .help-block, .checkbox, .radio {
- font-size: 12px;
- font-weight: normal;
-}
-.form-group .btn, .input-group-addon, .input-group-btn .btn {
- padding: 8px 14px;
- font-size: 12px;
-}
-.nav .open>a, .nav .open>a:hover, .nav .open>a:focus {
- border-color: transparent;
-}
-.nav-tabs>li>a {
- color: #222;
- background-color: #e7e7e7;
-}
-.nav-tabs .caret {
- border-top-color: #222;
- border-bottom-color: #222;
-}
-.nav-pills {
- font-weight: 300;
-}
-.breadcrumb {
- font-size: 10px;
- font-weight: 300;
- text-transform: uppercase;
- border: 1px solid #ddd;
- border-radius: 3px;
-}
-.pagination {
- font-size: 12px;
- font-weight: 300;
- color: #999;
-}
-.pagination>li>a, .pagination>li>span {
- margin-left: 4px;
- color: #999;
-}
-.pagination>.active>a, .pagination>.active>span {
- color: #fff;
-}
-.pagination>li>a, .pagination>li:first-child>a, .pagination>li:last-child>a, .pagination>li>span, .pagination>li:first-child>span, .pagination>li:last-child>span {
- border-radius: 3px;
-}
-.pagination-lg>li>a {
- padding-right: 22px;
- padding-left: 22px;
-}
-.pagination-sm>li>a {
- padding: 0 5px;
-}
-.pager {
- font-size: 12px;
- font-weight: 300;
- color: #999;
-}
-.list-group {
- font-size: 12px;
- font-weight: 300;
-}
-.label {
- padding-right: 1em;
- padding-left: 1em;
- font-weight: 300;
- border-radius: 0;
-}
-.label-default {
- color: #333;
- background-color: #e7e7e7;
-}
-.badge {
- font-weight: 300;
-}
-.progress {
- height: 22px;
- padding: 2px;
- background-color: #f6f6f6;
- border: 1px solid #ccc;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-.dropdown-menu {
- padding: 0;
- margin-top: 0;
- font-size: 12px;
-}
-.dropdown-menu>li>a {
- padding: 12px 15px;
-}
-.dropdown-header {
- padding-right: 15px;
- padding-left: 15px;
- font-size: 9px;
- text-transform: uppercase;
-}
-.popover {
- font-size: 12px;
- font-weight: 300;
- color: #fff;
-}
-.panel-heading, .panel-footer {
- border-top-right-radius: 0;
- border-top-left-radius: 0;
-}
-.clearfix:before, .clearfix:after {
- display: table;
- content: " "}
-.clearfix:after {
- clear: both;
-}
-.clearfix:before, .clearfix:after {
- display: table;
- content: " "}
-.clearfix:after {
- clear: both;
-}
-.center-block {
- display: block;
- margin-right: auto;
- margin-left: auto;
-}
-.pull-right {
- float: right!important;
-}
-.pull-left {
- float: left!important;
-}
-.hide {
- display: none!important;
-}
-.show {
- display: block!important;
-}
-.invisible {
- visibility: hidden;
-}
-.text-hide {
- font: 0/0 a;
- color: transparent;
- text-shadow: none;
- background-color: transparent;
- border: 0;
-}
-.hidden {
- display: none!important;
- visibility: hidden!important;
-}
-.affix {
- position: fixed;
-}
diff --git a/0.5/css/bootstrap-custom.min.css b/0.5/css/bootstrap-custom.min.css
deleted file mode 100644
index 25d43d4..0000000
--- a/0.5/css/bootstrap-custom.min.css
+++ /dev/null
@@ -1 +0,0 @@
-/*! normalize.css v2.1.3 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a{background:transparent}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{margin:.67em 0;font-size:2em}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}mark{color:#000;background:#ff0}code,kbd,pre,samp{font-family:Hack,monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}button,input,select,textarea{margin:0;font-family:inherit;font-size:100%}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{padding:0;box-sizing:border-box}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}@media print{*{color:#000 !important;text-shadow:none !important;background:transparent !important;box-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:2cm .5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff !important}.navbar{display:none}.table td,.table th{background-color:#fff !important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:Merriweather,Georgia,serif;font-size:14px;line-height:1.428571429;color:#222;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#008cba;text-decoration:none}a:hover,a:focus{color:#00526e;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}img{vertical-align:middle}.img-responsive{display:block;height:auto;max-width:100%}.img-rounded{border-radius:0}.img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:0;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:21px;margin-bottom:21px;border:0;border-top:1px solid #ddd}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{margin-top:21px;margin-bottom:10.5px}h1 small,h2 small,h3 small,h1 .small,h2 .small,h3 .small{font-size:65%}h4,h5,h6{margin-top:10.5px;margin-bottom:10.5px}h4 small,h5 small,h6 small,h4 .small,h5 .small,h6 .small{font-size:75%}h1,.h1{font-size:39px}h2,.h2{font-size:32px}h3,.h3{font-size:26px}h4,.h4{font-size:19px}h5,.h5{font-size:15px}h6,.h6{font-size:13px}p{margin:0 0 10.5px}.lead{margin-bottom:21px;font-size:17px;font-weight:200;line-height:1.4}@media(min-width:768px){.lead{font-size:22.5px}}small,.small{font-size:85%}cite{font-style:normal}.text-muted{color:#999}.text-primary{color:#008cba}.text-primary:hover{color:#006687}.text-warning{color:#e99002}.text-warning:hover{color:#b67102}.text-danger{color:#f04124}.text-danger:hover{color:#d32a0e}.text-success{color:#43ac6a}.text-success:hover{color:#358753}.text-info{color:#5bc0de}.text-info:hover{color:#31b0d5}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.page-header{padding-bottom:9.5px;margin:42px 0 21px;border-bottom:1px solid #ddd}ul,ol{margin-top:0;margin-bottom:10.5px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.list-inline>li:first-child{padding-left:0}dl{margin-top:0;margin-bottom:21px}dt,dd{line-height:1.428571429}dt{font-weight:bold}dd{margin-left:0}@media(min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizontal dd:after{clear:both}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizontal dd:after{clear:both}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizontal dd:after{clear:both}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizontal dd:after{clear:both}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizontal dd:after{clear:both}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10.5px 21px;margin:0 0 21px;border-left:5px solid #ddd}blockquote p{font-size:18.75px;font-weight:300;line-height:1.25}blockquote p:last-child{margin-bottom:0}blockquote small,blockquote .small{display:block;line-height:1.428571429;color:#6f6f6f}blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #ddd;border-left:0}blockquote.pull-right p,blockquote.pull-right small,blockquote.pull-right .small{text-align:right}blockquote.pull-right small:before,blockquote.pull-right .small:before{content:''}blockquote.pull-right small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:after{content:""}address{margin-bottom:21px;font-style:normal;line-height:1.428571429}code,kbd,pre,samp{font-family:Hack,Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:0}pre{display:block;padding:10px;margin:0 0 10.5px;font-size:14px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:0}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}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}@media(min-width:768px){.container{width:750px}}@media(min-width:992px){.container{width:970px}}@media(min-width:1200px){.container{width:1170px}}.row{margin-right:-15px;margin-left:-15px}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666666666666%}.col-xs-10{width:83.33333333333334%}.col-xs-9{width:75%}.col-xs-8{width:66.66666666666666%}.col-xs-7{width:58.333333333333336%}.col-xs-6{width:50%}.col-xs-5{width:41.66666666666667%}.col-xs-4{width:33.33333333333333%}.col-xs-3{width:25%}.col-xs-2{width:16.666666666666664%}.col-xs-1{width:8.333333333333332%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666666666666%}.col-xs-pull-10{right:83.33333333333334%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666666666666%}.col-xs-pull-7{right:58.333333333333336%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666666666667%}.col-xs-pull-4{right:33.33333333333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.666666666666664%}.col-xs-pull-1{right:8.333333333333332%}.col-xs-pull-0{right:0}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666666666666%}.col-xs-push-10{left:83.33333333333334%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666666666666%}.col-xs-push-7{left:58.333333333333336%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666666666667%}.col-xs-push-4{left:33.33333333333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.666666666666664%}.col-xs-push-1{left:8.333333333333332%}.col-xs-push-0{left:0}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666666666666%}.col-xs-offset-10{margin-left:83.33333333333334%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666666666666%}.col-xs-offset-7{margin-left:58.333333333333336%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666666666667%}.col-xs-offset-4{margin-left:33.33333333333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.666666666666664%}.col-xs-offset-1{margin-left:8.333333333333332%}.col-xs-offset-0{margin-left:0}@media(min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666666666666%}.col-sm-10{width:83.33333333333334%}.col-sm-9{width:75%}.col-sm-8{width:66.66666666666666%}.col-sm-7{width:58.333333333333336%}.col-sm-6{width:50%}.col-sm-5{width:41.66666666666667%}.col-sm-4{width:33.33333333333333%}.col-sm-3{width:25%}.col-sm-2{width:16.666666666666664%}.col-sm-1{width:8.333333333333332%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666666666666%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666666666667%}.col-sm-push-4{left:33.33333333333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666666666666%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-0{margin-left:0}}@media(min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666666666666%}.col-md-10{width:83.33333333333334%}.col-md-9{width:75%}.col-md-8{width:66.66666666666666%}.col-md-7{width:58.333333333333336%}.col-md-6{width:50%}.col-md-5{width:41.66666666666667%}.col-md-4{width:33.33333333333333%}.col-md-3{width:25%}.col-md-2{width:16.666666666666664%}.col-md-1{width:8.333333333333332%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666666666666%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666666666666%}.col-md-push-10{left:83.33333333333334%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666666666666%}.col-md-push-7{left:58.333333333333336%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666666666667%}.col-md-push-4{left:33.33333333333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.666666666666664%}.col-md-push-1{left:8.333333333333332%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666666666666%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-0{margin-left:0}}@media(min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666666666666%}.col-lg-10{width:83.33333333333334%}.col-lg-9{width:75%}.col-lg-8{width:66.66666666666666%}.col-lg-7{width:58.333333333333336%}.col-lg-6{width:50%}.col-lg-5{width:41.66666666666667%}.col-lg-4{width:33.33333333333333%}.col-lg-3{width:25%}.col-lg-2{width:16.666666666666664%}.col-lg-1{width:8.333333333333332%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666666666666%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.666666666666664%}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666666666666%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-0{margin-left:0}}table{max-width:100%;background-color:transparent}th{text-align:left}.table{width:100%;margin-bottom:21px}.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.428571429;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-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*="col-"]{position:static;display:table-column;float:none}table td[class*="col-"],table th[class*="col-"]{display:table-cell;float:none}.table>thead>tr>.active,.table>tbody>tr>.active,.table>tfoot>tr>.active,.table>thead>.active>td,.table>tbody>.active>td,.table>tfoot>.active>td,.table>thead>.active>th,.table>tbody>.active>th,.table>tfoot>.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>.active:hover,.table-hover>tbody>.active:hover>td,.table-hover>tbody>.active:hover>th{background-color:#e8e8e8}.table>thead>tr>.success,.table>tbody>tr>.success,.table>tfoot>tr>.success,.table>thead>.success>td,.table>tbody>.success>td,.table>tfoot>.success>td,.table>thead>.success>th,.table>tbody>.success>th,.table>tfoot>.success>th{background-color:#dff0d8}.table-hover>tbody>tr>.success:hover,.table-hover>tbody>.success:hover>td,.table-hover>tbody>.success:hover>th{background-color:#d0e9c6}.table>thead>tr>.danger,.table>tbody>tr>.danger,.table>tfoot>tr>.danger,.table>thead>.danger>td,.table>tbody>.danger>td,.table>tfoot>.danger>td,.table>thead>.danger>th,.table>tbody>.danger>th,.table>tfoot>.danger>th{background-color:#f2dede}.table-hover>tbody>tr>.danger:hover,.table-hover>tbody>.danger:hover>td,.table-hover>tbody>.danger:hover>th{background-color:#ebcccc}.table>thead>tr>.warning,.table>tbody>tr>.warning,.table>tfoot>tr>.warning,.table>thead>.warning>td,.table>tbody>.warning>td,.table>tfoot>.warning>td,.table>thead>.warning>th,.table>tbody>.warning>th,.table>tfoot>.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>.warning:hover,.table-hover>tbody>.warning:hover>td,.table-hover>tbody>.warning:hover>th{background-color:#faf2cc}@media(max-width:767px){.table-responsive{width:100%;margin-bottom:15.75px;overflow-x:scroll;overflow-y:hidden;border:1px solid #ddd;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.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}}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:21px;font-size:22.5px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}select[multiple],select[size]{height:auto}select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{height:auto}output{display:block;padding-top:7px;font-size:15px;line-height:1.428571429;color:#6f6f6f;vertical-align:middle}.form-control{display:block;width:100%;height:35px;padding:6px 12px;font-size:15px;line-height:1.428571429;color:#6f6f6f;vertical-align:middle;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control:-moz-placeholder{color:#999}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}textarea.form-control{height:auto}.form-group{margin-bottom:15px}.radio,.checkbox{display:block;min-height:21px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.radio label,.checkbox label{display:inline;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{float:left;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:normal;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],.radio[disabled],.radio-inline[disabled],.checkbox[disabled],.checkbox-inline[disabled],fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"],fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:0}select.input-sm{height:30px;line-height:30px}textarea.input-sm{height:auto}.input-lg{height:48px;padding:10px 16px;font-size:19px;line-height:1.33;border-radius:0}select.input-lg{height:48px;line-height:48px}textarea.input-lg{height:auto}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#e99002}.has-warning .form-control{border-color:#e99002;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#b67102;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #febc53;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #febc53}.has-warning .input-group-addon{color:#e99002;background-color:#fcf8e3;border-color:#e99002}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#f04124}.has-error .form-control{border-color:#f04124;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#d32a0e;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #f79483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #f79483}.has-error .input-group-addon{color:#f04124;background-color:#f2dede;border-color:#f04124}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#43ac6a}.has-success .form-control{border-color:#43ac6a;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#358753;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #85d0a1;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #85d0a1}.has-success .input-group-addon{color:#43ac6a;background-color:#dff0d8;border-color:#43ac6a}.form-control-static{margin-bottom:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#626262}@media(min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline select.form-control{width:auto}.form-inline .radio,.form-inline .checkbox{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:none;margin-left:0}}.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:28px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-control-static{padding-top:7px}@media(min-width:768px){.form-horizontal .control-label{text-align:right}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:15px;font-weight:normal;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;border-radius:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#e7e7e7;border-color:#dadada}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{color:#333;background-color:#d3d3d3;border-color:#bbb}.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#e7e7e7;border-color:#dadada}.btn-default .badge{color:#e7e7e7;background-color:#fff}.btn-primary{color:#fff;background-color:#008cba;border-color:#0079a1}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#006d91;border-color:#004b63}.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#008cba;border-color:#0079a1}.btn-primary .badge{color:#008cba;background-color:#fff}.btn-warning{color:#fff;background-color:#e99002;border-color:#d08002}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#c17702;border-color:#935b01}.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#e99002;border-color:#d08002}.btn-warning .badge{color:#e99002;background-color:#fff}.btn-danger{color:#fff;background-color:#f04124;border-color:#ea2f10}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#dc2c0f;border-color:#b1240c}.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#f04124;border-color:#ea2f10}.btn-danger .badge{color:#f04124;background-color:#fff}.btn-success{color:#fff;background-color:#43ac6a;border-color:#3c9a5f}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{color:#fff;background-color:#388f58;border-color:#2b6e44}.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#43ac6a;border-color:#3c9a5f}.btn-success .badge{color:#43ac6a;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-link{font-weight:normal;color:#008cba;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#00526e;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999;text-decoration:none}.btn-lg{padding:10px 16px;font-size:19px;line-height:1.33;border-radius:0}.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:0}.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:0}.btn-block{display:block;width:100%;padding-right:0;padding-left:0}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:normal;line-height:1;-moz-osx-font-smoothing:grayscale}.glyphicon:empty{width:1em}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:15px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:0;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9.5px 0;overflow:hidden;background-color:rgba(0,0,0,0.2)}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.428571429;color:#555;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#eee}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#008cba;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media(min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar .btn-group{float:left}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group,.btn-toolbar>.btn-group+.btn-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:0}.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:0}.btn-group-lg>.btn{padding:10px 16px;font-size:19px;line-height:1.33;border-radius:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-bottom-left-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}[data-toggle="buttons"]>.btn>input[type="radio"],[data-toggle="buttons"]>.btn>input[type="checkbox"]{display:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-right:0;padding-left:0}.input-group .form-control{width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:48px;padding:10px 16px;font-size:19px;line-height:1.33;border-radius:0}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:48px;line-height:48px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:0}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:15px;font-weight:normal;line-height:1;color:#6f6f6f;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:0}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:0}.input-group-addon.input-lg{padding:10px 16px;font-size:19px;border-radius:0}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;white-space:nowrap}.input-group-btn:first-child>.btn{margin-right:-1px}.input-group-btn:last-child>.btn{margin-left:-1px}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-4px}.input-group-btn>.btn:hover,.input-group-btn>.btn:active{z-index:2}.nav{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;padding-left:0;margin-bottom:0;list-style:none}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#999}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#008cba}.nav .nav-divider{height:1px;margin:9.5px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#6f6f6f;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media(min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media(min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:0}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#008cba}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media(min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media(min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:45px;margin-bottom:21px;border:1px solid transparent}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}@media(min-width:768px){.navbar{border-radius:0}}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}@media(min-width:768px){.navbar-header{float:left}}.navbar-collapse{max-height:340px;padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media(min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.container>.navbar-header,.container>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media(min-width:768px){.container>.navbar-header,.container>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media(min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media(min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;float:left;padding:12px 15px;font-size:19px;line-height:21px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media(min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:5.5px;margin-right:15px;margin-bottom:5.5px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media(min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:6px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:21px}@media(max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:21px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media(min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:12px;padding-bottom:12px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media(min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important}}.navbar-form{padding:10px 15px;margin-top:5px;margin-right:-15px;margin-bottom:5px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}@media(min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block}.navbar-form select.form-control{width:auto}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{float:none;margin-left:0}}@media(max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media(min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-nav.pull-right>li>.dropdown-menu,.navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar-btn{margin-top:5px;margin-bottom:5px}.navbar-btn.btn-sm{margin-top:7.5px;margin-bottom:7.5px}.navbar-btn.btn-xs{margin-top:11.5px;margin-bottom:11.5px}.navbar-text{margin-top:12px;margin-bottom:12px}@media(min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#333;border-color:#222}.navbar-default .navbar-brand{color:#fff}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-default .navbar-text{color:#fff}.navbar-default .navbar-nav>li>a{color:#fff}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#fff;background-color:#272727}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#fff;background-color:#272727}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:transparent}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:transparent}.navbar-default .navbar-toggle .icon-bar{background-color:#fff}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#222}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#fff;background-color:#272727}@media(max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#fff}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:#272727}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#272727}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#fff}.navbar-default .navbar-link:hover{color:#fff}.navbar-inverse{background-color:#008cba;border-color:#006687}.navbar-inverse .navbar-brand{color:#fff}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#fff}.navbar-inverse .navbar-nav>li>a{color:#fff}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:#006687}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#006687}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:transparent}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:transparent}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#007196}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#006687}@media(max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#006687}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#006687}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#fff}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:#006687}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#006687}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#fff}.navbar-inverse .navbar-link:hover{color:#fff}.breadcrumb{padding:8px 15px;margin-bottom:21px;list-style:none;background-color:#f5f5f5;border-radius:0}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#999;content:"/\00a0"}.breadcrumb>.active{color:#333}.pagination{display:inline-block;padding-left:0;margin:21px 0;border-radius:0}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;text-decoration:none;background-color:transparent;border:1px solid transparent}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:0;border-top-left-radius:0}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:0;border-bottom-right-radius:0}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{background-color:#eee}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#008cba;border-color:#008cba}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999;cursor:not-allowed;background-color:transparent;border-color:transparent}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:19px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:0;border-top-left-radius:0}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:0;border-bottom-right-radius:0}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:0;border-top-left-radius:0}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:0;border-bottom-right-radius:0}.pager{padding-left:0;margin:21px 0;text-align:center;list-style:none}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:transparent;border:1px solid transparent;border-radius:3px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;cursor:not-allowed;background-color:transparent}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label[href]:hover,.label[href]:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#999}.label-default[href]:hover,.label-default[href]:focus{background-color:gray}.label-primary{background-color:#008cba}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#006687}.label-success{background-color:#43ac6a}.label-success[href]:hover,.label-success[href]:focus{background-color:#358753}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#e99002}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#b67102}.label-danger{background-color:#f04124}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#d32a0e}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;line-height:1;color:#777;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#e7e7e7;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#008cba;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;font-size:23px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#fafafa}.jumbotron h1,.jumbotron .h1{line-height:1;color:inherit}.jumbotron p{line-height:1.4}.container .jumbotron{border-radius:0}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:67.5px}}.thumbnail{display:block;padding:4px;margin-bottom:21px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:0;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img,.thumbnail a>img{display:block;height:auto;max-width:100%;margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#008cba}.thumbnail .caption{padding:9px;color:#222}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:21px;margin-bottom:21px;overflow:hidden;background-color:#f5f5f5;border-radius:0;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:21px;color:#fff;text-align:center;background-color:#008cba;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#43ac6a}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#e99002}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#f04124}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;background-color:#f5f5f5}a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{z-index:2;color:#fff;background-color:#008cba;border-color:#008cba}a.list-group-item.active .list-group-item-heading,a.list-group-item.active:hover .list-group-item-heading,a.list-group-item.active:focus .list-group-item-heading{color:inherit}a.list-group-item.active .list-group-item-text,a.list-group-item.active:hover .list-group-item-text,a.list-group-item.active:focus .list-group-item-text{color:#87e1ff}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:21px;background-color:#fff;border:1px solid transparent;border-radius:0;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{display:table;content:" "}.panel-body:after{clear:both}.panel-body:before,.panel-body:after{display:table;content:" "}.panel-body:after{clear:both}.panel-body:before,.panel-body:after{display:table;content:" "}.panel-body:after{clear:both}.panel-body:before,.panel-body:after{display:table;content:" "}.panel-body:after{clear:both}.panel-body:before,.panel-body:after{display:table;content:" "}.panel-body:after{clear:both}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0}.panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel>.list-group .list-group-item:last-child{border-bottom:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child th,.panel>.table>tbody:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:last-child>th,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:last-child>td,.panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:-1;border-top-left-radius:-1}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:17px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:-1;border-bottom-left-radius:-1}.panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:0}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#008cba}.panel-primary>.panel-heading{color:#fff;background-color:#008cba;border-color:#008cba}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#008cba}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#008cba}.panel-success{border-color:#3c9a5f}.panel-success>.panel-heading{color:#43ac6a;background-color:#dff0d8;border-color:#3c9a5f}.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#3c9a5f}.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#3c9a5f}.panel-warning{border-color:#d08002}.panel-warning>.panel-heading{color:#e99002;background-color:#fcf8e3;border-color:#d08002}.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#d08002}.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d08002}.panel-danger{border-color:#ea2f10}.panel-danger>.panel-heading{color:#f04124;background-color:#f2dede;border-color:#ea2f10}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ea2f10}.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ea2f10}.panel-info{border-color:#3db5d8}.panel-info>.panel-heading{color:#5bc0de;background-color:#d9edf7;border-color:#3db5d8}.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#3db5d8}.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#3db5d8}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#fafafa;border:1px solid #e8e8e8;border-radius:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:0}.well-sm{padding:9px;border-radius:0}.close{float:right;font-size:22.5px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:auto;overflow-y:scroll}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.modal-dialog{position:relative;z-index:1050;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:0;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.428571429}.modal-body{position:relative;padding:20px}.modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}}.tooltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#333;border-radius:0}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#333;border-width:5px 5px 0}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#333;border-width:5px 5px 0}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#333;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#333;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#333;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#333;border-width:0 5px 5px}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#333;border-width:0 5px 5px}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#333;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#333;border:1px solid #333;border:1px solid transparent;border-radius:0;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:15px;font-weight:normal;line-height:18px;background-color:#333;border-bottom:1px solid #262626;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#333;border-bottom-width:0;content:" "}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#333;border-left-width:0;content:" "}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#333;border-top-width:0;content:" "}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#333;border-right-width:0;content:" "}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;height:auto;max-width:100%;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);opacity:.5;filter:alpha(opacity=50)}.carousel-control.left{background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,0.5) 0),color-stop(rgba(0,0,0,0.0001) 100%));background-image:linear-gradient(to right,rgba(0,0,0,0.5) 0,rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000',endColorstr='#00000000',GradientType=1)}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,0.0001) 0),color-stop(rgba(0,0,0,0.5) 100%));background-image:linear-gradient(to right,rgba(0,0,0,0.0001) 0,rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#80000000',GradientType=1)}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;outline:0;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicons-chevron-left,.carousel-control .glyphicons-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after{display:table;content:" "}.clearfix:after{clear:both}.clearfix:before,.clearfix:after{display:table;content:" "}.clearfix:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important;visibility:hidden !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,tr.visible-xs,th.visible-xs,td.visible-xs{display:none !important}@media(max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media(min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block !important}table.visible-xs.visible-sm{display:table}tr.visible-xs.visible-sm{display:table-row !important}th.visible-xs.visible-sm,td.visible-xs.visible-sm{display:table-cell !important}}@media(min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block !important}table.visible-xs.visible-md{display:table}tr.visible-xs.visible-md{display:table-row !important}th.visible-xs.visible-md,td.visible-xs.visible-md{display:table-cell !important}}@media(min-width:1200px){.visible-xs.visible-lg{display:block !important}table.visible-xs.visible-lg{display:table}tr.visible-xs.visible-lg{display:table-row !important}th.visible-xs.visible-lg,td.visible-xs.visible-lg{display:table-cell !important}}.visible-sm,tr.visible-sm,th.visible-sm,td.visible-sm{display:none !important}@media(max-width:767px){.visible-sm.visible-xs{display:block !important}table.visible-sm.visible-xs{display:table}tr.visible-sm.visible-xs{display:table-row !important}th.visible-sm.visible-xs,td.visible-sm.visible-xs{display:table-cell !important}}@media(min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media(min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block !important}table.visible-sm.visible-md{display:table}tr.visible-sm.visible-md{display:table-row !important}th.visible-sm.visible-md,td.visible-sm.visible-md{display:table-cell !important}}@media(min-width:1200px){.visible-sm.visible-lg{display:block !important}table.visible-sm.visible-lg{display:table}tr.visible-sm.visible-lg{display:table-row !important}th.visible-sm.visible-lg,td.visible-sm.visible-lg{display:table-cell !important}}.visible-md,tr.visible-md,th.visible-md,td.visible-md{display:none !important}@media(max-width:767px){.visible-md.visible-xs{display:block !important}table.visible-md.visible-xs{display:table}tr.visible-md.visible-xs{display:table-row !important}th.visible-md.visible-xs,td.visible-md.visible-xs{display:table-cell !important}}@media(min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block !important}table.visible-md.visible-sm{display:table}tr.visible-md.visible-sm{display:table-row !important}th.visible-md.visible-sm,td.visible-md.visible-sm{display:table-cell !important}}@media(min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media(min-width:1200px){.visible-md.visible-lg{display:block !important}table.visible-md.visible-lg{display:table}tr.visible-md.visible-lg{display:table-row !important}th.visible-md.visible-lg,td.visible-md.visible-lg{display:table-cell !important}}.visible-lg,tr.visible-lg,th.visible-lg,td.visible-lg{display:none !important}@media(max-width:767px){.visible-lg.visible-xs{display:block !important}table.visible-lg.visible-xs{display:table}tr.visible-lg.visible-xs{display:table-row !important}th.visible-lg.visible-xs,td.visible-lg.visible-xs{display:table-cell !important}}@media(min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block !important}table.visible-lg.visible-sm{display:table}tr.visible-lg.visible-sm{display:table-row !important}th.visible-lg.visible-sm,td.visible-lg.visible-sm{display:table-cell !important}}@media(min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block !important}table.visible-lg.visible-md{display:table}tr.visible-lg.visible-md{display:table-row !important}th.visible-lg.visible-md,td.visible-lg.visible-md{display:table-cell !important}}@media(min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}.hidden-xs{display:block !important}table.hidden-xs{display:table}tr.hidden-xs{display:table-row !important}th.hidden-xs,td.hidden-xs{display:table-cell !important}@media(max-width:767px){.hidden-xs,tr.hidden-xs,th.hidden-xs,td.hidden-xs{display:none !important}}@media(min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm,tr.hidden-xs.hidden-sm,th.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm{display:none !important}}@media(min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md,tr.hidden-xs.hidden-md,th.hidden-xs.hidden-md,td.hidden-xs.hidden-md{display:none !important}}@media(min-width:1200px){.hidden-xs.hidden-lg,tr.hidden-xs.hidden-lg,th.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg{display:none !important}}.hidden-sm{display:block !important}table.hidden-sm{display:table}tr.hidden-sm{display:table-row !important}th.hidden-sm,td.hidden-sm{display:table-cell !important}@media(max-width:767px){.hidden-sm.hidden-xs,tr.hidden-sm.hidden-xs,th.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs{display:none !important}}@media(min-width:768px) and (max-width:991px){.hidden-sm,tr.hidden-sm,th.hidden-sm,td.hidden-sm{display:none !important}}@media(min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md,tr.hidden-sm.hidden-md,th.hidden-sm.hidden-md,td.hidden-sm.hidden-md{display:none !important}}@media(min-width:1200px){.hidden-sm.hidden-lg,tr.hidden-sm.hidden-lg,th.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg{display:none !important}}.hidden-md{display:block !important}table.hidden-md{display:table}tr.hidden-md{display:table-row !important}th.hidden-md,td.hidden-md{display:table-cell !important}@media(max-width:767px){.hidden-md.hidden-xs,tr.hidden-md.hidden-xs,th.hidden-md.hidden-xs,td.hidden-md.hidden-xs{display:none !important}}@media(min-width:768px) and (max-width:991px){.hidden-md.hidden-sm,tr.hidden-md.hidden-sm,th.hidden-md.hidden-sm,td.hidden-md.hidden-sm{display:none !important}}@media(min-width:992px) and (max-width:1199px){.hidden-md,tr.hidden-md,th.hidden-md,td.hidden-md{display:none !important}}@media(min-width:1200px){.hidden-md.hidden-lg,tr.hidden-md.hidden-lg,th.hidden-md.hidden-lg,td.hidden-md.hidden-lg{display:none !important}}.hidden-lg{display:block !important}table.hidden-lg{display:table}tr.hidden-lg{display:table-row !important}th.hidden-lg,td.hidden-lg{display:table-cell !important}@media(max-width:767px){.hidden-lg.hidden-xs,tr.hidden-lg.hidden-xs,th.hidden-lg.hidden-xs,td.hidden-lg.hidden-xs{display:none !important}}@media(min-width:768px) and (max-width:991px){.hidden-lg.hidden-sm,tr.hidden-lg.hidden-sm,th.hidden-lg.hidden-sm,td.hidden-lg.hidden-sm{display:none !important}}@media(min-width:992px) and (max-width:1199px){.hidden-lg.hidden-md,tr.hidden-lg.hidden-md,th.hidden-lg.hidden-md,td.hidden-lg.hidden-md{display:none !important}}@media(min-width:1200px){.hidden-lg,tr.hidden-lg,th.hidden-lg,td.hidden-lg{display:none !important}}.visible-print,tr.visible-print,th.visible-print,td.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}.hidden-print,tr.hidden-print,th.hidden-print,td.hidden-print{display:none !important}}.navbar{font-size:13px;font-weight:300;border:0}.navbar .navbar-toggle:hover .icon-bar{background-color:#b3b3b3}.navbar-collapse{border-top-color:rgba(0,0,0,0.2);-webkit-box-shadow:none;box-shadow:none}.navbar .dropdown-menu{border:0}.navbar .dropdown-menu>li>a,.navbar .dropdown-menu>li>a:focus{font-size:13px;font-weight:300;background-color:transparent}.navbar .dropdown-header{color:rgba(255,255,255,0.5)}.navbar-default .dropdown-menu{background-color:#333}.navbar-default .dropdown-menu>li>a,.navbar-default .dropdown-menu>li>a:focus{color:#fff}.navbar-default .dropdown-menu>li>a:hover,.navbar-default .dropdown-menu>.active>a,.navbar-default .dropdown-menu>.active>a:hover{background-color:#272727}.navbar-inverse .dropdown-menu{background-color:#008cba}.navbar-inverse .dropdown-menu>li>a,.navbar-inverse .dropdown-menu>li>a:focus{color:#fff}.navbar-inverse .dropdown-menu>li>a:hover,.navbar-inverse .dropdown-menu>.active>a,.navbar-inverse .dropdown-menu>.active>a:hover{background-color:#006687}.btn{padding:14px 28px}.btn-lg{padding:16px 32px}.btn-sm{padding:8px 16px}.btn-xs{padding:4px 8px}.btn-group .btn~.dropdown-toggle{padding-right:16px;padding-left:16px}.btn-group .dropdown-menu{border-top-width:0}.btn-group.dropup .dropdown-menu{margin-bottom:0;border-top-width:1px;border-bottom-width:0}.btn-group .dropdown-toggle.btn-default~.dropdown-menu{background-color:#e7e7e7;border-color:#dadada}.btn-group .dropdown-toggle.btn-default~.dropdown-menu>li>a{color:#333}.btn-group .dropdown-toggle.btn-default~.dropdown-menu>li>a:hover{background-color:#d3d3d3}.btn-group .dropdown-toggle.btn-primary~.dropdown-menu{background-color:#008cba;border-color:#0079a1}.btn-group .dropdown-toggle.btn-primary~.dropdown-menu>li>a{color:#fff}.btn-group .dropdown-toggle.btn-primary~.dropdown-menu>li>a:hover{background-color:#006d91}.btn-group .dropdown-toggle.btn-success~.dropdown-menu{background-color:#43ac6a;border-color:#3c9a5f}.btn-group .dropdown-toggle.btn-success~.dropdown-menu>li>a{color:#fff}.btn-group .dropdown-toggle.btn-success~.dropdown-menu>li>a:hover{background-color:#388f58}.btn-group .dropdown-toggle.btn-info~.dropdown-menu{background-color:#5bc0de;border-color:#46b8da}.btn-group .dropdown-toggle.btn-info~.dropdown-menu>li>a{color:#fff}.btn-group .dropdown-toggle.btn-info~.dropdown-menu>li>a:hover{background-color:#39b3d7}.btn-group .dropdown-toggle.btn-warning~.dropdown-menu{background-color:#e99002;border-color:#d08002}.btn-group .dropdown-toggle.btn-warning~.dropdown-menu>li>a{color:#fff}.btn-group .dropdown-toggle.btn-warning~.dropdown-menu>li>a:hover{background-color:#c17702}.btn-group .dropdown-toggle.btn-danger~.dropdown-menu{background-color:#f04124;border-color:#ea2f10}.btn-group .dropdown-toggle.btn-danger~.dropdown-menu>li>a{color:#fff}.btn-group .dropdown-toggle.btn-danger~.dropdown-menu>li>a:hover{background-color:#dc2c0f}.lead{color:#6f6f6f}cite{font-style:italic}blockquote{color:#6f6f6f;border-left-width:1px}blockquote.pull-right{border-right-width:1px}blockquote small{font-size:12px;font-weight:300}table{font-size:12px}input,.form-control{padding:7px;font-size:12px}label,.control-label,.help-block,.checkbox,.radio{font-size:12px;font-weight:normal}.form-group .btn,.input-group-addon,.input-group-btn .btn{padding:8px 14px;font-size:12px}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{border-color:transparent}.nav-tabs>li>a{color:#222;background-color:#e7e7e7}.nav-tabs .caret{border-top-color:#222;border-bottom-color:#222}.nav-pills{font-weight:300}.breadcrumb{font-size:10px;font-weight:300;text-transform:uppercase;border:1px solid #ddd;border-radius:3px}.pagination{font-size:12px;font-weight:300;color:#999}.pagination>li>a,.pagination>li>span{margin-left:4px;color:#999}.pagination>.active>a,.pagination>.active>span{color:#fff}.pagination>li>a,.pagination>li:first-child>a,.pagination>li:last-child>a,.pagination>li>span,.pagination>li:first-child>span,.pagination>li:last-child>span{border-radius:3px}.pagination-lg>li>a{padding-right:22px;padding-left:22px}.pagination-sm>li>a{padding:0 5px}.pager{font-size:12px;font-weight:300;color:#999}.list-group{font-size:12px;font-weight:300}.label{padding-right:1em;padding-left:1em;font-weight:300;border-radius:0}.label-default{color:#333;background-color:#e7e7e7}.badge{font-weight:300}.progress{height:22px;padding:2px;background-color:#f6f6f6;border:1px solid #ccc;-webkit-box-shadow:none;box-shadow:none}.dropdown-menu{padding:0;margin-top:0;font-size:12px}.dropdown-menu>li>a{padding:12px 15px}.dropdown-header{padding-right:15px;padding-left:15px;font-size:9px;text-transform:uppercase}.popover{font-size:12px;font-weight:300;color:#fff}.panel-heading,.panel-footer{border-top-right-radius:0;border-top-left-radius:0}.clearfix:before,.clearfix:after{display:table;content:" "}.clearfix:after{clear:both}.clearfix:before,.clearfix:after{display:table;content:" "}.clearfix:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important;visibility:hidden !important}.affix{position:fixed}
diff --git a/0.5/css/cinder.css b/0.5/css/cinder.css
deleted file mode 100644
index 4834560..0000000
--- a/0.5/css/cinder.css
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- Cinder Theme for MkDocs | Copyright 2015 Christopher Simpkins | MIT License
-*/
-
-body {
- font-family:"Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
- font-size: 16px;
- line-height: 1.7;
- background-color: #FFF;
- color: #343838;
-}
-h1, h2, h3, h4, h5, h6 {
- font-family:'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif;
- color: #222;
-}
-h1 small, h2 small, h3 small, h4 small, h5 small, h6 small, .h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small, h1 .small, h2 .small, h3 .small, h4 .small, h5 .small, h6 .small, .h1 .small, .h2 .small, .h3 .small, .h4 .small, .h5 .small, .h6 .small {
- color: #B1B7B9;
-}
-
-h2 {
- margin-top: 35px;
-}
-
-h1, h2 {
- font-weight: 700;
-}
-h4 {
- font-family: 'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif;
- font-weight: 300;
- margin-top: 20px;
- font-style: italic;
-}
-h5 {
- font-family: 'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif;
- font-weight: 300;
- font-variant: small-caps;
-}
-pre, code {
- background-color: #FCFDFF;
-}
-pre>code {
- font-size: 13px;
-}
-pre {
- margin-top: 25px;
- margin-bottom: 25px;
-}
-.lead {
- font-family:"Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
- font-weight: 400;
- line-height: 1.4;
- letter-spacing: 0.0312em;
- color: #B1B7B9;
-}
-.navbar-default {
- background-color: #343838;
- border-bottom: 8px #EBF2F2 solid;
-}
-.bs-sidenav {
- background-image: url("../img/grid11.png");
- background-repeat: repeat;
- font-family: Inter,"Helvetica Neue",Helvetica,Arial,sans-serif;
- font-size: 13px;
-}
-.well {
- background-color: #FCFDFF;
-}
-.btn-default {
- background-color:#FCFDFF;
-}
-.table-striped > tbody > tr:nth-child(2n+1) > td, .table-striped > tbody > tr:nth-child(2n+1) > th {
- background-color: #FCFDFF;
-}
-#mkdocs-search-query:focus {
- outline: none;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-#mkdocs-search-query {
- font-family:"Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
- font-size: 20px;
- font-weight: 700;
- color: #343838;
- height: 45px;
-}
-footer > hr {
- width: 35%;
-}
diff --git a/0.5/css/cinder.min.css b/0.5/css/cinder.min.css
deleted file mode 100644
index fb7cc34..0000000
--- a/0.5/css/cinder.min.css
+++ /dev/null
@@ -1 +0,0 @@
-body{font-family:"Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;line-height:1.7;background-color:#FFF;color:#343838}h1,h2,h3,h4,h5,h6{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;color:#222}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{color:#b1b7b9}h2{margin-top:35px}h1,h2{font-weight:700}h4{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:300;margin-top:20px;font-style:italic}h5{font-family:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:300;font-variant:small-caps}pre,code{background-color:#fcfdff}pre>code{font-size:13px}pre{margin-top:25px;margin-bottom:25px}.lead{font-family:"Inter","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;line-height:1.4;letter-spacing:.0312em;color:#b1b7b9}.navbar-default{background-color:#343838;border-bottom:8px #ebf2f2 solid}.bs-sidenav{background-image:url("../img/grid11.png");background-repeat:repeat;font-family:Inter,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px}.well{background-color:#fcfdff}.btn-default{background-color:#fcfdff}.table-striped>tbody>tr:nth-child(2n+1)>td,.table-striped>tbody>tr:nth-child(2n+1)>th{background-color:#fcfdff}#mkdocs-search-query:focus{outline:0;-webkit-box-shadow:none;box-shadow:none}#mkdocs-search-query{font-family:"Inter","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:20px;font-weight:700;color:#343838;height:45px}footer>hr{width:35%}
diff --git a/0.5/css/custom.css b/0.5/css/custom.css
deleted file mode 100644
index 366aa46..0000000
--- a/0.5/css/custom.css
+++ /dev/null
@@ -1,28 +0,0 @@
-.navbar-default {
- border-bottom: 0px;
- background-color: #fff;
- box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.2);
-}
-
-a, .navbar-default a {
- color: #06a !important;
- font-weight: normal;
-}
-
-.disabled > a {
- color: #999 !important;
-}
-
-.navbar-default a:hover,
-.navbar-default .active,
-.active > a {
- background-color: #f0f0f0 !important;
-}
-
-.icon-bar {
- background-color: #666 !important;
-}
-
-.navbar-collapse {
- border-color: #fff !important;
-}
\ No newline at end of file
diff --git a/0.5/css/highlight.css b/0.5/css/highlight.css
deleted file mode 100644
index a2b9270..0000000
--- a/0.5/css/highlight.css
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
-
-github.com style (c) Vasily Polovnyov
-
-*/
-
-.hljs {
- display: block;
- overflow-x: auto;
- padding: 0.5em;
- color: #333;
- background: #FCFDFF;
-}
-
-.hljs-comment,
-.hljs-quote {
- color: #998;
- font-style: italic;
-}
-
-.hljs-keyword,
-.hljs-selector-tag,
-.hljs-subst {
- color: #333;
- font-weight: bold;
-}
-
-.hljs-number,
-.hljs-literal,
-.hljs-variable,
-.hljs-template-variable,
-.hljs-tag .hljs-attr {
- color: #008080;
-}
-
-.hljs-string,
-.hljs-doctag {
- color: #d14;
-}
-
-.hljs-title,
-.hljs-section,
-.hljs-selector-id {
- color: #900;
- font-weight: bold;
-}
-
-.hljs-subst {
- font-weight: normal;
-}
-
-.hljs-type,
-.hljs-class .hljs-title {
- color: #458;
- font-weight: bold;
-}
-
-.hljs-tag,
-.hljs-name,
-.hljs-attribute {
- color: #000080;
- font-weight: normal;
-}
-
-.hljs-regexp,
-.hljs-link {
- color: #009926;
-}
-
-.hljs-symbol,
-.hljs-bullet {
- color: #990073;
-}
-
-.hljs-built_in,
-.hljs-builtin-name {
- color: #0086b3;
-}
-
-.hljs-meta {
- color: #999;
- font-weight: bold;
-}
-
-.hljs-deletion {
- background: #fdd;
-}
-
-.hljs-addition {
- background: #dfd;
-}
-
-.hljs-emphasis {
- font-style: italic;
-}
-
-.hljs-strong {
- font-weight: bold;
-}
diff --git a/0.5/css/highlight.min.css b/0.5/css/highlight.min.css
deleted file mode 100644
index 1b6ab94..0000000
--- a/0.5/css/highlight.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.hljs{display:block;overflow-x:auto;padding:.5em;color:#333;background:#fcfdff}.hljs-comment,.hljs-quote{color:#998;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:#333;font-weight:bold}.hljs-number,.hljs-literal,.hljs-variable,.hljs-template-variable,.hljs-tag .hljs-attr{color:teal}.hljs-string,.hljs-doctag{color:#d14}.hljs-title,.hljs-section,.hljs-selector-id{color:#900;font-weight:bold}.hljs-subst{font-weight:normal}.hljs-type,.hljs-class .hljs-title{color:#458;font-weight:bold}.hljs-tag,.hljs-name,.hljs-attribute{color:navy;font-weight:normal}.hljs-regexp,.hljs-link{color:#009926}.hljs-symbol,.hljs-bullet{color:#990073}.hljs-built_in,.hljs-builtin-name{color:#0086b3}.hljs-meta{color:#999;font-weight:bold}.hljs-deletion{background:#fdd}.hljs-addition{background:#dfd}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:bold}
diff --git a/0.5/fonts/fontawesome-webfont.eot b/0.5/fonts/fontawesome-webfont.eot
deleted file mode 100644
index 7c79c6a..0000000
Binary files a/0.5/fonts/fontawesome-webfont.eot and /dev/null differ
diff --git a/0.5/fonts/fontawesome-webfont.svg b/0.5/fonts/fontawesome-webfont.svg
deleted file mode 100644
index 45fdf33..0000000
--- a/0.5/fonts/fontawesome-webfont.svg
+++ /dev/null
@@ -1,414 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/0.5/fonts/fontawesome-webfont.ttf b/0.5/fonts/fontawesome-webfont.ttf
deleted file mode 100644
index e89738d..0000000
Binary files a/0.5/fonts/fontawesome-webfont.ttf and /dev/null differ
diff --git a/0.5/fonts/fontawesome-webfont.woff b/0.5/fonts/fontawesome-webfont.woff
deleted file mode 100644
index 8c1748a..0000000
Binary files a/0.5/fonts/fontawesome-webfont.woff and /dev/null differ
diff --git a/0.5/format/index.html b/0.5/format/index.html
index 1bd3af5..5c1a049 100644
--- a/0.5/format/index.html
+++ b/0.5/format/index.html
@@ -1,234 +1,10 @@
-
-
-
-
-
-
-
-
-
-
-
-
- Data Format - RELOG
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
In this page, we describe the input and output JSON formats used by RELOG. In addition to these, RELOG can also produce simplified reports in tabular data format.
-
-
RELOG accepts as input a JSON file with three sections: parameters
, products
and plants
. Below, we describe each section in more detail.
-
Parameters
-
The parameters section describes details about the simulation itself.
-
-
-
-Key
-Description
-
-
-
-
-time horizon (years)
-Number of years in the simulation.
-
-
-building period (years)
-List of years in which we are allowed to open new plants. For example, if this parameter is set to [1,2,3]
, we can only open plants during the first three years. By default, this equals [1]
; that is, plants can only be opened during the first year.
-
-
-
-
Example
-
{
+Input and Output Data Formats · RELOG In this page, we describe the input and output JSON formats used by RELOG. In addition to these, RELOG can also produce simplified reports in tabular data format.
RELOG accepts as input a JSON file with three sections: parameters
, products
and plants
. Below, we describe each section in more detail.
The parameters section describes details about the simulation itself.
Key Description time horizon (years)
Number of years in the simulation. building period (years)
List of years in which we are allowed to open new plants. For example, if this parameter is set to [1,2,3]
, we can only open plants during the first three years. By default, this equals [1]
; that is, plants can only be opened during the first year.
{
"parameters": {
"time horizon (years)": 2,
"building period (years)": [1]
}
-}
-
-Products
-The products section describes all products and subproducts in the simulation. The field instance["Products"]
is a dictionary mapping the name of the product to a dictionary which describes its characteristics. Each product description contains the following keys:
-
-
-
-Key
-Description
-
-
-
-
-transportation cost ($/km/tonne)
-The cost to transport this product. Must be a time series.
-
-
-transportation energy (J/km/tonne)
-The energy required to transport this product. Must be a time series. Optional.
-
-
-transportation emissions (tonne/km/tonne)
-A dictionary mapping the name of each greenhouse gas, produced to transport one tonne of this product along one kilometer, to the amount of gas produced (in tonnes). Must be a time series. Optional.
-
-
-initial amounts
-A dictionary mapping the name of each location to its description (see below). If this product is not initially available, this key may be omitted. Must be a time series.
-
-
-
-Each product may have some amount available at the beginning of each time period. In this case, the key initial amounts
maps to a dictionary with the following keys:
-
-
-
-Key
-Description
-
-
-
-
-latitude (deg)
-The latitude of the location.
-
-
-longitude (deg)
-The longitude of the location.
-
-
-amount (tonne)
-The amount of the product initially available at the location. Must be a time series.
-
-
-
-Example
-{
+}
The products section describes all products and subproducts in the simulation. The field instance["Products"]
is a dictionary mapping the name of the product to a dictionary which describes its characteristics. Each product description contains the following keys:
Key Description transportation cost ($/km/tonne)
The cost to transport this product. Must be a time series. transportation energy (J/km/tonne)
The energy required to transport this product. Must be a time series. Optional. transportation emissions (tonne/km/tonne)
A dictionary mapping the name of each greenhouse gas, produced to transport one tonne of this product along one kilometer, to the amount of gas produced (in tonnes). Must be a time series. Optional. initial amounts
A dictionary mapping the name of each location to its description (see below). If this product is not initially available, this key may be omitted. Must be a time series.
Each product may have some amount available at the beginning of each time period. In this case, the key initial amounts
maps to a dictionary with the following keys:
Key Description latitude (deg)
The latitude of the location. longitude (deg)
The longitude of the location. amount (tonne)
The amount of the product initially available at the location. Must be a time series.
{
"products": {
"P1": {
"initial amounts": {
@@ -265,134 +41,7 @@
"transportation cost ($/km/tonne)": [0.0175, 0.0175]
}
}
-}
-
-Processing plants
-The plants section describes the available types of reverse manufacturing plants, their potential locations and associated costs, as well as their inputs and outputs. The field instance["Plants"]
is a dictionary mapping the name of the plant to a dictionary with the following keys:
-
-
-
-Key
-Description
-
-
-
-
-input
-The name of the product that this plant takes as input. Only one input is accepted per plant.
-
-
-outputs (tonne/tonne)
-A dictionary specifying how many tonnes of each product is produced for each tonnes of input. For example, if the plant outputs 0.5 tonnes of P2 and 0.25 tonnes of P3 for each tonnes of P1 provided, then this entry should be {"P2": 0.5, "P3": 0.25}
. If the plant does not output anything, this key may be omitted.
-
-
-energy (GJ/tonne)
-The energy required to process 1 tonne of the input. Must be a time series. Optional.
-
-
-emissions (tonne/tonne)
-A dictionary mapping the name of each greenhouse gas, produced to process each tonne of input, to the amount of gas produced (in tonne). Must be a time series. Optional.
-
-
-locations
-A dictionary mapping the name of the location to a dictionary which describes the site characteristics (see below).
-
-
-
-Each type of plant is associated with a set of potential locations where it can be built. Each location is represented by a dictionary with the following keys:
-
-
-
-Key
-Description
-
-
-
-
-latitude (deg)
-The latitude of the location, in degrees.
-
-
-longitude (deg)
-The longitude of the location, in degrees.
-
-
-disposal
-A dictionary describing what products can be disposed locally at the plant.
-
-
-storage
-A dictionary describing the plant's storage.
-
-
-capacities (tonne)
-A dictionary describing what plant sizes are allowed, and their characteristics.
-
-
-
-The storage
dictionary should contain the following keys:
-
-
-
-Key
-Description
-
-
-
-
-cost ($/tonne)
-The cost to store a tonne of input product for one time period. Must be a time series.
-
-
-limit (tonne)
-The maximum amount of input product this plant can have in storage at any given time.
-
-
-
-The keys in the disposal
dictionary should be the names of the products. The values are dictionaries with the following keys:
-
-
-
-Key
-Description
-
-
-
-
-cost ($/tonne)
-The cost to dispose of the product. Must be a time series.
-
-
-limit (tonne)
-The maximum amount that can be disposed of. If an unlimited amount can be disposed, this key may be omitted. Must be a time series.
-
-
-
-The keys in the capacities (tonne)
dictionary should be the amounts (in tonnes). The values are dictionaries with the following keys:
-
-
-
-Key
-Description
-
-
-
-
-opening cost ($)
-The cost to open a plant of this size.
-
-
-fixed operating cost ($)
-The cost to keep the plant open, even if the plant doesn't process anything. Must be a time series.
-
-
-variable operating cost ($/tonne)
-The cost that the plant incurs to process each tonne of input. Must be a time series.
-
-
-
-Example
-{
+}
The plants section describes the available types of reverse manufacturing plants, their potential locations and associated costs, as well as their inputs and outputs. The field instance["Plants"]
is a dictionary mapping the name of the plant to a dictionary with the following keys:
Key Description input
The name of the product that this plant takes as input. Only one input is accepted per plant. outputs (tonne/tonne)
A dictionary specifying how many tonnes of each product is produced for each tonnes of input. For example, if the plant outputs 0.5 tonnes of P2 and 0.25 tonnes of P3 for each tonnes of P1 provided, then this entry should be {"P2": 0.5, "P3": 0.25}
. If the plant does not output anything, this key may be omitted. energy (GJ/tonne)
The energy required to process 1 tonne of the input. Must be a time series. Optional. emissions (tonne/tonne)
A dictionary mapping the name of each greenhouse gas, produced to process each tonne of input, to the amount of gas produced (in tonne). Must be a time series. Optional. locations
A dictionary mapping the name of the location to a dictionary which describes the site characteristics (see below).
Each type of plant is associated with a set of potential locations where it can be built. Each location is represented by a dictionary with the following keys:
Key Description latitude (deg)
The latitude of the location, in degrees. longitude (deg)
The longitude of the location, in degrees. disposal
A dictionary describing what products can be disposed locally at the plant. storage
A dictionary describing the plant's storage. capacities (tonne)
A dictionary describing what plant sizes are allowed, and their characteristics.
The storage
dictionary should contain the following keys:
Key Description cost ($/tonne)
The cost to store a tonne of input product for one time period. Must be a time series. limit (tonne)
The maximum amount of input product this plant can have in storage at any given time.
The keys in the disposal
dictionary should be the names of the products. The values are dictionaries with the following keys:
Key Description cost ($/tonne)
The cost to dispose of the product. Must be a time series. limit (tonne)
The maximum amount that can be disposed of. If an unlimited amount can be disposed, this key may be omitted. Must be a time series.
The keys in the capacities (tonne)
dictionary should be the amounts (in tonnes). The values are dictionaries with the following keys:
Key Description opening cost ($)
The cost to open a plant of this size. fixed operating cost ($)
The cost to keep the plant open, even if the plant doesn't process anything. Must be a time series. variable operating cost ($/tonne)
The cost that the plant incurs to process each tonne of input. Must be a time series.
{
"plants": {
"F1": {
"input": "P1",
@@ -435,11 +84,7 @@
}
}
}
-}
-
-Geographic database
-Instead of specifying locations using latitudes and longitudes, it is also possible to specify them using unique identifiers, such as the name of a US state, or the county FIPS code. This works anywhere latitude (deg)
and longitude (deg)
are expected. For example, instead of:
-{
+}
Instead of specifying locations using latitudes and longitudes, it is also possible to specify them using unique identifiers, such as the name of a US state, or the county FIPS code. This works anywhere latitude (deg)
and longitude (deg)
are expected. For example, instead of:
{
"initial amounts": {
"C1": {
"latitude (deg)": 37.27182,
@@ -447,151 +92,11 @@
"amount (tonne)": [934.56, 934.56]
},
}
-}
-
-is is possible to write:
-{
+}
is is possible to write:
{
"initial amounts": {
"C1": {
"location": "us-state:CA",
"amount (tonne)": [934.56, 934.56]
},
}
-}
-
-Location names follow the format db:id
, where db
is the name of the database and id
is the identifier for a specific location. RELOG currently includes the following databases:
-
-
-
-Database
-Description
-Examples
-
-
-
-
-us-state
-List of states of the United States.
-us-state:IL
(State of Illinois)
-
-
-2018-us-county
-List of United States counties, as of 2018. IDs are 5-digit FIPS codes.
-2018-us-county:17043
(DuPage county in Illinois)
-
-
-
-Current limitations
-
-Each plant can only be opened exactly once. After open, the plant remains open until the end of the simulation.
-Plants can be expanded at any time, even long after they are open.
-All material available at the beginning of a time period must be entirely processed by the end of that time period. It is not possible to store unprocessed materials from one time period to the next.
-Up to two plant sizes are currently supported. Variable operating costs must be the same for all plant sizes.
-
-
-To be documented.
-
-
-
-
-
-
-
-
-
-
- Copyright © 2020, UChicago Argonne, LLC. All Rights Reserved.
-
- Documentation built with MkDocs .
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- From here you can search these documents. Enter
- your search terms below.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Keys
- Action
-
-
-
-
- ?
- Open this help
-
-
- n
- Next page
-
-
- p
- Previous page
-
-
- s
- Search
-
-
-
-
-
-
-
-
-
-
-
+}
Location names follow the format db:id
, where db
is the name of the database and id
is the identifier for a specific location. RELOG currently includes the following databases:
Database Description Examples us-state
List of states of the United States. us-state:IL
(State of Illinois)2018-us-county
List of United States counties, as of 2018. IDs are 5-digit FIPS codes. 2018-us-county:17043
(DuPage county in Illinois)
Each plant can only be opened exactly once. After open, the plant remains open until the end of the simulation. Plants can be expanded at any time, even long after they are open. All material available at the beginning of a time period must be entirely processed by the end of that time period. It is not possible to store unprocessed materials from one time period to the next. Up to two plant sizes are currently supported. Variable operating costs must be the same for all plant sizes. To be documented.
Theme
documenter-light documenter-dark
This document was generated with Documenter.jl version 0.27.21 on Friday 26 August 2022 . Using Julia version 1.7.3.
diff --git a/0.5/img/favicon.ico b/0.5/img/favicon.ico
deleted file mode 100644
index e85006a..0000000
Binary files a/0.5/img/favicon.ico and /dev/null differ
diff --git a/0.5/img/grid1.png b/0.5/img/grid1.png
deleted file mode 100644
index a6c493a..0000000
Binary files a/0.5/img/grid1.png and /dev/null differ
diff --git a/0.5/img/grid10.png b/0.5/img/grid10.png
deleted file mode 100644
index 7c41953..0000000
Binary files a/0.5/img/grid10.png and /dev/null differ
diff --git a/0.5/img/grid11.png b/0.5/img/grid11.png
deleted file mode 100644
index ef37b27..0000000
Binary files a/0.5/img/grid11.png and /dev/null differ
diff --git a/0.5/img/grid12.png b/0.5/img/grid12.png
deleted file mode 100644
index 3f100c4..0000000
Binary files a/0.5/img/grid12.png and /dev/null differ
diff --git a/0.5/img/grid13.png b/0.5/img/grid13.png
deleted file mode 100644
index 1a0d83f..0000000
Binary files a/0.5/img/grid13.png and /dev/null differ
diff --git a/0.5/img/grid14.png b/0.5/img/grid14.png
deleted file mode 100644
index deabc03..0000000
Binary files a/0.5/img/grid14.png and /dev/null differ
diff --git a/0.5/img/grid15.png b/0.5/img/grid15.png
deleted file mode 100644
index 1f0417a..0000000
Binary files a/0.5/img/grid15.png and /dev/null differ
diff --git a/0.5/img/grid16.png b/0.5/img/grid16.png
deleted file mode 100644
index 984454f..0000000
Binary files a/0.5/img/grid16.png and /dev/null differ
diff --git a/0.5/img/grid17.png b/0.5/img/grid17.png
deleted file mode 100644
index fe48c9d..0000000
Binary files a/0.5/img/grid17.png and /dev/null differ
diff --git a/0.5/img/grid18.png b/0.5/img/grid18.png
deleted file mode 100644
index 3c84524..0000000
Binary files a/0.5/img/grid18.png and /dev/null differ
diff --git a/0.5/img/grid19.png b/0.5/img/grid19.png
deleted file mode 100644
index 2bfdd50..0000000
Binary files a/0.5/img/grid19.png and /dev/null differ
diff --git a/0.5/img/grid2.png b/0.5/img/grid2.png
deleted file mode 100644
index c9eed3e..0000000
Binary files a/0.5/img/grid2.png and /dev/null differ
diff --git a/0.5/img/grid20.png b/0.5/img/grid20.png
deleted file mode 100644
index 30e3fae..0000000
Binary files a/0.5/img/grid20.png and /dev/null differ
diff --git a/0.5/img/grid3.png b/0.5/img/grid3.png
deleted file mode 100644
index 4617c9d..0000000
Binary files a/0.5/img/grid3.png and /dev/null differ
diff --git a/0.5/img/grid4.png b/0.5/img/grid4.png
deleted file mode 100644
index 2a1f180..0000000
Binary files a/0.5/img/grid4.png and /dev/null differ
diff --git a/0.5/img/grid5.png b/0.5/img/grid5.png
deleted file mode 100644
index a1d710e..0000000
Binary files a/0.5/img/grid5.png and /dev/null differ
diff --git a/0.5/img/grid6.png b/0.5/img/grid6.png
deleted file mode 100644
index 71b4148..0000000
Binary files a/0.5/img/grid6.png and /dev/null differ
diff --git a/0.5/img/grid7.png b/0.5/img/grid7.png
deleted file mode 100644
index 6044a41..0000000
Binary files a/0.5/img/grid7.png and /dev/null differ
diff --git a/0.5/img/grid8.png b/0.5/img/grid8.png
deleted file mode 100644
index a4b6d44..0000000
Binary files a/0.5/img/grid8.png and /dev/null differ
diff --git a/0.5/img/grid9.png b/0.5/img/grid9.png
deleted file mode 100644
index 627dda5..0000000
Binary files a/0.5/img/grid9.png and /dev/null differ
diff --git a/0.5/index.html b/0.5/index.html
index 1d2a046..aea6762 100644
--- a/0.5/index.html
+++ b/0.5/index.html
@@ -1,169 +1,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
- Home - RELOG
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
RELOG: Reverse Logistics Optimization
-
RELOG is an open-source supply chain optimization package focusing on reverse logistics and reverse manufacturing. The package uses Mixed-Integer Linear Programming to determine where to build recycling plants, what size should these plants have and which customers should be served by which plants. The package supports custom reverse logistics pipelines, with multiple types of plants, multiple types of product and multiple time periods.
-
-
Table of Contents
-
-
Source Code
-
-
Authors
-
-
License
-
RELOG: Reverse Logistics Optimization
+Home · RELOG RELOG is an open-source supply chain optimization package focusing on reverse logistics and reverse manufacturing. The package uses Mixed-Integer Linear Programming to determine where to build recycling plants, what size should these plants have and which customers should be served by which plants. The package supports custom reverse logistics pipelines, with multiple types of plants, multiple types of product and multiple time periods.
+
+ Alinson S. Xavier, Argonne National Laboratory <axavier@anl.gov>Nwike Iloeje, Argonne National Laboratory <ciloeje@anl.gov>RELOG: Reverse Logistics Optimization
Copyright © 2020, UChicago Argonne, LLC. All Rights Reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted
@@ -186,115 +24,4 @@ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-
-
-
-
-
-
-
-
-
-
- Copyright © 2020, UChicago Argonne, LLC. All Rights Reserved.
-
- Documentation built with MkDocs .
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- From here you can search these documents. Enter
- your search terms below.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Keys
- Action
-
-
-
-
- ?
- Open this help
-
-
- n
- Next page
-
-
- p
- Previous page
-
-
- s
- Search
-
-
-
-
-
-
-
-
-
-
-
-
-
+POSSIBILITY OF SUCH DAMAGE.
Theme
documenter-light documenter-dark
This document was generated with Documenter.jl version 0.27.21 on Friday 26 August 2022 . Using Julia version 1.7.3.
diff --git a/0.5/js/base.js b/0.5/js/base.js
deleted file mode 100644
index 1db589c..0000000
--- a/0.5/js/base.js
+++ /dev/null
@@ -1,225 +0,0 @@
-function getSearchTerm() {
- var sPageURL = window.location.search.substring(1);
- var sURLVariables = sPageURL.split('&');
- for (var i = 0; i < sURLVariables.length; i++) {
- var sParameterName = sURLVariables[i].split('=');
- if (sParameterName[0] == 'q') {
- return sParameterName[1];
- }
- }
-}
-
-$(document).ready(function() {
- /**
- * ------------------------------------------------------------------------
- * Taken from themes/mkdocs/js/base.js
- * ------------------------------------------------------------------------
- */
- var search_term = getSearchTerm(),
- $search_modal = $('#mkdocs_search_modal'),
- $keyboard_modal = $('#mkdocs_keyboard_modal');
-
- if (search_term) {
- $search_modal.modal();
- }
-
- // make sure search input gets autofocus everytime modal opens.
- $search_modal.on('shown.bs.modal', function() {
- $search_modal.find('#mkdocs-search-query').focus();
- });
-
- // Close search modal when result is selected
- // The links get added later so listen to parent
- $('#mkdocs-search-results').click(function(e) {
- if ($(e.target).is('a')) {
- $search_modal.modal('hide');
- }
- });
-
- if (typeof shortcuts !== 'undefined') {
- // Populate keyboard modal with proper Keys
- $keyboard_modal.find('.help.shortcut kbd')[0].innerHTML = keyCodes[shortcuts.help];
- $keyboard_modal.find('.prev.shortcut kbd')[0].innerHTML = keyCodes[shortcuts.previous];
- $keyboard_modal.find('.next.shortcut kbd')[0].innerHTML = keyCodes[shortcuts.next];
- $keyboard_modal.find('.search.shortcut kbd')[0].innerHTML = keyCodes[shortcuts.search];
-
- // Keyboard navigation
- document.addEventListener("keydown", function(e) {
- if ($(e.target).is(':input')) return true;
- var key = e.which || e.key || window.event && window.event.key;
- var page;
- switch (key) {
- case shortcuts.next:
- page = $('.navbar a[rel="next"]:first').prop('href');
- break;
- case shortcuts.previous:
- page = $('.navbar a[rel="prev"]:first').prop('href');
- break;
- case shortcuts.search:
- e.preventDefault();
- $keyboard_modal.modal('hide');
- $search_modal.modal('show');
- $search_modal.find('#mkdocs-search-query').focus();
- break;
- case shortcuts.help:
- $search_modal.modal('hide');
- $keyboard_modal.modal('show');
- break;
- default:
- break;
- }
- if (page) {
- $keyboard_modal.modal('hide');
- window.location.href = page;
- }
- });
- }
-
- $('table').addClass('table table-striped table-hover');
-
- // Improve the scrollspy behaviour when users click on a TOC item.
- $(".bs-sidenav a").on("click", function() {
- var clicked = this;
- setTimeout(function() {
- var active = $('.nav li.active a');
- active = active[active.length - 1];
- if (clicked !== active) {
- $(active).parent().removeClass("active");
- $(clicked).parent().addClass("active");
- }
- }, 50);
- });
-});
-
-
-/**
- * ------------------------------------------------------------------------
- * Taken from themes/mkdocs/js/base.js
- * ------------------------------------------------------------------------
- */
-
-$('body').scrollspy({
- target: '.bs-sidebar',
- offset: 100
-});
-
-/* Prevent disabled links from causing a page reload */
-$("li.disabled a").click(function() {
- event.preventDefault();
-});
-
-// See https://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes
-// We only list common keys below. Obscure keys are omited and their use is discouraged.
-var keyCodes = {
- 8: 'backspace',
- 9: 'tab',
- 13: 'enter',
- 16: 'shift',
- 17: 'ctrl',
- 18: 'alt',
- 19: 'pause/break',
- 20: 'caps lock',
- 27: 'escape',
- 32: 'spacebar',
- 33: 'page up',
- 34: 'page down',
- 35: 'end',
- 36: 'home',
- 37: '←',
- 38: '↑',
- 39: '→',
- 40: '↓',
- 45: 'insert',
- 46: 'delete',
- 48: '0',
- 49: '1',
- 50: '2',
- 51: '3',
- 52: '4',
- 53: '5',
- 54: '6',
- 55: '7',
- 56: '8',
- 57: '9',
- 65: 'a',
- 66: 'b',
- 67: 'c',
- 68: 'd',
- 69: 'e',
- 70: 'f',
- 71: 'g',
- 72: 'h',
- 73: 'i',
- 74: 'j',
- 75: 'k',
- 76: 'l',
- 77: 'm',
- 78: 'n',
- 79: 'o',
- 80: 'p',
- 81: 'q',
- 82: 'r',
- 83: 's',
- 84: 't',
- 85: 'u',
- 86: 'v',
- 87: 'w',
- 88: 'x',
- 89: 'y',
- 90: 'z',
- 91: 'Left Windows Key / Left ⌘',
- 92: 'Right Windows Key',
- 93: 'Windows Menu / Right ⌘',
- 96: 'numpad 0',
- 97: 'numpad 1',
- 98: 'numpad 2',
- 99: 'numpad 3',
- 100: 'numpad 4',
- 101: 'numpad 5',
- 102: 'numpad 6',
- 103: 'numpad 7',
- 104: 'numpad 8',
- 105: 'numpad 9',
- 106: 'multiply',
- 107: 'add',
- 109: 'subtract',
- 110: 'decimal point',
- 111: 'divide',
- 112: 'f1',
- 113: 'f2',
- 114: 'f3',
- 115: 'f4',
- 116: 'f5',
- 117: 'f6',
- 118: 'f7',
- 119: 'f8',
- 120: 'f9',
- 121: 'f10',
- 122: 'f11',
- 123: 'f12',
- 124: 'f13',
- 125: 'f14',
- 126: 'f15',
- 127: 'f16',
- 128: 'f17',
- 129: 'f18',
- 130: 'f19',
- 131: 'f20',
- 132: 'f21',
- 133: 'f22',
- 134: 'f23',
- 135: 'f24',
- 144: 'num lock',
- 145: 'scroll lock',
- 186: ';',
- 187: '=',
- 188: ',',
- 189: '‐',
- 190: '.',
- 191: '?',
- 192: '`',
- 219: '[',
- 220: '\',
- 221: ']',
- 222: ''',
-};
diff --git a/0.5/js/bootstrap-3.0.3.min.js b/0.5/js/bootstrap-3.0.3.min.js
deleted file mode 100644
index 1a6258e..0000000
--- a/0.5/js/bootstrap-3.0.3.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * Bootstrap v3.0.3 (http://getbootstrap.com)
- * Copyright 2013 Twitter, Inc.
- * Licensed under http://www.apache.org/licenses/LICENSE-2.0
- */
-
-if("undefined"==typeof jQuery)throw new Error("Bootstrap requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(jQuery),+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]'),b=!0;if(a.length){var c=this.$element.find("input");"radio"===c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?b=!1:a.find(".active").removeClass("active")),b&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}b&&this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(jQuery),+function(a){"use strict";var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},b.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},b.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var c=this,d=this.getActiveIndex();return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=function(){return this.sliding?void 0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}this.sliding=!0,f&&this.pause();var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});if(!e.hasClass("active")){if(this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid.bs.carousel",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(j),j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid.bs.carousel")},0)}).emulateTransitionEnd(600)}else{if(this.$element.trigger(j),j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid.bs.carousel")}return f&&this.cycle(),this}};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),d.data()),g=d.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?(this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350),void 0):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(jQuery),+function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('
').insertAfter(a(this)).on("click",b),f.trigger(d=a.Event("show.bs.dropdown")),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown"),e.focus()}return!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&f.find(e).focus(),d.click();var h=a("[role=menu] li:not(.divider):visible a",f);if(h.length){var i=h.index(h.filter(":focus"));38==b.keyCode&&i>0&&i--,40==b.keyCode&&i ').appendTo(document.body),this.$element.on("click.dismiss.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),d&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;d?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()):b&&b()};var c=a.fn.modal;a.fn.modal=function(c,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},b.DEFAULTS,e.data(),"object"==typeof c&&c);f||e.data("bs.modal",f=new b(this,g)),"string"==typeof c?f[c](d):g.show&&f.show(d)})},a.fn.modal.Constructor=b,a.fn.modal.noConflict=function(){return a.fn.modal=c,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d=c.attr("href"),e=a(c.attr("data-target")||d&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("modal")?"toggle":a.extend({remote:!/#/.test(d)&&d},e.data(),c.data());b.preventDefault(),e.modal(f,this).one("hide",function(){c.is(":visible")&&c.focus()})}),a(document).on("show.bs.modal",".modal",function(){a(document.body).addClass("modal-open")}).on("hidden.bs.modal",".modal",function(){a(document.body).removeClass("modal-open")})}(jQuery),+function(a){"use strict";var b=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};b.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},b.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focus",i="hover"==g?"mouseleave":"blur";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},b.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},b.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show),void 0):c.show()},b.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide),void 0):c.hide()},b.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){if(this.$element.trigger(b),b.isDefaultPrevented())return;var c=this.tip();this.setContent(),this.options.animation&&c.addClass("fade");var d="function"==typeof this.options.placement?this.options.placement.call(this,c[0],this.$element[0]):this.options.placement,e=/\s?auto?\s?/i,f=e.test(d);f&&(d=d.replace(e,"")||"top"),c.detach().css({top:0,left:0,display:"block"}).addClass(d),this.options.container?c.appendTo(this.options.container):c.insertAfter(this.$element);var g=this.getPosition(),h=c[0].offsetWidth,i=c[0].offsetHeight;if(f){var j=this.$element.parent(),k=d,l=document.documentElement.scrollTop||document.body.scrollTop,m="body"==this.options.container?window.innerWidth:j.outerWidth(),n="body"==this.options.container?window.innerHeight:j.outerHeight(),o="body"==this.options.container?0:j.offset().left;d="bottom"==d&&g.top+g.height+i-l>n?"top":"top"==d&&g.top-l-i<0?"bottom":"right"==d&&g.right+h>m?"left":"left"==d&&g.left-h
'}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof c&&c;e||d.data("bs.popover",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(jQuery),+function(a){"use strict";function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(c).is("body")?a(window):a(c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process()}b.DEFAULTS={offset:10},b.prototype.refresh=function(){var b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);var c=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#\w/.test(e)&&a(e);return f&&f.length&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,d=c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(b>=d)return g!=(a=f.last()[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parents(".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(jQuery),+function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},b.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),f.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),"string"==typeof c&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(jQuery),+function(a){"use strict";var b=function(c,d){this.options=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=null,this.checkPosition()};b.RESET="affix affix-top affix-bottom",b.DEFAULTS={offset:0},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(this.$element.is(":visible")){var c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top()),"function"==typeof h&&(h=f.bottom());var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=c-h?"bottom":null!=g&&g>=d?"top":!1;this.affixed!==i&&(this.unpin&&this.$element.css("top",""),this.affixed=i,this.unpin="bottom"==i?e.top-d:null,this.$element.removeClass(b.RESET).addClass("affix"+(i?"-"+i:"")),"bottom"==i&&this.$element.offset({top:document.body.offsetHeight-h-this.$element.height()}))}};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof c&&c;e||d.data("bs.affix",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(jQuery);
\ No newline at end of file
diff --git a/0.5/js/highlight.pack.js b/0.5/js/highlight.pack.js
deleted file mode 100644
index 763f9c5..0000000
--- a/0.5/js/highlight.pack.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! highlight.js v9.13.1 | BSD3 License | git.io/hljslicense */
-!function(e){var n="object"==typeof window&&window||"object"==typeof self&&self;"undefined"!=typeof exports?e(exports):n&&(n.hljs=e({}),"function"==typeof define&&define.amd&&define([],function(){return n.hljs}))}(function(e){function n(e){return e.replace(/&/g,"&").replace(//g,">")}function t(e){return e.nodeName.toLowerCase()}function r(e,n){var t=e&&e.exec(n);return t&&0===t.index}function a(e){return k.test(e)}function i(e){var n,t,r,i,o=e.className+" ";if(o+=e.parentNode?e.parentNode.className:"",t=M.exec(o))return w(t[1])?t[1]:"no-highlight";for(o=o.split(/\s+/),n=0,r=o.length;r>n;n++)if(i=o[n],a(i)||w(i))return i}function o(e){var n,t={},r=Array.prototype.slice.call(arguments,1);for(n in e)t[n]=e[n];return r.forEach(function(e){for(n in e)t[n]=e[n]}),t}function c(e){var n=[];return function r(e,a){for(var i=e.firstChild;i;i=i.nextSibling)3===i.nodeType?a+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:a,node:i}),a=r(i,a),t(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:a,node:i}));return a}(e,0),n}function u(e,r,a){function i(){return e.length&&r.length?e[0].offset!==r[0].offset?e[0].offset
"}function c(e){l+=""+t(e)+">"}function u(e){("start"===e.event?o:c)(e.node)}for(var s=0,l="",f=[];e.length||r.length;){var g=i();if(l+=n(a.substring(s,g[0].offset)),s=g[0].offset,g===e){f.reverse().forEach(c);do u(g.splice(0,1)[0]),g=i();while(g===e&&g.length&&g[0].offset===s);f.reverse().forEach(o)}else"start"===g[0].event?f.push(g[0].node):f.pop(),u(g.splice(0,1)[0])}return l+n(a.substr(s))}function s(e){return e.v&&!e.cached_variants&&(e.cached_variants=e.v.map(function(n){return o(e,{v:null},n)})),e.cached_variants||e.eW&&[o(e)]||[e]}function l(e){function n(e){return e&&e.source||e}function t(t,r){return new RegExp(n(t),"m"+(e.cI?"i":"")+(r?"g":""))}function r(a,i){if(!a.compiled){if(a.compiled=!0,a.k=a.k||a.bK,a.k){var o={},c=function(n,t){e.cI&&(t=t.toLowerCase()),t.split(" ").forEach(function(e){var t=e.split("|");o[t[0]]=[n,t[1]?Number(t[1]):1]})};"string"==typeof a.k?c("keyword",a.k):B(a.k).forEach(function(e){c(e,a.k[e])}),a.k=o}a.lR=t(a.l||/\w+/,!0),i&&(a.bK&&(a.b="\\b("+a.bK.split(" ").join("|")+")\\b"),a.b||(a.b=/\B|\b/),a.bR=t(a.b),a.endSameAsBegin&&(a.e=a.b),a.e||a.eW||(a.e=/\B|\b/),a.e&&(a.eR=t(a.e)),a.tE=n(a.e)||"",a.eW&&i.tE&&(a.tE+=(a.e?"|":"")+i.tE)),a.i&&(a.iR=t(a.i)),null==a.r&&(a.r=1),a.c||(a.c=[]),a.c=Array.prototype.concat.apply([],a.c.map(function(e){return s("self"===e?a:e)})),a.c.forEach(function(e){r(e,a)}),a.starts&&r(a.starts,i);var u=a.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([a.tE,a.i]).map(n).filter(Boolean);a.t=u.length?t(u.join("|"),!0):{exec:function(){return null}}}}r(e)}function f(e,t,a,i){function o(e){return new RegExp(e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")}function c(e,n){var t,a;for(t=0,a=n.c.length;a>t;t++)if(r(n.c[t].bR,e))return n.c[t].endSameAsBegin&&(n.c[t].eR=o(n.c[t].bR.exec(e)[0])),n.c[t]}function u(e,n){if(r(e.eR,n)){for(;e.endsParent&&e.parent;)e=e.parent;return e}return e.eW?u(e.parent,n):void 0}function s(e,n){return!a&&r(n.iR,e)}function p(e,n){var t=R.cI?n[0].toLowerCase():n[0];return e.k.hasOwnProperty(t)&&e.k[t]}function d(e,n,t,r){var a=r?"":j.classPrefix,i='',i+n+o}function h(){var e,t,r,a;if(!E.k)return n(k);for(a="",t=0,E.lR.lastIndex=0,r=E.lR.exec(k);r;)a+=n(k.substring(t,r.index)),e=p(E,r),e?(M+=e[1],a+=d(e[0],n(r[0]))):a+=n(r[0]),t=E.lR.lastIndex,r=E.lR.exec(k);return a+n(k.substr(t))}function b(){var e="string"==typeof E.sL;if(e&&!L[E.sL])return n(k);var t=e?f(E.sL,k,!0,B[E.sL]):g(k,E.sL.length?E.sL:void 0);return E.r>0&&(M+=t.r),e&&(B[E.sL]=t.top),d(t.language,t.value,!1,!0)}function v(){y+=null!=E.sL?b():h(),k=""}function m(e){y+=e.cN?d(e.cN,"",!0):"",E=Object.create(e,{parent:{value:E}})}function N(e,n){if(k+=e,null==n)return v(),0;var t=c(n,E);if(t)return t.skip?k+=n:(t.eB&&(k+=n),v(),t.rB||t.eB||(k=n)),m(t,n),t.rB?0:n.length;var r=u(E,n);if(r){var a=E;a.skip?k+=n:(a.rE||a.eE||(k+=n),v(),a.eE&&(k=n));do E.cN&&(y+=I),E.skip||E.sL||(M+=E.r),E=E.parent;while(E!==r.parent);return r.starts&&(r.endSameAsBegin&&(r.starts.eR=r.eR),m(r.starts,"")),a.rE?0:n.length}if(s(n,E))throw new Error('Illegal lexeme "'+n+'" for mode "'+(E.cN||"")+'"');return k+=n,n.length||1}var R=w(e);if(!R)throw new Error('Unknown language: "'+e+'"');l(R);var x,E=i||R,B={},y="";for(x=E;x!==R;x=x.parent)x.cN&&(y=d(x.cN,"",!0)+y);var k="",M=0;try{for(var C,A,S=0;;){if(E.t.lastIndex=S,C=E.t.exec(t),!C)break;A=N(t.substring(S,C.index),C[0]),S=C.index+A}for(N(t.substr(S)),x=E;x.parent;x=x.parent)x.cN&&(y+=I);return{r:M,value:y,language:e,top:E}}catch(O){if(O.message&&-1!==O.message.indexOf("Illegal"))return{r:0,value:n(t)};throw O}}function g(e,t){t=t||j.languages||B(L);var r={r:0,value:n(e)},a=r;return t.filter(w).filter(x).forEach(function(n){var t=f(n,e,!1);t.language=n,t.r>a.r&&(a=t),t.r>r.r&&(a=r,r=t)}),a.language&&(r.second_best=a),r}function p(e){return j.tabReplace||j.useBR?e.replace(C,function(e,n){return j.useBR&&"\n"===e?" ":j.tabReplace?n.replace(/\t/g,j.tabReplace):""}):e}function d(e,n,t){var r=n?y[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),-1===e.indexOf(r)&&a.push(r),a.join(" ").trim()}function h(e){var n,t,r,o,s,l=i(e);a(l)||(j.useBR?(n=document.createElementNS("http://www.w3.org/1999/xhtml","div"),n.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/ /g,"\n")):n=e,s=n.textContent,r=l?f(l,s,!0):g(s),t=c(n),t.length&&(o=document.createElementNS("http://www.w3.org/1999/xhtml","div"),o.innerHTML=r.value,r.value=u(t,c(o),s)),r.value=p(r.value),e.innerHTML=r.value,e.className=d(e.className,l,r.language),e.result={language:r.language,re:r.r},r.second_best&&(e.second_best={language:r.second_best.language,re:r.second_best.r}))}function b(e){j=o(j,e)}function v(){if(!v.called){v.called=!0;var e=document.querySelectorAll("pre code");E.forEach.call(e,h)}}function m(){addEventListener("DOMContentLoaded",v,!1),addEventListener("load",v,!1)}function N(n,t){var r=L[n]=t(e);r.aliases&&r.aliases.forEach(function(e){y[e]=n})}function R(){return B(L)}function w(e){return e=(e||"").toLowerCase(),L[e]||L[y[e]]}function x(e){var n=w(e);return n&&!n.disableAutodetect}var E=[],B=Object.keys,L={},y={},k=/^(no-?highlight|plain|text)$/i,M=/\blang(?:uage)?-([\w-]+)\b/i,C=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,I=" ",j={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0};return e.highlight=f,e.highlightAuto=g,e.fixMarkup=p,e.highlightBlock=h,e.configure=b,e.initHighlighting=v,e.initHighlightingOnLoad=m,e.registerLanguage=N,e.listLanguages=R,e.getLanguage=w,e.autoDetection=x,e.inherit=o,e.IR="[a-zA-Z]\\w*",e.UIR="[a-zA-Z_]\\w*",e.NR="\\b\\d+(\\.\\d+)?",e.CNR="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BNR="\\b(0b[01]+)",e.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BE={b:"\\\\[\\s\\S]",r:0},e.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[e.BE]},e.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[e.BE]},e.PWM={b:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},e.C=function(n,t,r){var a=e.inherit({cN:"comment",b:n,e:t,c:[]},r||{});return a.c.push(e.PWM),a.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),a},e.CLCM=e.C("//","$"),e.CBCM=e.C("/\\*","\\*/"),e.HCM=e.C("#","$"),e.NM={cN:"number",b:e.NR,r:0},e.CNM={cN:"number",b:e.CNR,r:0},e.BNM={cN:"number",b:e.BNR,r:0},e.CSSNM={cN:"number",b:e.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},e.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[e.BE,{b:/\[/,e:/\]/,r:0,c:[e.BE]}]},e.TM={cN:"title",b:e.IR,r:0},e.UTM={cN:"title",b:e.UIR,r:0},e.METHOD_GUARD={b:"\\.\\s*"+e.UIR,r:0},e});hljs.registerLanguage("objectivec",function(e){var t={cN:"built_in",b:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},_={keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},i=/[a-zA-Z@][a-zA-Z0-9_]*/,n="@interface @class @protocol @implementation";return{aliases:["mm","objc","obj-c"],k:_,l:i,i:"",c:[t,e.CLCM,e.CBCM,e.CNM,e.QSM,{cN:"string",v:[{b:'@"',e:'"',i:"\\n",c:[e.BE]},{b:"'",e:"[^\\\\]'",i:"[^\\\\][^']"}]},{cN:"meta",b:"#",e:"$",c:[{cN:"meta-string",v:[{b:'"',e:'"'},{b:"<",e:">"}]}]},{cN:"class",b:"("+n.split(" ").join("|")+")\\b",e:"({|$)",eE:!0,k:n,l:i,c:[e.UTM]},{b:"\\."+e.UIR,r:0}]}});hljs.registerLanguage("sql",function(e){var t=e.C("--","$");return{cI:!0,i:/[<>{}*]/,c:[{bK:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment with",e:/;/,eW:!0,l:/[\w\.]+/,k:{keyword:"as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias allocate allow alter always analyze ancillary and any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second section securefile security seed segment select self sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null unknown",built_in:"array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp varchar varying void"},c:[{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]},{cN:"string",b:'"',e:'"',c:[e.BE,{b:'""'}]},{cN:"string",b:"`",e:"`",c:[e.BE]},e.CNM,e.CBCM,t,e.HCM]},e.CBCM,t,e.HCM]}});hljs.registerLanguage("ruby",function(e){var b="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",r={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},c={cN:"doctag",b:"@[A-Za-z]+"},a={b:"#<",e:">"},s=[e.C("#","$",{c:[c]}),e.C("^\\=begin","^\\=end",{c:[c],r:10}),e.C("^__END__","\\n$")],n={cN:"subst",b:"#\\{",e:"}",k:r},t={cN:"string",c:[e.BE,n],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/`/,e:/`/},{b:"%[qQwWx]?\\(",e:"\\)"},{b:"%[qQwWx]?\\[",e:"\\]"},{b:"%[qQwWx]?{",e:"}"},{b:"%[qQwWx]?<",e:">"},{b:"%[qQwWx]?/",e:"/"},{b:"%[qQwWx]?%",e:"%"},{b:"%[qQwWx]?-",e:"-"},{b:"%[qQwWx]?\\|",e:"\\|"},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{b:/<<(-?)\w+$/,e:/^\s*\w+$/}]},i={cN:"params",b:"\\(",e:"\\)",endsParent:!0,k:r},d=[t,a,{cN:"class",bK:"class module",e:"$|;",i:/=/,c:[e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{b:"<\\s*",c:[{b:"("+e.IR+"::)?"+e.IR}]}].concat(s)},{cN:"function",bK:"def",e:"$|;",c:[e.inherit(e.TM,{b:b}),i].concat(s)},{b:e.IR+"::"},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",r:0},{cN:"symbol",b:":(?!\\s)",c:[t,{b:b}],r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{cN:"params",b:/\|/,e:/\|/,k:r},{b:"("+e.RSR+"|unless)\\s*",k:"unless",c:[a,{cN:"regexp",c:[e.BE,n],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}].concat(s),r:0}].concat(s);n.c=d,i.c=d;var l="[>?]>",o="[\\w#]+\\(\\w+\\):\\d+:\\d+>",u="(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>",w=[{b:/^\s*=>/,starts:{e:"$",c:d}},{cN:"meta",b:"^("+l+"|"+o+"|"+u+")",starts:{e:"$",c:d}}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:r,i:/\/\*/,c:s.concat(w).concat(d)}});hljs.registerLanguage("yaml",function(e){var b="true false yes no null",a="^[ \\-]*",r="[a-zA-Z_][\\w\\-]*",t={cN:"attr",v:[{b:a+r+":"},{b:a+'"'+r+'":'},{b:a+"'"+r+"':"}]},c={cN:"template-variable",v:[{b:"{{",e:"}}"},{b:"%{",e:"}"}]},l={cN:"string",r:0,v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/\S+/}],c:[e.BE,c]};return{cI:!0,aliases:["yml","YAML","yaml"],c:[t,{cN:"meta",b:"^---s*$",r:10},{cN:"string",b:"[\\|>] *$",rE:!0,c:l.c,e:t.v[0].b},{b:"<%[%=-]?",e:"[%-]?%>",sL:"ruby",eB:!0,eE:!0,r:0},{cN:"type",b:"!"+e.UIR},{cN:"type",b:"!!"+e.UIR},{cN:"meta",b:"&"+e.UIR+"$"},{cN:"meta",b:"\\*"+e.UIR+"$"},{cN:"bullet",b:"^ *-",r:0},e.HCM,{bK:b,k:{literal:b}},e.CNM,l]}});hljs.registerLanguage("xml",function(s){var e="[A-Za-z0-9\\._:-]+",t={eW:!0,i:/,r:0,c:[{cN:"attr",b:e,r:0},{b:/=\s*/,r:0,c:[{cN:"string",endsParent:!0,v:[{b:/"/,e:/"/},{b:/'/,e:/'/},{b:/[^\s"'=<>`]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist"],cI:!0,c:[{cN:"meta",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},s.C("",{r:10}),{b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"meta",b:/<\?xml/,e:/\?>/,r:10},{b:/<\?(php)?/,e:/\?>/,sL:"php",c:[{b:"/\\*",e:"\\*/",skip:!0},{b:'b"',e:'"',skip:!0},{b:"b'",e:"'",skip:!0},s.inherit(s.ASM,{i:null,cN:null,c:null,skip:!0}),s.inherit(s.QSM,{i:null,cN:null,c:null,skip:!0})]},{cN:"tag",b:"",rE:!0,sL:["css","xml"]}},{cN:"tag",b:"",rE:!0,sL:["actionscript","javascript","handlebars","xml"]}},{cN:"tag",b:"?",e:"/?>",c:[{cN:"name",b:/[^\/><\s]+/,r:0},t]}]}});hljs.registerLanguage("markdown",function(e){return{aliases:["md","mkdown","mkd"],c:[{cN:"section",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"quote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"^```w*s*$",e:"^```s*$"},{b:"`.+?`"},{b:"^( {4}| )",e:"$",r:0}]},{b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].*?[\\)\\]]",rB:!0,c:[{cN:"string",b:"\\[",e:"\\]",eB:!0,rE:!0,r:0},{cN:"link",b:"\\]\\(",e:"\\)",eB:!0,eE:!0},{cN:"symbol",b:"\\]\\[",e:"\\]",eB:!0,eE:!0}],r:10},{b:/^\[[^\n]+\]:/,rB:!0,c:[{cN:"symbol",b:/\[/,e:/\]/,eB:!0,eE:!0},{cN:"link",b:/:\s*/,e:/$/,eB:!0}]}]}});hljs.registerLanguage("perl",function(e){var t="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when",r={cN:"subst",b:"[$@]\\{",e:"\\}",k:t},s={b:"->{",e:"}"},n={v:[{b:/\$\d/},{b:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{b:/[\$%@][^\s\w{]/,r:0}]},i=[e.BE,r,n],o=[n,e.HCM,e.C("^\\=\\w","\\=cut",{eW:!0}),s,{cN:"string",c:i,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[e.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[e.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+e.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[e.HCM,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[e.BE],r:0}]},{cN:"function",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",eE:!0,r:5,c:[e.TM]},{b:"-\\w\\b",r:0},{b:"^__DATA__$",e:"^__END__$",sL:"mojolicious",c:[{b:"^@@.*",e:"$",cN:"comment"}]}];return r.c=o,s.c=o,{aliases:["pl","pm"],l:/[\w\.]+/,k:t,c:o}});hljs.registerLanguage("java",function(e){var a="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",t=a+"(<"+a+"(\\s*,\\s*"+a+")*>)?",r="false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",s="\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",c={cN:"number",b:s,r:0};return{aliases:["jsp"],k:r,i:/<\/|#/,c:[e.C("/\\*\\*","\\*/",{r:0,c:[{b:/\w+@/,r:0},{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"class",bK:"class interface",e:/[{;=]/,eE:!0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"new throw return else",r:0},{cN:"function",b:"("+t+"\\s+)+"+e.UIR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:r,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,k:r,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},c,{cN:"meta",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("bash",function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},s={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]},a={cN:"string",b:/'/,e:/'/};return{aliases:["sh","zsh"],l:/\b-?[a-z\._]+\b/,k:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"meta",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,s,a,t]}});hljs.registerLanguage("shell",function(s){return{aliases:["console"],c:[{cN:"meta",b:"^\\s{0,3}[\\w\\d\\[\\]()@-]*[>%$#]",starts:{e:"$",sL:"bash"}}]}});hljs.registerLanguage("swift",function(e){var i={keyword:"#available #colorLiteral #column #else #elseif #endif #file #fileLiteral #function #if #imageLiteral #line #selector #sourceLocation _ __COLUMN__ __FILE__ __FUNCTION__ __LINE__ Any as as! as? associatedtype associativity break case catch class continue convenience default defer deinit didSet do dynamic dynamicType else enum extension fallthrough false fileprivate final for func get guard if import in indirect infix init inout internal is lazy left let mutating nil none nonmutating open operator optional override postfix precedence prefix private protocol Protocol public repeat required rethrows return right self Self set static struct subscript super switch throw throws true try try! try? Type typealias unowned var weak where while willSet",literal:"true false nil",built_in:"abs advance alignof alignofValue anyGenerator assert assertionFailure bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal fatalError filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare map max maxElement min minElement numericCast overlaps partition posix precondition preconditionFailure print println quickSort readLine reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith stride strideof strideofValue swap toString transcode underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers withUnsafePointer withUnsafePointers withVaList zip"},t={cN:"type",b:"\\b[A-Z][\\wÀ-ʸ']*",r:0},n=e.C("/\\*","\\*/",{c:["self"]}),r={cN:"subst",b:/\\\(/,e:"\\)",k:i,c:[]},a={cN:"string",c:[e.BE,r],v:[{b:/"""/,e:/"""/},{b:/"/,e:/"/}]},o={cN:"number",b:"\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",r:0};return r.c=[o],{k:i,c:[a,e.CLCM,n,t,o,{cN:"function",bK:"func",e:"{",eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{b:/,e:/>/},{cN:"params",b:/\(/,e:/\)/,endsParent:!0,k:i,c:["self",o,a,e.CBCM,{b:":"}],i:/["']/}],i:/\[|%/},{cN:"class",bK:"struct protocol class extension enum",k:i,e:"\\{",eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/})]},{cN:"meta",b:"(@discardableResult|@warn_unused_result|@exported|@lazy|@noescape|@NSCopying|@NSManaged|@objc|@objcMembers|@convention|@required|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix|@autoclosure|@testable|@available|@nonobjc|@NSApplicationMain|@UIApplicationMain)"},{bK:"import",e:/$/,c:[e.CLCM,n]}]}});hljs.registerLanguage("json",function(e){var i={literal:"true false null"},n=[e.QSM,e.CNM],r={e:",",eW:!0,eE:!0,c:n,k:i},t={b:"{",e:"}",c:[{cN:"attr",b:/"/,e:/"/,c:[e.BE],i:"\\n"},e.inherit(r,{b:/:/})],i:"\\S"},c={b:"\\[",e:"\\]",c:[e.inherit(r)],i:"\\S"};return n.splice(n.length,0,t,c),{c:n,k:i,i:"\\S"}});hljs.registerLanguage("nginx",function(e){var r={cN:"variable",v:[{b:/\$\d+/},{b:/\$\{/,e:/}/},{b:"[\\$\\@]"+e.UIR}]},b={eW:!0,l:"[a-z/_]+",k:{literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},r:0,i:"=>",c:[e.HCM,{cN:"string",c:[e.BE,r],v:[{b:/"/,e:/"/},{b:/'/,e:/'/}]},{b:"([a-z]+):/",e:"\\s",eW:!0,eE:!0,c:[r]},{cN:"regexp",c:[e.BE,r],v:[{b:"\\s\\^",e:"\\s|{|;",rE:!0},{b:"~\\*?\\s+",e:"\\s|{|;",rE:!0},{b:"\\*(\\.[a-z\\-]+)+"},{b:"([a-z\\-]+\\.)+\\*"}]},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0},r]};return{aliases:["nginxconf"],c:[e.HCM,{b:e.UIR+"\\s+{",rB:!0,e:"{",c:[{cN:"section",b:e.UIR}],r:0},{b:e.UIR+"\\s",e:";|{",rB:!0,c:[{cN:"attribute",b:e.UIR,starts:b}],r:0}],i:"[^\\s\\}]"}});hljs.registerLanguage("ini",function(e){var b={cN:"string",c:[e.BE],v:[{b:"'''",e:"'''",r:10},{b:'"""',e:'"""',r:10},{b:'"',e:'"'},{b:"'",e:"'"}]};return{aliases:["toml"],cI:!0,i:/\S/,c:[e.C(";","$"),e.HCM,{cN:"section",b:/^\s*\[+/,e:/\]+/},{b:/^[a-z0-9\[\]_-]+\s*=\s*/,e:"$",rB:!0,c:[{cN:"attr",b:/[a-z0-9\[\]_-]+/},{b:/=/,eW:!0,r:0,c:[{cN:"literal",b:/\bon|off|true|false|yes|no\b/},{cN:"variable",v:[{b:/\$[\w\d"][\w\d_]*/},{b:/\$\{(.*?)}/}]},b,{cN:"number",b:/([\+\-]+)?[\d]+_[\d_]+/},e.NM]}]}]}});hljs.registerLanguage("http",function(e){var t="HTTP/[0-9\\.]+";return{aliases:["https"],i:"\\S",c:[{b:"^"+t,e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{b:"^[A-Z]+ (.*?) "+t+"$",rB:!0,e:"$",c:[{cN:"string",b:" ",e:" ",eB:!0,eE:!0},{b:t},{cN:"keyword",b:"[A-Z]+"}]},{cN:"attribute",b:"^\\w",e:": ",eE:!0,i:"\\n|\\s|=",starts:{e:"$",r:0}},{b:"\\n\\n",starts:{sL:[],eW:!0}}]}});hljs.registerLanguage("css",function(e){var c="[a-zA-Z-][a-zA-Z0-9_-]*",t={b:/[A-Z\_\.\-]+\s*:/,rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:/\S/,e:":",eE:!0,starts:{eW:!0,eE:!0,c:[{b:/[\w-]+\(/,rB:!0,c:[{cN:"built_in",b:/[\w-]+/},{b:/\(/,e:/\)/,c:[e.ASM,e.QSM]}]},e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"number",b:"#[0-9A-Fa-f]+"},{cN:"meta",b:"!important"}]}}]};return{cI:!0,i:/[=\/|'\$]/,c:[e.CBCM,{cN:"selector-id",b:/#[A-Za-z0-9_-]+/},{cN:"selector-class",b:/\.[A-Za-z0-9_-]+/},{cN:"selector-attr",b:/\[/,e:/\]/,i:"$"},{cN:"selector-pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{b:"@",e:"[{;]",i:/:/,c:[{cN:"keyword",b:/\w+/},{b:/\s/,eW:!0,eE:!0,r:0,c:[e.ASM,e.QSM,e.CSSNM]}]},{cN:"selector-tag",b:c,r:0},{b:"{",e:"}",i:/\S/,c:[e.CBCM,t]}]}});hljs.registerLanguage("javascript",function(e){var r="[A-Za-z$_][0-9A-Za-z$_]*",t={keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},a={cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},n={cN:"subst",b:"\\$\\{",e:"\\}",k:t,c:[]},c={cN:"string",b:"`",e:"`",c:[e.BE,n]};n.c=[e.ASM,e.QSM,c,a,e.RM];var s=n.c.concat([e.CBCM,e.CLCM]);return{aliases:["js","jsx"],k:t,c:[{cN:"meta",r:10,b:/^\s*['"]use (strict|asm)['"]/},{cN:"meta",b:/^#!/,e:/$/},e.ASM,e.QSM,c,e.CLCM,e.CBCM,a,{b:/[{,]\s*/,r:0,c:[{b:r+"\\s*:",rB:!0,r:0,c:[{cN:"attr",b:r,r:0}]}]},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{cN:"function",b:"(\\(.*?\\)|"+r+")\\s*=>",rB:!0,e:"\\s*=>",c:[{cN:"params",v:[{b:r},{b:/\(\s*\)/},{b:/\(/,e:/\)/,eB:!0,eE:!0,k:t,c:s}]}]},{b:/,e:/(\/\w+|\w+\/)>/,sL:"xml",c:[{b:/<\w+\s*\/>/,skip:!0},{b:/<\w+/,e:/(\/\w+|\w+\/)>/,skip:!0,c:[{b:/<\w+\s*\/>/,skip:!0},"self"]}]}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:r}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,c:s}],i:/\[|%/},{b:/\$[(.]/},e.METHOD_GUARD,{cN:"class",bK:"class",e:/[{;=]/,eE:!0,i:/[:"\[\]]/,c:[{bK:"extends"},e.UTM]},{bK:"constructor",e:/\{/,eE:!0}],i:/#(?!!)/}});hljs.registerLanguage("makefile",function(e){var i={cN:"variable",v:[{b:"\\$\\("+e.UIR+"\\)",c:[e.BE]},{b:/\$[@%\^\+\*]/}]},r={cN:"string",b:/"/,e:/"/,c:[e.BE,i]},a={cN:"variable",b:/\$\([\w-]+\s/,e:/\)/,k:{built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"},c:[i]},n={b:"^"+e.UIR+"\\s*[:+?]?=",i:"\\n",rB:!0,c:[{b:"^"+e.UIR,e:"[:+?]?=",eE:!0}]},t={cN:"meta",b:/^\.PHONY:/,e:/$/,k:{"meta-keyword":".PHONY"},l:/[\.\w]+/},l={cN:"section",b:/^[^\s]+:/,e:/$/,c:[i]};return{aliases:["mk","mak"],k:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath",l:/[\w-]+/,c:[e.HCM,i,r,a,n,t,l]}});hljs.registerLanguage("cs",function(e){var i={keyword:"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long nameof object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let on orderby partial remove select set value var where yield",literal:"null false true"},r={cN:"number",v:[{b:"\\b(0b[01']+)"},{b:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{b:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],r:0},t={cN:"string",b:'@"',e:'"',c:[{b:'""'}]},a=e.inherit(t,{i:/\n/}),c={cN:"subst",b:"{",e:"}",k:i},n=e.inherit(c,{i:/\n/}),s={cN:"string",b:/\$"/,e:'"',i:/\n/,c:[{b:"{{"},{b:"}}"},e.BE,n]},b={cN:"string",b:/\$@"/,e:'"',c:[{b:"{{"},{b:"}}"},{b:'""'},c]},l=e.inherit(b,{i:/\n/,c:[{b:"{{"},{b:"}}"},{b:'""'},n]});c.c=[b,s,t,e.ASM,e.QSM,r,e.CBCM],n.c=[l,s,a,e.ASM,e.QSM,r,e.inherit(e.CBCM,{i:/\n/})];var o={v:[b,s,t,e.ASM,e.QSM]},d=e.IR+"(<"+e.IR+"(\\s*,\\s*"+e.IR+")*>)?(\\[\\])?";return{aliases:["csharp"],k:i,i:/::/,c:[e.C("///","$",{rB:!0,c:[{cN:"doctag",v:[{b:"///",r:0},{b:""},{b:"?",e:">"}]}]}),e.CLCM,e.CBCM,{cN:"meta",b:"#",e:"$",k:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},o,r,{bK:"class interface",e:/[{;=]/,i:/[^\s:,]/,c:[e.TM,e.CLCM,e.CBCM]},{bK:"namespace",e:/[{;=]/,i:/[^\s:]/,c:[e.inherit(e.TM,{b:"[a-zA-Z](\\.?\\w)*"}),e.CLCM,e.CBCM]},{cN:"meta",b:"^\\s*\\[",eB:!0,e:"\\]",eE:!0,c:[{cN:"meta-string",b:/"/,e:/"/}]},{bK:"new return throw await else",r:0},{cN:"function",b:"("+d+"\\s+)+"+e.IR+"\\s*\\(",rB:!0,e:/\s*[{;=]/,eE:!0,k:i,c:[{b:e.IR+"\\s*\\(",rB:!0,c:[e.TM],r:0},{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:i,r:0,c:[o,r,e.CBCM]},e.CLCM,e.CBCM]}]}});hljs.registerLanguage("coffeescript",function(e){var c={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super yield import export from as default await then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off",built_in:"npm require console print module global window document"},n="[A-Za-z$_][0-9A-Za-z$_]*",r={cN:"subst",b:/#\{/,e:/}/,k:c},i=[e.BNM,e.inherit(e.CNM,{starts:{e:"(\\s*/)?",r:0}}),{cN:"string",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/"""/,e:/"""/,c:[e.BE,r]},{b:/"/,e:/"/,c:[e.BE,r]}]},{cN:"regexp",v:[{b:"///",e:"///",c:[r,e.HCM]},{b:"//[gim]*",r:0},{b:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{b:"@"+n},{sL:"javascript",eB:!0,eE:!0,v:[{b:"```",e:"```"},{b:"`",e:"`"}]}];r.c=i;var s=e.inherit(e.TM,{b:n}),t="(\\(.*\\))?\\s*\\B[-=]>",o={cN:"params",b:"\\([^\\(]",rB:!0,c:[{b:/\(/,e:/\)/,k:c,c:["self"].concat(i)}]};return{aliases:["coffee","cson","iced"],k:c,i:/\/\*/,c:i.concat([e.C("###","###"),e.HCM,{cN:"function",b:"^\\s*"+n+"\\s*=\\s*"+t,e:"[-=]>",rB:!0,c:[s,o]},{b:/[:\(,=]\s*/,r:0,c:[{cN:"function",b:t,e:"[-=]>",rB:!0,c:[o]}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:!0,i:/[:="\[\]]/,c:[s]},s]},{b:n+":",e:":",rB:!0,rE:!0,r:0}])}});hljs.registerLanguage("go",function(e){var t={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",literal:"true false iota nil",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{aliases:["golang"],k:t,i:"",c:[e.CLCM,e.CBCM,{cN:"string",v:[e.QSM,{b:"'",e:"[^\\\\]'"},{b:"`",e:"`"}]},{cN:"number",v:[{b:e.CNR+"[dflsi]",r:1},e.CNM]},{b:/:=/},{cN:"function",bK:"func",e:/\s*\{/,eE:!0,c:[e.TM,{cN:"params",b:/\(/,e:/\)/,k:t,i:/["']/}]}]}});hljs.registerLanguage("php",function(e){var c={b:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},i={cN:"meta",b:/<\?(php)?|\?>/},t={cN:"string",c:[e.BE,i],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},a={v:[e.BNM,e.CNM]};return{aliases:["php","php3","php4","php5","php6","php7"],cI:!0,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",c:[e.HCM,e.C("//","$",{c:[i]}),e.C("/\\*","\\*/",{c:[{cN:"doctag",b:"@[A-Za-z]+"}]}),e.C("__halt_compiler.+?;",!1,{eW:!0,k:"__halt_compiler",l:e.UIR}),{cN:"string",b:/<<<['"]?\w+['"]?$/,e:/^\w+;?$/,c:[e.BE,{cN:"subst",v:[{b:/\$\w+/},{b:/\{\$/,e:/\}/}]}]},i,{cN:"keyword",b:/\$this\b/},c,{b:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{cN:"function",bK:"function",e:/[;{]/,eE:!0,i:"\\$|\\[|%",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",c,e.CBCM,t,a]}]},{cN:"class",bK:"class interface",e:"{",eE:!0,i:/[:\(\$"]/,c:[{bK:"extends implements"},e.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[e.UTM]},{bK:"use",e:";",c:[e.UTM]},{b:"=>"},t,a]}});hljs.registerLanguage("cpp",function(t){var e={cN:"keyword",b:"\\b[a-z\\d_]*_t\\b"},r={cN:"string",v:[{b:'(u8?|U|L)?"',e:'"',i:"\\n",c:[t.BE]},{b:'(u8?|U|L)?R"\\(',e:'\\)"'},{b:"'\\\\?.",e:"'",i:"."}]},s={cN:"number",v:[{b:"\\b(0b[01']+)"},{b:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{b:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],r:0},i={cN:"meta",b:/#\s*[a-z]+\b/,e:/$/,k:{"meta-keyword":"if else elif endif define undef warning error line pragma ifdef ifndef include"},c:[{b:/\\\n/,r:0},t.inherit(r,{cN:"meta-string"}),{cN:"meta-string",b:/<[^\n>]*>/,e:/$/,i:"\\n"},t.CLCM,t.CBCM]},a=t.IR+"\\s*\\(",c={keyword:"int float while private char catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignof constexpr decltype noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and or not",built_in:"std string cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr",literal:"true false nullptr NULL"},n=[e,t.CLCM,t.CBCM,s,r];return{aliases:["c","cc","h","c++","h++","hpp"],k:c,i:"",c:n.concat([i,{b:"\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",e:">",k:c,c:["self",e]},{b:t.IR+"::",k:c},{v:[{b:/=/,e:/;/},{b:/\(/,e:/\)/},{bK:"new throw return else",e:/;/}],k:c,c:n.concat([{b:/\(/,e:/\)/,k:c,c:n.concat(["self"]),r:0}]),r:0},{cN:"function",b:"("+t.IR+"[\\*&\\s]+)+"+a,rB:!0,e:/[{;=]/,eE:!0,k:c,i:/[^\w\s\*&]/,c:[{b:a,rB:!0,c:[t.TM],r:0},{cN:"params",b:/\(/,e:/\)/,k:c,r:0,c:[t.CLCM,t.CBCM,r,s,e,{b:/\(/,e:/\)/,k:c,r:0,c:["self",t.CLCM,t.CBCM,r,s,e]}]},t.CLCM,t.CBCM,i]},{cN:"class",bK:"class struct",e:/[{;:]/,c:[{b:/,e:/>/,c:["self"]},t.TM]}]),exports:{preprocessor:i,strings:r,k:c}}});hljs.registerLanguage("properties",function(r){var t="[ \\t\\f]*",e="[ \\t\\f]+",s="("+t+"[:=]"+t+"|"+e+")",n="([^\\\\\\W:= \\t\\f\\n]|\\\\.)+",a="([^\\\\:= \\t\\f\\n]|\\\\.)+",c={e:s,r:0,starts:{cN:"string",e:/$/,r:0,c:[{b:"\\\\\\n"}]}};return{cI:!0,i:/\S/,c:[r.C("^\\s*[!#]","$"),{b:n+s,rB:!0,c:[{cN:"attr",b:n,endsParent:!0,r:0}],starts:c},{b:a+s,rB:!0,r:0,c:[{cN:"meta",b:a,endsParent:!0,r:0}],starts:c},{cN:"attr",r:0,b:a+t+"$"}]}});hljs.registerLanguage("diff",function(e){return{aliases:["patch"],c:[{cN:"meta",r:10,v:[{b:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{b:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{b:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{cN:"comment",v:[{b:/Index: /,e:/$/},{b:/={3,}/,e:/$/},{b:/^\-{3}/,e:/$/},{b:/^\*{3} /,e:/$/},{b:/^\+{3}/,e:/$/},{b:/\*{5}/,e:/\*{5}$/}]},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"addition",b:"^\\!",e:"$"}]}});hljs.registerLanguage("apache",function(e){var r={cN:"number",b:"[\\$%]\\d+"};return{aliases:["apacheconf"],cI:!0,c:[e.HCM,{cN:"section",b:"?",e:">"},{cN:"attribute",b:/\w+/,r:0,k:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{e:/$/,r:0,k:{literal:"on off all"},c:[{cN:"meta",b:"\\s\\[",e:"\\]$"},{cN:"variable",b:"[\\$%]\\{",e:"\\}",c:["self",r]},r,e.QSM]}}],i:/\S/}});hljs.registerLanguage("rust",function(e){var t="([ui](8|16|32|64|128|size)|f(32|64))?",r="alignof as be box break const continue crate do else enum extern false fn for if impl in let loop match mod mut offsetof once priv proc pub pure ref return self Self sizeof static struct super trait true type typeof unsafe unsized use virtual while where yield move default",n="drop i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize f32 f64 str char bool Box Option Result String Vec Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator Extend IntoIterator DoubleEndedIterator ExactSizeIterator SliceConcatExt ToString assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!";return{aliases:["rs"],k:{keyword:r,literal:"true false Some None Ok Err",built_in:n},l:e.IR+"!?",i:"",c:[e.CLCM,e.C("/\\*","\\*/",{c:["self"]}),e.inherit(e.QSM,{b:/b?"/,i:null}),{cN:"string",v:[{b:/r(#*)"(.|\n)*?"\1(?!#)/},{b:/b?'\\?(x\w{2}|u\w{4}|U\w{8}|.)'/}]},{cN:"symbol",b:/'[a-zA-Z_][a-zA-Z0-9_]*/},{cN:"number",v:[{b:"\\b0b([01_]+)"+t},{b:"\\b0o([0-7_]+)"+t},{b:"\\b0x([A-Fa-f0-9_]+)"+t},{b:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+t}],r:0},{cN:"function",bK:"fn",e:"(\\(|<)",eE:!0,c:[e.UTM]},{cN:"meta",b:"#\\!?\\[",e:"\\]",c:[{cN:"meta-string",b:/"/,e:/"/}]},{cN:"class",bK:"type",e:";",c:[e.inherit(e.UTM,{endsParent:!0})],i:"\\S"},{cN:"class",bK:"trait enum struct union",e:"{",c:[e.inherit(e.UTM,{endsParent:!0})],i:"[\\w\\d]"},{b:e.IR+"::",k:{built_in:n}},{b:"->"}]}});hljs.registerLanguage("tex",function(c){var e={cN:"tag",b:/\\/,r:0,c:[{cN:"name",v:[{b:/[a-zA-Zа-яА-я]+[*]?/},{b:/[^a-zA-Zа-яА-я0-9]/}],starts:{eW:!0,r:0,c:[{cN:"string",v:[{b:/\[/,e:/\]/},{b:/\{/,e:/\}/}]},{b:/\s*=\s*/,eW:!0,r:0,c:[{cN:"number",b:/-?\d*\.?\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?/}]}]}}]};return{c:[e,{cN:"formula",c:[e],r:0,v:[{b:/\$\$/,e:/\$\$/},{b:/\$/,e:/\$/}]},c.C("%","$",{r:0})]}});hljs.registerLanguage("r",function(e){var r="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{c:[e.HCM,{b:r,l:r,k:{keyword:"function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},r:0},{cN:"number",b:"0[xX][0-9a-fA-F]+[Li]?\\b",r:0},{cN:"number",b:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",r:0},{cN:"number",b:"\\d+\\.(?!\\d)(?:i\\b)?",r:0},{cN:"number",b:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{cN:"number",b:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{b:"`",e:"`",r:0},{cN:"string",c:[e.BE],v:[{b:'"',e:'"'},{b:"'",e:"'"}]}]}});hljs.registerLanguage("python",function(e){var r={keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10 None True False",built_in:"Ellipsis NotImplemented"},b={cN:"meta",b:/^(>>>|\.\.\.) /},c={cN:"subst",b:/\{/,e:/\}/,k:r,i:/#/},a={cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[e.BE,b],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[e.BE,b],r:10},{b:/(fr|rf|f)'''/,e:/'''/,c:[e.BE,b,c]},{b:/(fr|rf|f)"""/,e:/"""/,c:[e.BE,b,c]},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},{b:/(fr|rf|f)'/,e:/'/,c:[e.BE,c]},{b:/(fr|rf|f)"/,e:/"/,c:[e.BE,c]},e.ASM,e.QSM]},s={cN:"number",r:0,v:[{b:e.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:e.CNR+"[lLjJ]?"}]},i={cN:"params",b:/\(/,e:/\)/,c:["self",b,s,a]};return c.c=[a,s,b],{aliases:["py","gyp"],k:r,i:/(<\/|->|\?)|=>/,c:[b,s,a,e.HCM,{v:[{cN:"function",bK:"def"},{cN:"class",bK:"class"}],e:/:/,i:/[${=;\n,]/,c:[e.UTM,i,{b:/->/,eW:!0,k:"None"}]},{cN:"meta",b:/^[\t ]*@/,e:/$/},{b:/\b(print|exec)\(/}]}});
\ No newline at end of file
diff --git a/0.5/js/mathjax.js b/0.5/js/mathjax.js
deleted file mode 100644
index bfc06b8..0000000
--- a/0.5/js/mathjax.js
+++ /dev/null
@@ -1,8 +0,0 @@
-MathJax.Hub.Config({
- "tex2jax": { inlineMath: [ [ '$', '$' ] ] }
-});
-MathJax.Hub.Config({
- config: ["MMLorHTML.js"],
- jax: ["input/TeX", "output/HTML-CSS", "output/NativeMML"],
- extensions: ["MathMenu.js", "MathZoom.js"]
-});
\ No newline at end of file
diff --git a/0.5/model/index.html b/0.5/model/index.html
index 770206f..7539dee 100644
--- a/0.5/model/index.html
+++ b/0.5/model/index.html
@@ -1,424 +1,67 @@
-
-
-
-
-
-
-
-
-
-
-
-
- Optimization Model - RELOG
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Optimization Model
-
In this page, we describe the precise mathematical optimization model used by RELOG to find the optimal logistics plan. This model is a variation of the classical Facility Location Problem, which has been widely studied in the operations research literature. To simplify the exposition, we present the simplified case where there is only one type of plant.
-
Mathematical Description
-
Sets
-
-$L$ - Set of locations holding the original material to be recycled
-$M$ - Set of materials recovered during the reverse manufacturing process
-$P$ - Set of potential plants to open
-$T = { 1, \ldots, t^{max} } $ - Set of time periods
-
-
Constants
-
Plants:
-
-$c^\text{disp}_{pmt}$ - Cost of disposing one tonne of material $m$ at plant $p$ during time $t$ ($/tonne/km
)
-$c^\text{exp}_{pt}$ - Cost of adding one tonne of capacity to plant $p$ at time $t$ ($/tonne
)
-$c^\text{open}_{pt}$ - Cost of opening plant $p$ at time $t$, at minimum capacity ($
)
-$c^\text{f-base}_{pt}$ - Fixed cost of keeping plant $p$ open during time period $t$ ($
)
-$c^\text{f-exp}_{pt}$ - Increase in fixed cost for each additional tonne of capacity ($/tonne
)
-$c^\text{var}_{pt}$ - Variable cost of processing one tonne of input at plant $p$ at time $t$ ($/tonne
)
-$c^\text{store}_{pt}$ - Cost of storing one tonne of original material at plant $p$ at time $t$ ($/tonne
)
-$m^\text{min}_p$ - Minimum capacity of plant $p$ (tonne
)
-$m^\text{max}_p$ - Maximum capacity of plant $p$ (tonne
)
-$m^\text{disp}_{pmt}$ - Maximum amount of material $m$ that plant $p$ can dispose of during time $t$ (tonne
)
-$m^\text{store}_p$ - Maximum amount of original material that plant $p$ can store for later processing.
-
-
Products:
-
-$\alpha_{pm}$ - Amount of material $m$ recovered by plant $t$ for each tonne of original material (tonne/tonne
)
-$m^\text{initial}_{lt}$ - Amount of original material to be recycled at location $l$ during time $t$ (tonne
)
-
-
Transportation:
-
-$c^\text{tr}_{t}$ - Transportation cost during time $t$ ($/tonne/km
)
-$d_{lp}$ - Distance between plant $p$ and location $l$ (km
)
-
-
Decision variables
-
-$q_{mpt}$ - Amount of material $m$ recovered by plant $p$ during time $t$ (tonne
)
-$u_{pt}$ - Binary variable that equals 1 if plant $p$ starts operating at time $t$ (bool
)
-$w_{pt}$ - Extra capacity (amount above the minimum) added to plant $p$ during time $t$ (tonne
)
-$x_{pt}$ - Binary variable that equals 1 if plant $p$ is operational at time $t$ (bool
)
-$y_{lpt}$ - Amount of product sent from location $l$ to plant $p$ during time $t$ (tonne
)
-$z^{\text{disp}}_{mpt}$ - Amount of material $m$ disposed of by plant $p$ during time $t$ (tonne
)
-$z^{\text{store}}_{pt}$ - Amount of original material in storage at plant $p$ by the end of time period $t$ (tonne
)
-$z^{\text{proc}}_{mpt}$ - Amount of original material processed by plant $p$ during time period $t$ (tonne
)
-
-
Objective function
-
RELOG minimizes the overall capital, production and transportation costs:
-
-
In this page, we describe the precise mathematical optimization model used by RELOG to find the optimal logistics plan. This model is a variation of the classical Facility Location Problem, which has been widely studied in the operations research literature. To simplify the exposition, we present the simplified case where there is only one type of plant.
Symbol Description $L$ Set of locations holding the original material to be recycled $M$ Set of materials recovered during the reverse manufacturing process $P$ Set of potential plants to open $T = \{ 1, \ldots, t^{max} \}$ Set of time periods
Symbol Description Unit $c^\text{disp}_{pmt}$ Cost of disposing one tonne of material $m$ at plant $p$ during time $t$ $ /tonne/km$c^\text{exp}_{pt}$ Cost of adding one tonne of capacity to plant $p$ at time $t$ $ /tonne$c^\text{open}_{pt}$ Cost of opening plant $p$ at time $t$ , at minimum capacity $ $c^\text{f-base}_{pt}$ Fixed cost of keeping plant $p$ open during time period $t$ $ $c^\text{f-exp}_{pt}$ Increase in fixed cost for each additional tonne of capacity $ /tonne$c^\text{var}_{pt}$ Variable cost of processing one tonne of input at plant $p$ at time $t$ $ /tonne$c^\text{store}_{pt}$ Cost of storing one tonne of original material at plant $p$ at time $t$ $ /tonne$m^\text{min}_p$ Minimum capacity of plant $p$ tonne $m^\text{max}_p$ Maximum capacity of plant $p$ tonne $m^\text{disp}_{pmt}$ Maximum amount of material $m$ that plant $p$ can dispose of during time $t$ tonne $m^\text{store}_p$ Maximum amount of original material that plant $p$ can store for later processing. tonne
Symbol Description Unit $\alpha_{pm}$ Amount of material $m$ recovered by plant $t$ for each tonne of original material tonne/tonne $m^\text{initial}_{lt}$ Amount of original material to be recycled at location $l$ during time $t$ tonne
Symbol Description Unit $c^\text{tr}_{t}$ Transportation cost during time $t$ $ /tonne/km$d_{lp}$ Distance between plant $p$ and location $l$ km
Symbol Description Unit $q_{mpt}$ Amount of material $m$ recovered by plant $p$ during time $t$ tonne $u_{pt}$ Binary variable that equals 1 if plant $p$ starts operating at time $t$ Boolean $w_{pt}$ Extra capacity (amount above the minimum) added to plant $p$ during time $t$ tonne $x_{pt}$ Binary variable that equals 1 if plant $p$ is operational at time $t$ Boolean $y_{lpt}$ Amount of product sent from location $l$ to plant $p$ during time $t$ tonne $z^{\text{disp}}_{mpt}$ Amount of material $m$ disposed of by plant $p$ during time $t$ tonne $z^{\text{store}}_{pt}$ Amount of original material in storage at plant $p$ by the end of time period $t$ tonne $z^{\text{proc}}_{mpt}$ Amount of original material processed by plant $p$ during time period $t$ tonne
RELOG minimizes the overall capital, production and transportation costs:
\[\begin{align*}
+ \text{minimize} \;\; &
\sum_{t \in T} \sum_{p \in P} \left[
c^\text{open}_{pt} u_{pt} +
c^\text{f-base}_{pt} x_{pt} +
\sum_{i=1}^t c^\text{f-exp}_{pt} w_{pi} +
c^{\text{exp}}_{pt} w_{pt}
\right] + \\
- &
+ &
\sum_{t \in T} \sum_{p \in P} \left[
c^{\text{store}}_{pt} z^{\text{store}}_{pt} +
c^{\text{proc}}_{pt} z^{\text{proc}}_{pt}
\right] + \\
- &
+ &
\sum_{t \in T} \sum_{l \in L} \sum_{p \in P}
c^{\text{tr}}_t d_{lp} y_{lpt}
\\
- &
+ &
\sum_{t \in T} \sum_{p \in P} \sum_{m \in M} c^{\text{disp}}_{pmt} z_{pmt}
-\end{align*}
-
-In the first line, we have (i) opening costs, if plant starts operating at time $t$, (ii) fixed operating costs, if plant is operational, (iii) additional fixed operating costs coming from expansion performed in all previous time periods up to the current one, and finally (iv) the expansion costs during the current time period.
-In the second line, we have storage and variable processing costs.
-In the third line, we have transportation costs.
-In the fourth line, we have the disposal costs.
-Constraints
-
-All original materials must be sent to a plant:
-
-
-
-
-
-Amount received equals amount processed plus stored. Furthermore, all original material should be processed by the end of the simulation.
-
-
-
-
-
-Plants have a limited processing capacity. Furthermore, if a plant is closed, it has zero processing capacity:
-
-
-
-
-
-Plants have limited storage capacity. Furthermore, if a plant is closed, is has zero storage capacity:
-
-
-
-
-
-Plants can only be expanded up to their maximum capacity. Furthermore, if a plant is closed, it cannot be expanded:
-
-
-
-
-
-Amount of recovered material is proportional to amount processed:
-
-
-
-
-
-Because we only consider a single type of plant, all recovered material must be immediately disposed of. In RELOG's full model, recovered materials may be sent to another plant for further processing.
-
-
-
-
-
-A plant is operational at time $t$ if it was operational at time $t-1$ or it was built at time $t$. This constraint also prevents a plant from being built multiple times.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Copyright © 2020, UChicago Argonne, LLC. All Rights Reserved.
-
- Documentation built with MkDocs .
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- From here you can search these documents. Enter
- your search terms below.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Keys
- Action
-
-
-
-
- ?
- Open this help
-
-
- n
- Next page
-
-
- p
- Previous page
-
-
- s
- Search
-
-
-
-
-
-
-
-
-
-
-
+ & \forall p \in P, t \in T \\
+ & z^{\text{store}}_{p,0} = 0
+ & \forall p \in P \\
+ & z^{\text{store}}_{p,t^{\max}} = 0
+ & \forall p \in P
+\end{align*}\]
Plants have a limited processing capacity. Furthermore, if a plant is closed, it has zero processing capacity: \[\begin{align*}
+ & z^{\text{proc}}_{pt} \leq m^\text{min}_p x_p + \sum_{i=1}^t w_p
+ & \forall p \in P, t \in T
+\end{align*}\]
Plants have limited storage capacity. Furthermore, if a plant is closed, is has zero storage capacity: \[\begin{align*}
+ & z^{\text{store}}_{pt} \leq m^\text{store}_p x_p
+ & \forall p \in P, t \in T
+\end{align*}\]
Plants can only be expanded up to their maximum capacity. Furthermore, if a plant is closed, it cannot be expanded: \[\begin{align*}
+ & \sum_{i=1}^t w_p \leq m^\text{max}_p x_p
+ & \forall p \in P, t \in T
+\end{align*}\]
Amount of recovered material is proportional to amount processed: \[\begin{align*}
+ & q_{mpt} = \alpha_{pm} z^{\text{proc}}_{pt}
+ & \forall m \in M, p \in P, t \in T
+\end{align*}\]
Because we only consider a single type of plant, all recovered material must be immediately disposed of. In RELOG's full model, recovered materials may be sent to another plant for further processing. \[\begin{align*}
+ & q_{mpt} = z_{mpt}
+ & \forall m \in M, p \in P, t \in T
+\end{align*}\]
A plant is operational at time $t$ if it was operational at time $t-1$ or it was built at time $t$ . This constraint also prevents a plant from being built multiple times. \[\begin{align*}
+ & x_{pt} = x_{p,t-1} + u_{pt}
+ & \forall p \in P, t \in T \setminus \{1\} \\
+ & x_{p,1} = u_{p,1}
+ & \forall p \in P
+\end{align*}\]
\[\begin{align*}
+ & q_{mpt} \geq 0
+ & \forall m \in M, p \in P, t \in T \\
+ & u_{pt} \in \{0,1\}
+ & \forall p \in P, t \in T \\
+ & w_{pt} \geq 0
+ & \forall p \in P, t \in T \\
+ & x_{pt} \in \{0,1\}
+ & \forall p \in P, t \in T \\
+ & y_{lpt} \geq 0
+ & \forall l \in L, p \in P, t \in T \\
+ & z^{\text{store}}_{pt} \geq 0
+ & p \in P, t \in T \\
+ & z^{\text{disp}}_{mpt}, z^{\text{proc}}_{mpt} \geq 0
+ & \forall m \in M, p \in P, t \in T
+\end{align*}\]
Theme
documenter-light documenter-dark
This document was generated with Documenter.jl version 0.27.21 on Friday 26 August 2022 . Using Julia version 1.7.3.
diff --git a/0.5/reports/index.html b/0.5/reports/index.html
index 587aba8..dcc191c 100644
--- a/0.5/reports/index.html
+++ b/0.5/reports/index.html
@@ -1,245 +1,5 @@
-
-
-
-
-
-
-
-
-
-
-
-
- Reports - RELOG
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Simplified Solution Reports
-
In addition to the full output format described in data formats , RELOG can also generate a number of simplified reports in tabular data format (CSV), which can be more easily processed by spreadsheet software (such as Microsoft Excel), by data analysis libraries (such as Pandas) or by relational databases (such as SQLite).
-
In this page, we also illustrate what types of charts and visualizations can be produced from these tabular data files. The sample charts have been produced using Python, matplotlib, seaborn and geopandas.
-
Plants report
-
Report showing plant costs, capacities, energy expenditure and utilization factors. Generated by RELOG.write_plants_report(solution, filename)
.
-
-
-
-Column
-Description
-
-
-
-
-plant type
-Plant type.
-
-
-location name
-Location name.
-
-
-year
-What year this row corresponds to. This reports includes one row for each year.
-
-
-latitude (deg)
-Latitude of the plant.
-
-
-longitude (deg)
-Longitude of the plant.
-
-
-capacity (tonne)
-Capacity of the plant at this point in time.
-
-
-amount received (tonne)
-Amount of input material received by the plant this year.
-
-
-amount processed (tonne)
-Amount of input material processed by the plant this year.
-
-
-amount in storage (tonne)
-Amount of input material in storage at the end of the year.
-
-
-utilization factor (%)
-Amount processed by the plant this year divided by current plant capacity.
-
-
-energy (GJ)
-Amount of energy expended by the plant this year.
-
-
-opening cost ($)
-Amount spent opening the plant. This value is only positive if the plant became operational this year.
-
-
-expansion cost ($)
-Amount spent this year expanding the plant capacity.
-
-
-fixed operating cost ($)
-Amount spent for keeping the plant operational this year.
-
-
-variable operating cost ($)
-Amount spent this year to process the input material.
-
-
-storage cost ($)
-Amount spent this year on storage.
-
-
-total cost ($)
-Sum of all previous plant costs.
-
-
-
-
Sample charts
-
-Bar plot with total plant costs per year, grouped by plant type (in Python):
-
-
import pandas as pd
+Simplified Solution Reports · RELOG In addition to the full output format described in data formats , RELOG can also generate a number of simplified reports in tabular data format (CSV), which can be more easily processed by spreadsheet software (such as Microsoft Excel), by data analysis libraries (such as Pandas) or by relational databases (such as SQLite).
In this page, we also illustrate what types of charts and visualizations can be produced from these tabular data files. The sample charts have been produced using Python, matplotlib, seaborn and geopandas.
Report showing plant costs, capacities, energy expenditure and utilization factors. Generated by RELOG.write_plants_report(solution, filename)
.
Column Description plant type
Plant type. location name
Location name. year
What year this row corresponds to. This reports includes one row for each year. latitude (deg)
Latitude of the plant. longitude (deg)
Longitude of the plant. capacity (tonne)
Capacity of the plant at this point in time. amount received (tonne)
Amount of input material received by the plant this year. amount processed (tonne)
Amount of input material processed by the plant this year. amount in storage (tonne)
Amount of input material in storage at the end of the year. utilization factor (%)
Amount processed by the plant this year divided by current plant capacity. energy (GJ)
Amount of energy expended by the plant this year. opening cost ($)
Amount spent opening the plant. This value is only positive if the plant became operational this year. expansion cost ($)
Amount spent this year expanding the plant capacity. fixed operating cost ($)
Amount spent for keeping the plant operational this year. variable operating cost ($)
Amount spent this year to process the input material. storage cost ($)
Amount spent this year on storage. total cost ($)
Sum of all previous plant costs.
Bar plot with total plant costs per year, grouped by plant type (in Python): import pandas as pd
import seaborn as sns; sns.set()
data = pd.read_csv("plants_report.csv")
@@ -248,18 +8,12 @@ sns.barplot(x="year",
hue="plant type",
data=data.groupby(["plant type", "year"])
.sum()
- .reset_index());
-
-
-
-Map showing plant locations (in Python):
-
-import pandas as pd
+ .reset_index());
Map showing plant locations (in Python): import pandas as pd
import geopandas as gp
# Plot base map
-world = gp.read_file(gp.datasets.get_path('naturalearth_lowres'))
-ax = world.plot(color='white', edgecolor='50', figsize=(13,6))
+world = gp.read_file(gp.datasets.get_path('naturalearth_lowres'))
+ax = world.plot(color='white', edgecolor='50', figsize=(13,6))
ax.set_ylim([23, 50])
ax.set_xlim([-128, -65])
@@ -267,58 +21,7 @@ ax.set_xlim([-128, -65])
data = pd.read_csv("nimh_plants.csv")
points = gp.points_from_xy(data["longitude (deg)"],
data["latitude (deg)"])
-gp.GeoDataFrame(data, geometry=points).plot(ax=ax);
-
-
-Plant outputs report
-Report showing amount of products produced, sent and disposed of by each plant, as well as disposal costs. Generated by RELOG.write_plant_outputs_report(solution, filename)
.
-
-
-
-Column
-Description
-
-
-
-
-plant type
-Plant type.
-
-
-location name
-Location name.
-
-
-year
-What year this row corresponds to. This reports includes one row for each year.
-
-
-product name
-Product being produced.
-
-
-amount produced (tonne)
-Amount of product produced this year.
-
-
-amount sent (tonne)
-Amount of product produced by this plant and sent to another plant for further processing this year.
-
-
-amount disposed (tonne)
-Amount produced produced by this plant and immediately disposed of locally this year.
-
-
-disposal cost ($)
-Disposal cost for this year.
-
-
-
-Sample charts
-
-Bar plot showing total amount produced for each product, grouped by year (in Python):
-
-import pandas as pd
+gp.GeoDataFrame(data, geometry=points).plot(ax=ax);
Report showing amount of products produced, sent and disposed of by each plant, as well as disposal costs. Generated by RELOG.write_plant_outputs_report(solution, filename)
.
Column Description plant type
Plant type. location name
Location name. year
What year this row corresponds to. This reports includes one row for each year. product name
Product being produced. amount produced (tonne)
Amount of product produced this year. amount sent (tonne)
Amount of product produced by this plant and sent to another plant for further processing this year. amount disposed (tonne)
Amount produced produced by this plant and immediately disposed of locally this year. disposal cost ($)
Disposal cost for this year.
Bar plot showing total amount produced for each product, grouped by year (in Python): import pandas as pd
import seaborn as sns; sns.set()
data = pd.read_csv("plant_outputs_report.csv")
@@ -327,46 +30,7 @@ sns.barplot(x="amount produced (tonne)",
hue="year",
data=data.groupby(["product name", "year"])
.sum()
- .reset_index());
-
-
-Plant emissions report
-Report showing amount of emissions produced by each plant. Generated by RELOG.write_plant_emissions_report(solution, filename)
.
-
-
-
-Column
-Description
-
-
-
-
-plant type
-Plant type.
-
-
-location name
-Location name.
-
-
-year
-Year.
-
-
-emission type
-Type of emission.
-
-
-amount (tonne)
-Amount of emission produced by the plant this year.
-
-
-
-Sample charts
-
-Bar plot showing total emission by plant type, grouped type of emissions (in Python):
-
-import pandas as pd
+ .reset_index());
Report showing amount of emissions produced by each plant. Generated by RELOG.write_plant_emissions_report(solution, filename)
.
Column Description plant type
Plant type. location name
Location name. year
Year. emission type
Type of emission. amount (tonne)
Amount of emission produced by the plant this year.
Bar plot showing total emission by plant type, grouped type of emissions (in Python): import pandas as pd
import seaborn as sns; sns.set()
data = pd.read_csv("plant_emissions_report.csv")
@@ -375,126 +39,7 @@ sns.barplot(x="plant type",
hue="emission type",
data=data.groupby(["plant type", "emission type"])
.sum()
- .reset_index());
-
-
-Products report
-Report showing primary product amounts, locations and marginal costs. Generated by RELOG.write_products_report(solution, filename)
.
-
-
-
-Column
-Description
-
-
-
-
-product name
-Product name.
-
-
-location name
-Name of the collection center.
-
-
-latitude (deg)
-Latitude of the collection center.
-
-
-longitude (deg)
-Longitude of the collection center.
-
-
-year
-What year this row corresponds to. This reports includes one row for each year.
-
-
-amount (tonne)
-Amount of product available at this collection center.
-
-
-marginal cost ($/tonne)
-Cost to process one additional tonne of this product coming from this collection center.
-
-
-
-Transportation report
-Report showing amount of product sent from initial locations to plants, and from one plant to another. Includes the distance between each pair of locations, amount-distance shipped, transportation costs and energy expenditure. Generated by RELOG.write_transportation_report(solution, filename)
.
-
-
-
-Column
-Description
-
-
-
-
-source type
-If product is being shipped from an initial location, equals Origin
. If product is being shipped from a plant, equals plant type.
-
-
-source location name
-Name of the location where the product is being shipped from.
-
-
-source latitude (deg)
-Latitude of the source location.
-
-
-source longitude (deg)
-Longitude of the source location.
-
-
-destination type
-Type of plant the product is being shipped to.
-
-
-destination location name
-Name of the location where the product is being shipped to.
-
-
-destination latitude (deg)
-Latitude of the destination location.
-
-
-destination longitude (deg)
-Longitude of the destination location.
-
-
-product
-Product being shipped.
-
-
-year
-Year.
-
-
-distance (km)
-Distance between source and destination.
-
-
-amount (tonne)
-Total amount of product being shipped between the two locations this year.
-
-
-amount-distance (tonne-km)
-Total amount being shipped this year times distance.
-
-
-transportation cost ($)
-Cost to transport this amount of product between the two locations for this year.
-
-
-transportation energy (GJ)
-Energy expended transporting this amount of product between the two locations.
-
-
-
-Sample charts
-
-Bar plot showing total amount-distance for each product type, grouped by year (in Python):
-
-import pandas as pd
+ .reset_index());
Report showing primary product amounts, locations and marginal costs. Generated by RELOG.write_products_report(solution, filename)
.
Column Description product name
Product name. location name
Name of the collection center. latitude (deg)
Latitude of the collection center. longitude (deg)
Longitude of the collection center. year
What year this row corresponds to. This reports includes one row for each year. amount (tonne)
Amount of product available at this collection center. marginal cost ($/tonne)
Cost to process one additional tonne of this product coming from this collection center.
Report showing amount of product sent from initial locations to plants, and from one plant to another. Includes the distance between each pair of locations, amount-distance shipped, transportation costs and energy expenditure. Generated by RELOG.write_transportation_report(solution, filename)
.
Column Description source type
If product is being shipped from an initial location, equals Origin
. If product is being shipped from a plant, equals plant type. source location name
Name of the location where the product is being shipped from. source latitude (deg)
Latitude of the source location. source longitude (deg)
Longitude of the source location. destination type
Type of plant the product is being shipped to. destination location name
Name of the location where the product is being shipped to. destination latitude (deg)
Latitude of the destination location. destination longitude (deg)
Longitude of the destination location. product
Product being shipped. year
Year. distance (km)
Distance between source and destination. amount (tonne)
Total amount of product being shipped between the two locations this year. amount-distance (tonne-km)
Total amount being shipped this year times distance. transportation cost ($)
Cost to transport this amount of product between the two locations for this year. transportation energy (GJ)
Energy expended transporting this amount of product between the two locations.
Bar plot showing total amount-distance for each product type, grouped by year (in Python): import pandas as pd
import seaborn as sns; sns.set()
data = pd.read_csv("transportation_report.csv")
@@ -503,21 +48,15 @@ sns.barplot(x="product",
hue="year",
data=data.groupby(["product", "year"])
.sum()
- .reset_index());
-
-
-
-Map of transportation lines (in Python):
-
-import pandas as pd
+ .reset_index());
Map of transportation lines (in Python): import pandas as pd
import geopandas as gp
from shapely.geometry import Point, LineString
import matplotlib.pyplot as plt
from matplotlib import collections
# Plot base map
-world = gp.read_file(gp.datasets.get_path('naturalearth_lowres'))
-ax = world.plot(color='white', edgecolor='50', figsize=(14,7))
+world = gp.read_file(gp.datasets.get_path('naturalearth_lowres'))
+ax = world.plot(color='white', edgecolor='50', figsize=(14,7))
ax.set_ylim([23, 50])
ax.set_xlim([-128, -65])
@@ -544,86 +83,7 @@ points = gp.points_from_xy(data["destination longitude (deg)"],
data["destination latitude (deg)"])
gp.GeoDataFrame(data, geometry=points).plot(ax=ax,
color="red",
- markersize=50);
-
-
-Transportation emissions report
-Report showing emissions for each trip between initial locations and plants, and between pairs of plants. Generated by RELOG.write_transportation_emissions_report(solution, filename)
.
-
-
-
-Column
-Description
-
-
-
-
-source type
-If product is being shipped from an initial location, equals Origin
. If product is being shipped from a plant, equals plant type.
-
-
-source location name
-Name of the location where the product is being shipped from.
-
-
-source latitude (deg)
-Latitude of the source location.
-
-
-source longitude (deg)
-Longitude of the source location.
-
-
-destination type
-Type of plant the product is being shipped to.
-
-
-destination location name
-Name of the location where the product is being shipped to.
-
-
-destination latitude (deg)
-Latitude of the destination location.
-
-
-destination longitude (deg)
-Longitude of the destination location.
-
-
-product
-Product being shipped.
-
-
-year
-Year.
-
-
-distance (km)
-Distance between source and destination.
-
-
-shipped amount (tonne)
-Total amount of product being shipped between the two locations this year.
-
-
-shipped amount-distance (tonne-km)
-Total amount being shipped this year times distance.
-
-
-emission type
-Type of emission.
-
-
-emission amount (tonne)
-Amount of emission produced by transportation segment this year.
-
-
-
-Sample charts
-
-Bar plot showing total emission amount by emission type, grouped by type of product being transported (in Python):
-
-import pandas as pd
+ markersize=50);
Report showing emissions for each trip between initial locations and plants, and between pairs of plants. Generated by RELOG.write_transportation_emissions_report(solution, filename)
.
Column Description source type
If product is being shipped from an initial location, equals Origin
. If product is being shipped from a plant, equals plant type. source location name
Name of the location where the product is being shipped from. source latitude (deg)
Latitude of the source location. source longitude (deg)
Longitude of the source location. destination type
Type of plant the product is being shipped to. destination location name
Name of the location where the product is being shipped to. destination latitude (deg)
Latitude of the destination location. destination longitude (deg)
Longitude of the destination location. product
Product being shipped. year
Year. distance (km)
Distance between source and destination. shipped amount (tonne)
Total amount of product being shipped between the two locations this year. shipped amount-distance (tonne-km)
Total amount being shipped this year times distance. emission type
Type of emission. emission amount (tonne)
Amount of emission produced by transportation segment this year.
Bar plot showing total emission amount by emission type, grouped by type of product being transported (in Python): import pandas as pd
import seaborn as sns; sns.set()
data = pd.read_csv("transportation_emissions_report.csv")
@@ -632,111 +92,4 @@ sns.barplot(x="emission type",
hue="product",
data=data.groupby(["product", "emission type"])
.sum()
- .reset_index());
-
-
-
-
-
-
-
-
-
-
-
-
- Copyright © 2020, UChicago Argonne, LLC. All Rights Reserved.
-
- Documentation built with MkDocs .
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- From here you can search these documents. Enter
- your search terms below.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Keys
- Action
-
-
-
-
- ?
- Open this help
-
-
- n
- Next page
-
-
- p
- Previous page
-
-
- s
- Search
-
-
-
-
-
-
-
-
-
-
-
+ .reset_index());
Theme
documenter-light documenter-dark
This document was generated with Documenter.jl version 0.27.21 on Friday 26 August 2022 . Using Julia version 1.7.3.
diff --git a/0.5/search/index.html b/0.5/search/index.html
new file mode 100644
index 0000000..6cfc65e
--- /dev/null
+++ b/0.5/search/index.html
@@ -0,0 +1,2 @@
+
+Search · RELOG
Theme
documenter-light documenter-dark
This document was generated with Documenter.jl version 0.27.21 on Friday 26 August 2022 . Using Julia version 1.7.3.
diff --git a/0.5/search/lunr.js b/0.5/search/lunr.js
deleted file mode 100644
index c353765..0000000
--- a/0.5/search/lunr.js
+++ /dev/null
@@ -1,3475 +0,0 @@
-/**
- * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.8
- * Copyright (C) 2019 Oliver Nightingale
- * @license MIT
- */
-
-;(function(){
-
-/**
- * A convenience function for configuring and constructing
- * a new lunr Index.
- *
- * A lunr.Builder instance is created and the pipeline setup
- * with a trimmer, stop word filter and stemmer.
- *
- * This builder object is yielded to the configuration function
- * that is passed as a parameter, allowing the list of fields
- * and other builder parameters to be customised.
- *
- * All documents _must_ be added within the passed config function.
- *
- * @example
- * var idx = lunr(function () {
- * this.field('title')
- * this.field('body')
- * this.ref('id')
- *
- * documents.forEach(function (doc) {
- * this.add(doc)
- * }, this)
- * })
- *
- * @see {@link lunr.Builder}
- * @see {@link lunr.Pipeline}
- * @see {@link lunr.trimmer}
- * @see {@link lunr.stopWordFilter}
- * @see {@link lunr.stemmer}
- * @namespace {function} lunr
- */
-var lunr = function (config) {
- var builder = new lunr.Builder
-
- builder.pipeline.add(
- lunr.trimmer,
- lunr.stopWordFilter,
- lunr.stemmer
- )
-
- builder.searchPipeline.add(
- lunr.stemmer
- )
-
- config.call(builder, builder)
- return builder.build()
-}
-
-lunr.version = "2.3.8"
-/*!
- * lunr.utils
- * Copyright (C) 2019 Oliver Nightingale
- */
-
-/**
- * A namespace containing utils for the rest of the lunr library
- * @namespace lunr.utils
- */
-lunr.utils = {}
-
-/**
- * Print a warning message to the console.
- *
- * @param {String} message The message to be printed.
- * @memberOf lunr.utils
- * @function
- */
-lunr.utils.warn = (function (global) {
- /* eslint-disable no-console */
- return function (message) {
- if (global.console && console.warn) {
- console.warn(message)
- }
- }
- /* eslint-enable no-console */
-})(this)
-
-/**
- * Convert an object to a string.
- *
- * In the case of `null` and `undefined` the function returns
- * the empty string, in all other cases the result of calling
- * `toString` on the passed object is returned.
- *
- * @param {Any} obj The object to convert to a string.
- * @return {String} string representation of the passed object.
- * @memberOf lunr.utils
- */
-lunr.utils.asString = function (obj) {
- if (obj === void 0 || obj === null) {
- return ""
- } else {
- return obj.toString()
- }
-}
-
-/**
- * Clones an object.
- *
- * Will create a copy of an existing object such that any mutations
- * on the copy cannot affect the original.
- *
- * Only shallow objects are supported, passing a nested object to this
- * function will cause a TypeError.
- *
- * Objects with primitives, and arrays of primitives are supported.
- *
- * @param {Object} obj The object to clone.
- * @return {Object} a clone of the passed object.
- * @throws {TypeError} when a nested object is passed.
- * @memberOf Utils
- */
-lunr.utils.clone = function (obj) {
- if (obj === null || obj === undefined) {
- return obj
- }
-
- var clone = Object.create(null),
- keys = Object.keys(obj)
-
- for (var i = 0; i < keys.length; i++) {
- var key = keys[i],
- val = obj[key]
-
- if (Array.isArray(val)) {
- clone[key] = val.slice()
- continue
- }
-
- if (typeof val === 'string' ||
- typeof val === 'number' ||
- typeof val === 'boolean') {
- clone[key] = val
- continue
- }
-
- throw new TypeError("clone is not deep and does not support nested objects")
- }
-
- return clone
-}
-lunr.FieldRef = function (docRef, fieldName, stringValue) {
- this.docRef = docRef
- this.fieldName = fieldName
- this._stringValue = stringValue
-}
-
-lunr.FieldRef.joiner = "/"
-
-lunr.FieldRef.fromString = function (s) {
- var n = s.indexOf(lunr.FieldRef.joiner)
-
- if (n === -1) {
- throw "malformed field ref string"
- }
-
- var fieldRef = s.slice(0, n),
- docRef = s.slice(n + 1)
-
- return new lunr.FieldRef (docRef, fieldRef, s)
-}
-
-lunr.FieldRef.prototype.toString = function () {
- if (this._stringValue == undefined) {
- this._stringValue = this.fieldName + lunr.FieldRef.joiner + this.docRef
- }
-
- return this._stringValue
-}
-/*!
- * lunr.Set
- * Copyright (C) 2019 Oliver Nightingale
- */
-
-/**
- * A lunr set.
- *
- * @constructor
- */
-lunr.Set = function (elements) {
- this.elements = Object.create(null)
-
- if (elements) {
- this.length = elements.length
-
- for (var i = 0; i < this.length; i++) {
- this.elements[elements[i]] = true
- }
- } else {
- this.length = 0
- }
-}
-
-/**
- * A complete set that contains all elements.
- *
- * @static
- * @readonly
- * @type {lunr.Set}
- */
-lunr.Set.complete = {
- intersect: function (other) {
- return other
- },
-
- union: function (other) {
- return other
- },
-
- contains: function () {
- return true
- }
-}
-
-/**
- * An empty set that contains no elements.
- *
- * @static
- * @readonly
- * @type {lunr.Set}
- */
-lunr.Set.empty = {
- intersect: function () {
- return this
- },
-
- union: function (other) {
- return other
- },
-
- contains: function () {
- return false
- }
-}
-
-/**
- * Returns true if this set contains the specified object.
- *
- * @param {object} object - Object whose presence in this set is to be tested.
- * @returns {boolean} - True if this set contains the specified object.
- */
-lunr.Set.prototype.contains = function (object) {
- return !!this.elements[object]
-}
-
-/**
- * Returns a new set containing only the elements that are present in both
- * this set and the specified set.
- *
- * @param {lunr.Set} other - set to intersect with this set.
- * @returns {lunr.Set} a new set that is the intersection of this and the specified set.
- */
-
-lunr.Set.prototype.intersect = function (other) {
- var a, b, elements, intersection = []
-
- if (other === lunr.Set.complete) {
- return this
- }
-
- if (other === lunr.Set.empty) {
- return other
- }
-
- if (this.length < other.length) {
- a = this
- b = other
- } else {
- a = other
- b = this
- }
-
- elements = Object.keys(a.elements)
-
- for (var i = 0; i < elements.length; i++) {
- var element = elements[i]
- if (element in b.elements) {
- intersection.push(element)
- }
- }
-
- return new lunr.Set (intersection)
-}
-
-/**
- * Returns a new set combining the elements of this and the specified set.
- *
- * @param {lunr.Set} other - set to union with this set.
- * @return {lunr.Set} a new set that is the union of this and the specified set.
- */
-
-lunr.Set.prototype.union = function (other) {
- if (other === lunr.Set.complete) {
- return lunr.Set.complete
- }
-
- if (other === lunr.Set.empty) {
- return this
- }
-
- return new lunr.Set(Object.keys(this.elements).concat(Object.keys(other.elements)))
-}
-/**
- * A function to calculate the inverse document frequency for
- * a posting. This is shared between the builder and the index
- *
- * @private
- * @param {object} posting - The posting for a given term
- * @param {number} documentCount - The total number of documents.
- */
-lunr.idf = function (posting, documentCount) {
- var documentsWithTerm = 0
-
- for (var fieldName in posting) {
- if (fieldName == '_index') continue // Ignore the term index, its not a field
- documentsWithTerm += Object.keys(posting[fieldName]).length
- }
-
- var x = (documentCount - documentsWithTerm + 0.5) / (documentsWithTerm + 0.5)
-
- return Math.log(1 + Math.abs(x))
-}
-
-/**
- * A token wraps a string representation of a token
- * as it is passed through the text processing pipeline.
- *
- * @constructor
- * @param {string} [str=''] - The string token being wrapped.
- * @param {object} [metadata={}] - Metadata associated with this token.
- */
-lunr.Token = function (str, metadata) {
- this.str = str || ""
- this.metadata = metadata || {}
-}
-
-/**
- * Returns the token string that is being wrapped by this object.
- *
- * @returns {string}
- */
-lunr.Token.prototype.toString = function () {
- return this.str
-}
-
-/**
- * A token update function is used when updating or optionally
- * when cloning a token.
- *
- * @callback lunr.Token~updateFunction
- * @param {string} str - The string representation of the token.
- * @param {Object} metadata - All metadata associated with this token.
- */
-
-/**
- * Applies the given function to the wrapped string token.
- *
- * @example
- * token.update(function (str, metadata) {
- * return str.toUpperCase()
- * })
- *
- * @param {lunr.Token~updateFunction} fn - A function to apply to the token string.
- * @returns {lunr.Token}
- */
-lunr.Token.prototype.update = function (fn) {
- this.str = fn(this.str, this.metadata)
- return this
-}
-
-/**
- * Creates a clone of this token. Optionally a function can be
- * applied to the cloned token.
- *
- * @param {lunr.Token~updateFunction} [fn] - An optional function to apply to the cloned token.
- * @returns {lunr.Token}
- */
-lunr.Token.prototype.clone = function (fn) {
- fn = fn || function (s) { return s }
- return new lunr.Token (fn(this.str, this.metadata), this.metadata)
-}
-/*!
- * lunr.tokenizer
- * Copyright (C) 2019 Oliver Nightingale
- */
-
-/**
- * A function for splitting a string into tokens ready to be inserted into
- * the search index. Uses `lunr.tokenizer.separator` to split strings, change
- * the value of this property to change how strings are split into tokens.
- *
- * This tokenizer will convert its parameter to a string by calling `toString` and
- * then will split this string on the character in `lunr.tokenizer.separator`.
- * Arrays will have their elements converted to strings and wrapped in a lunr.Token.
- *
- * Optional metadata can be passed to the tokenizer, this metadata will be cloned and
- * added as metadata to every token that is created from the object to be tokenized.
- *
- * @static
- * @param {?(string|object|object[])} obj - The object to convert into tokens
- * @param {?object} metadata - Optional metadata to associate with every token
- * @returns {lunr.Token[]}
- * @see {@link lunr.Pipeline}
- */
-lunr.tokenizer = function (obj, metadata) {
- if (obj == null || obj == undefined) {
- return []
- }
-
- if (Array.isArray(obj)) {
- return obj.map(function (t) {
- return new lunr.Token(
- lunr.utils.asString(t).toLowerCase(),
- lunr.utils.clone(metadata)
- )
- })
- }
-
- var str = obj.toString().toLowerCase(),
- len = str.length,
- tokens = []
-
- for (var sliceEnd = 0, sliceStart = 0; sliceEnd <= len; sliceEnd++) {
- var char = str.charAt(sliceEnd),
- sliceLength = sliceEnd - sliceStart
-
- if ((char.match(lunr.tokenizer.separator) || sliceEnd == len)) {
-
- if (sliceLength > 0) {
- var tokenMetadata = lunr.utils.clone(metadata) || {}
- tokenMetadata["position"] = [sliceStart, sliceLength]
- tokenMetadata["index"] = tokens.length
-
- tokens.push(
- new lunr.Token (
- str.slice(sliceStart, sliceEnd),
- tokenMetadata
- )
- )
- }
-
- sliceStart = sliceEnd + 1
- }
-
- }
-
- return tokens
-}
-
-/**
- * The separator used to split a string into tokens. Override this property to change the behaviour of
- * `lunr.tokenizer` behaviour when tokenizing strings. By default this splits on whitespace and hyphens.
- *
- * @static
- * @see lunr.tokenizer
- */
-lunr.tokenizer.separator = /[\s\-]+/
-/*!
- * lunr.Pipeline
- * Copyright (C) 2019 Oliver Nightingale
- */
-
-/**
- * lunr.Pipelines maintain an ordered list of functions to be applied to all
- * tokens in documents entering the search index and queries being ran against
- * the index.
- *
- * An instance of lunr.Index created with the lunr shortcut will contain a
- * pipeline with a stop word filter and an English language stemmer. Extra
- * functions can be added before or after either of these functions or these
- * default functions can be removed.
- *
- * When run the pipeline will call each function in turn, passing a token, the
- * index of that token in the original list of all tokens and finally a list of
- * all the original tokens.
- *
- * The output of functions in the pipeline will be passed to the next function
- * in the pipeline. To exclude a token from entering the index the function
- * should return undefined, the rest of the pipeline will not be called with
- * this token.
- *
- * For serialisation of pipelines to work, all functions used in an instance of
- * a pipeline should be registered with lunr.Pipeline. Registered functions can
- * then be loaded. If trying to load a serialised pipeline that uses functions
- * that are not registered an error will be thrown.
- *
- * If not planning on serialising the pipeline then registering pipeline functions
- * is not necessary.
- *
- * @constructor
- */
-lunr.Pipeline = function () {
- this._stack = []
-}
-
-lunr.Pipeline.registeredFunctions = Object.create(null)
-
-/**
- * A pipeline function maps lunr.Token to lunr.Token. A lunr.Token contains the token
- * string as well as all known metadata. A pipeline function can mutate the token string
- * or mutate (or add) metadata for a given token.
- *
- * A pipeline function can indicate that the passed token should be discarded by returning
- * null, undefined or an empty string. This token will not be passed to any downstream pipeline
- * functions and will not be added to the index.
- *
- * Multiple tokens can be returned by returning an array of tokens. Each token will be passed
- * to any downstream pipeline functions and all will returned tokens will be added to the index.
- *
- * Any number of pipeline functions may be chained together using a lunr.Pipeline.
- *
- * @interface lunr.PipelineFunction
- * @param {lunr.Token} token - A token from the document being processed.
- * @param {number} i - The index of this token in the complete list of tokens for this document/field.
- * @param {lunr.Token[]} tokens - All tokens for this document/field.
- * @returns {(?lunr.Token|lunr.Token[])}
- */
-
-/**
- * Register a function with the pipeline.
- *
- * Functions that are used in the pipeline should be registered if the pipeline
- * needs to be serialised, or a serialised pipeline needs to be loaded.
- *
- * Registering a function does not add it to a pipeline, functions must still be
- * added to instances of the pipeline for them to be used when running a pipeline.
- *
- * @param {lunr.PipelineFunction} fn - The function to check for.
- * @param {String} label - The label to register this function with
- */
-lunr.Pipeline.registerFunction = function (fn, label) {
- if (label in this.registeredFunctions) {
- lunr.utils.warn('Overwriting existing registered function: ' + label)
- }
-
- fn.label = label
- lunr.Pipeline.registeredFunctions[fn.label] = fn
-}
-
-/**
- * Warns if the function is not registered as a Pipeline function.
- *
- * @param {lunr.PipelineFunction} fn - The function to check for.
- * @private
- */
-lunr.Pipeline.warnIfFunctionNotRegistered = function (fn) {
- var isRegistered = fn.label && (fn.label in this.registeredFunctions)
-
- if (!isRegistered) {
- lunr.utils.warn('Function is not registered with pipeline. This may cause problems when serialising the index.\n', fn)
- }
-}
-
-/**
- * Loads a previously serialised pipeline.
- *
- * All functions to be loaded must already be registered with lunr.Pipeline.
- * If any function from the serialised data has not been registered then an
- * error will be thrown.
- *
- * @param {Object} serialised - The serialised pipeline to load.
- * @returns {lunr.Pipeline}
- */
-lunr.Pipeline.load = function (serialised) {
- var pipeline = new lunr.Pipeline
-
- serialised.forEach(function (fnName) {
- var fn = lunr.Pipeline.registeredFunctions[fnName]
-
- if (fn) {
- pipeline.add(fn)
- } else {
- throw new Error('Cannot load unregistered function: ' + fnName)
- }
- })
-
- return pipeline
-}
-
-/**
- * Adds new functions to the end of the pipeline.
- *
- * Logs a warning if the function has not been registered.
- *
- * @param {lunr.PipelineFunction[]} functions - Any number of functions to add to the pipeline.
- */
-lunr.Pipeline.prototype.add = function () {
- var fns = Array.prototype.slice.call(arguments)
-
- fns.forEach(function (fn) {
- lunr.Pipeline.warnIfFunctionNotRegistered(fn)
- this._stack.push(fn)
- }, this)
-}
-
-/**
- * Adds a single function after a function that already exists in the
- * pipeline.
- *
- * Logs a warning if the function has not been registered.
- *
- * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.
- * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.
- */
-lunr.Pipeline.prototype.after = function (existingFn, newFn) {
- lunr.Pipeline.warnIfFunctionNotRegistered(newFn)
-
- var pos = this._stack.indexOf(existingFn)
- if (pos == -1) {
- throw new Error('Cannot find existingFn')
- }
-
- pos = pos + 1
- this._stack.splice(pos, 0, newFn)
-}
-
-/**
- * Adds a single function before a function that already exists in the
- * pipeline.
- *
- * Logs a warning if the function has not been registered.
- *
- * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline.
- * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline.
- */
-lunr.Pipeline.prototype.before = function (existingFn, newFn) {
- lunr.Pipeline.warnIfFunctionNotRegistered(newFn)
-
- var pos = this._stack.indexOf(existingFn)
- if (pos == -1) {
- throw new Error('Cannot find existingFn')
- }
-
- this._stack.splice(pos, 0, newFn)
-}
-
-/**
- * Removes a function from the pipeline.
- *
- * @param {lunr.PipelineFunction} fn The function to remove from the pipeline.
- */
-lunr.Pipeline.prototype.remove = function (fn) {
- var pos = this._stack.indexOf(fn)
- if (pos == -1) {
- return
- }
-
- this._stack.splice(pos, 1)
-}
-
-/**
- * Runs the current list of functions that make up the pipeline against the
- * passed tokens.
- *
- * @param {Array} tokens The tokens to run through the pipeline.
- * @returns {Array}
- */
-lunr.Pipeline.prototype.run = function (tokens) {
- var stackLength = this._stack.length
-
- for (var i = 0; i < stackLength; i++) {
- var fn = this._stack[i]
- var memo = []
-
- for (var j = 0; j < tokens.length; j++) {
- var result = fn(tokens[j], j, tokens)
-
- if (result === null || result === void 0 || result === '') continue
-
- if (Array.isArray(result)) {
- for (var k = 0; k < result.length; k++) {
- memo.push(result[k])
- }
- } else {
- memo.push(result)
- }
- }
-
- tokens = memo
- }
-
- return tokens
-}
-
-/**
- * Convenience method for passing a string through a pipeline and getting
- * strings out. This method takes care of wrapping the passed string in a
- * token and mapping the resulting tokens back to strings.
- *
- * @param {string} str - The string to pass through the pipeline.
- * @param {?object} metadata - Optional metadata to associate with the token
- * passed to the pipeline.
- * @returns {string[]}
- */
-lunr.Pipeline.prototype.runString = function (str, metadata) {
- var token = new lunr.Token (str, metadata)
-
- return this.run([token]).map(function (t) {
- return t.toString()
- })
-}
-
-/**
- * Resets the pipeline by removing any existing processors.
- *
- */
-lunr.Pipeline.prototype.reset = function () {
- this._stack = []
-}
-
-/**
- * Returns a representation of the pipeline ready for serialisation.
- *
- * Logs a warning if the function has not been registered.
- *
- * @returns {Array}
- */
-lunr.Pipeline.prototype.toJSON = function () {
- return this._stack.map(function (fn) {
- lunr.Pipeline.warnIfFunctionNotRegistered(fn)
-
- return fn.label
- })
-}
-/*!
- * lunr.Vector
- * Copyright (C) 2019 Oliver Nightingale
- */
-
-/**
- * A vector is used to construct the vector space of documents and queries. These
- * vectors support operations to determine the similarity between two documents or
- * a document and a query.
- *
- * Normally no parameters are required for initializing a vector, but in the case of
- * loading a previously dumped vector the raw elements can be provided to the constructor.
- *
- * For performance reasons vectors are implemented with a flat array, where an elements
- * index is immediately followed by its value. E.g. [index, value, index, value]. This
- * allows the underlying array to be as sparse as possible and still offer decent
- * performance when being used for vector calculations.
- *
- * @constructor
- * @param {Number[]} [elements] - The flat list of element index and element value pairs.
- */
-lunr.Vector = function (elements) {
- this._magnitude = 0
- this.elements = elements || []
-}
-
-
-/**
- * Calculates the position within the vector to insert a given index.
- *
- * This is used internally by insert and upsert. If there are duplicate indexes then
- * the position is returned as if the value for that index were to be updated, but it
- * is the callers responsibility to check whether there is a duplicate at that index
- *
- * @param {Number} insertIdx - The index at which the element should be inserted.
- * @returns {Number}
- */
-lunr.Vector.prototype.positionForIndex = function (index) {
- // For an empty vector the tuple can be inserted at the beginning
- if (this.elements.length == 0) {
- return 0
- }
-
- var start = 0,
- end = this.elements.length / 2,
- sliceLength = end - start,
- pivotPoint = Math.floor(sliceLength / 2),
- pivotIndex = this.elements[pivotPoint * 2]
-
- while (sliceLength > 1) {
- if (pivotIndex < index) {
- start = pivotPoint
- }
-
- if (pivotIndex > index) {
- end = pivotPoint
- }
-
- if (pivotIndex == index) {
- break
- }
-
- sliceLength = end - start
- pivotPoint = start + Math.floor(sliceLength / 2)
- pivotIndex = this.elements[pivotPoint * 2]
- }
-
- if (pivotIndex == index) {
- return pivotPoint * 2
- }
-
- if (pivotIndex > index) {
- return pivotPoint * 2
- }
-
- if (pivotIndex < index) {
- return (pivotPoint + 1) * 2
- }
-}
-
-/**
- * Inserts an element at an index within the vector.
- *
- * Does not allow duplicates, will throw an error if there is already an entry
- * for this index.
- *
- * @param {Number} insertIdx - The index at which the element should be inserted.
- * @param {Number} val - The value to be inserted into the vector.
- */
-lunr.Vector.prototype.insert = function (insertIdx, val) {
- this.upsert(insertIdx, val, function () {
- throw "duplicate index"
- })
-}
-
-/**
- * Inserts or updates an existing index within the vector.
- *
- * @param {Number} insertIdx - The index at which the element should be inserted.
- * @param {Number} val - The value to be inserted into the vector.
- * @param {function} fn - A function that is called for updates, the existing value and the
- * requested value are passed as arguments
- */
-lunr.Vector.prototype.upsert = function (insertIdx, val, fn) {
- this._magnitude = 0
- var position = this.positionForIndex(insertIdx)
-
- if (this.elements[position] == insertIdx) {
- this.elements[position + 1] = fn(this.elements[position + 1], val)
- } else {
- this.elements.splice(position, 0, insertIdx, val)
- }
-}
-
-/**
- * Calculates the magnitude of this vector.
- *
- * @returns {Number}
- */
-lunr.Vector.prototype.magnitude = function () {
- if (this._magnitude) return this._magnitude
-
- var sumOfSquares = 0,
- elementsLength = this.elements.length
-
- for (var i = 1; i < elementsLength; i += 2) {
- var val = this.elements[i]
- sumOfSquares += val * val
- }
-
- return this._magnitude = Math.sqrt(sumOfSquares)
-}
-
-/**
- * Calculates the dot product of this vector and another vector.
- *
- * @param {lunr.Vector} otherVector - The vector to compute the dot product with.
- * @returns {Number}
- */
-lunr.Vector.prototype.dot = function (otherVector) {
- var dotProduct = 0,
- a = this.elements, b = otherVector.elements,
- aLen = a.length, bLen = b.length,
- aVal = 0, bVal = 0,
- i = 0, j = 0
-
- while (i < aLen && j < bLen) {
- aVal = a[i], bVal = b[j]
- if (aVal < bVal) {
- i += 2
- } else if (aVal > bVal) {
- j += 2
- } else if (aVal == bVal) {
- dotProduct += a[i + 1] * b[j + 1]
- i += 2
- j += 2
- }
- }
-
- return dotProduct
-}
-
-/**
- * Calculates the similarity between this vector and another vector.
- *
- * @param {lunr.Vector} otherVector - The other vector to calculate the
- * similarity with.
- * @returns {Number}
- */
-lunr.Vector.prototype.similarity = function (otherVector) {
- return this.dot(otherVector) / this.magnitude() || 0
-}
-
-/**
- * Converts the vector to an array of the elements within the vector.
- *
- * @returns {Number[]}
- */
-lunr.Vector.prototype.toArray = function () {
- var output = new Array (this.elements.length / 2)
-
- for (var i = 1, j = 0; i < this.elements.length; i += 2, j++) {
- output[j] = this.elements[i]
- }
-
- return output
-}
-
-/**
- * A JSON serializable representation of the vector.
- *
- * @returns {Number[]}
- */
-lunr.Vector.prototype.toJSON = function () {
- return this.elements
-}
-/* eslint-disable */
-/*!
- * lunr.stemmer
- * Copyright (C) 2019 Oliver Nightingale
- * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt
- */
-
-/**
- * lunr.stemmer is an english language stemmer, this is a JavaScript
- * implementation of the PorterStemmer taken from http://tartarus.org/~martin
- *
- * @static
- * @implements {lunr.PipelineFunction}
- * @param {lunr.Token} token - The string to stem
- * @returns {lunr.Token}
- * @see {@link lunr.Pipeline}
- * @function
- */
-lunr.stemmer = (function(){
- var step2list = {
- "ational" : "ate",
- "tional" : "tion",
- "enci" : "ence",
- "anci" : "ance",
- "izer" : "ize",
- "bli" : "ble",
- "alli" : "al",
- "entli" : "ent",
- "eli" : "e",
- "ousli" : "ous",
- "ization" : "ize",
- "ation" : "ate",
- "ator" : "ate",
- "alism" : "al",
- "iveness" : "ive",
- "fulness" : "ful",
- "ousness" : "ous",
- "aliti" : "al",
- "iviti" : "ive",
- "biliti" : "ble",
- "logi" : "log"
- },
-
- step3list = {
- "icate" : "ic",
- "ative" : "",
- "alize" : "al",
- "iciti" : "ic",
- "ical" : "ic",
- "ful" : "",
- "ness" : ""
- },
-
- c = "[^aeiou]", // consonant
- v = "[aeiouy]", // vowel
- C = c + "[^aeiouy]*", // consonant sequence
- V = v + "[aeiou]*", // vowel sequence
-
- mgr0 = "^(" + C + ")?" + V + C, // [C]VC... is m>0
- meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$", // [C]VC[V] is m=1
- mgr1 = "^(" + C + ")?" + V + C + V + C, // [C]VCVC... is m>1
- s_v = "^(" + C + ")?" + v; // vowel in stem
-
- var re_mgr0 = new RegExp(mgr0);
- var re_mgr1 = new RegExp(mgr1);
- var re_meq1 = new RegExp(meq1);
- var re_s_v = new RegExp(s_v);
-
- var re_1a = /^(.+?)(ss|i)es$/;
- var re2_1a = /^(.+?)([^s])s$/;
- var re_1b = /^(.+?)eed$/;
- var re2_1b = /^(.+?)(ed|ing)$/;
- var re_1b_2 = /.$/;
- var re2_1b_2 = /(at|bl|iz)$/;
- var re3_1b_2 = new RegExp("([^aeiouylsz])\\1$");
- var re4_1b_2 = new RegExp("^" + C + v + "[^aeiouwxy]$");
-
- var re_1c = /^(.+?[^aeiou])y$/;
- var re_2 = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
-
- var re_3 = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
-
- var re_4 = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
- var re2_4 = /^(.+?)(s|t)(ion)$/;
-
- var re_5 = /^(.+?)e$/;
- var re_5_1 = /ll$/;
- var re3_5 = new RegExp("^" + C + v + "[^aeiouwxy]$");
-
- var porterStemmer = function porterStemmer(w) {
- var stem,
- suffix,
- firstch,
- re,
- re2,
- re3,
- re4;
-
- if (w.length < 3) { return w; }
-
- firstch = w.substr(0,1);
- if (firstch == "y") {
- w = firstch.toUpperCase() + w.substr(1);
- }
-
- // Step 1a
- re = re_1a
- re2 = re2_1a;
-
- if (re.test(w)) { w = w.replace(re,"$1$2"); }
- else if (re2.test(w)) { w = w.replace(re2,"$1$2"); }
-
- // Step 1b
- re = re_1b;
- re2 = re2_1b;
- if (re.test(w)) {
- var fp = re.exec(w);
- re = re_mgr0;
- if (re.test(fp[1])) {
- re = re_1b_2;
- w = w.replace(re,"");
- }
- } else if (re2.test(w)) {
- var fp = re2.exec(w);
- stem = fp[1];
- re2 = re_s_v;
- if (re2.test(stem)) {
- w = stem;
- re2 = re2_1b_2;
- re3 = re3_1b_2;
- re4 = re4_1b_2;
- if (re2.test(w)) { w = w + "e"; }
- else if (re3.test(w)) { re = re_1b_2; w = w.replace(re,""); }
- else if (re4.test(w)) { w = w + "e"; }
- }
- }
-
- // Step 1c - replace suffix y or Y by i if preceded by a non-vowel which is not the first letter of the word (so cry -> cri, by -> by, say -> say)
- re = re_1c;
- if (re.test(w)) {
- var fp = re.exec(w);
- stem = fp[1];
- w = stem + "i";
- }
-
- // Step 2
- re = re_2;
- if (re.test(w)) {
- var fp = re.exec(w);
- stem = fp[1];
- suffix = fp[2];
- re = re_mgr0;
- if (re.test(stem)) {
- w = stem + step2list[suffix];
- }
- }
-
- // Step 3
- re = re_3;
- if (re.test(w)) {
- var fp = re.exec(w);
- stem = fp[1];
- suffix = fp[2];
- re = re_mgr0;
- if (re.test(stem)) {
- w = stem + step3list[suffix];
- }
- }
-
- // Step 4
- re = re_4;
- re2 = re2_4;
- if (re.test(w)) {
- var fp = re.exec(w);
- stem = fp[1];
- re = re_mgr1;
- if (re.test(stem)) {
- w = stem;
- }
- } else if (re2.test(w)) {
- var fp = re2.exec(w);
- stem = fp[1] + fp[2];
- re2 = re_mgr1;
- if (re2.test(stem)) {
- w = stem;
- }
- }
-
- // Step 5
- re = re_5;
- if (re.test(w)) {
- var fp = re.exec(w);
- stem = fp[1];
- re = re_mgr1;
- re2 = re_meq1;
- re3 = re3_5;
- if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) {
- w = stem;
- }
- }
-
- re = re_5_1;
- re2 = re_mgr1;
- if (re.test(w) && re2.test(w)) {
- re = re_1b_2;
- w = w.replace(re,"");
- }
-
- // and turn initial Y back to y
-
- if (firstch == "y") {
- w = firstch.toLowerCase() + w.substr(1);
- }
-
- return w;
- };
-
- return function (token) {
- return token.update(porterStemmer);
- }
-})();
-
-lunr.Pipeline.registerFunction(lunr.stemmer, 'stemmer')
-/*!
- * lunr.stopWordFilter
- * Copyright (C) 2019 Oliver Nightingale
- */
-
-/**
- * lunr.generateStopWordFilter builds a stopWordFilter function from the provided
- * list of stop words.
- *
- * The built in lunr.stopWordFilter is built using this generator and can be used
- * to generate custom stopWordFilters for applications or non English languages.
- *
- * @function
- * @param {Array} token The token to pass through the filter
- * @returns {lunr.PipelineFunction}
- * @see lunr.Pipeline
- * @see lunr.stopWordFilter
- */
-lunr.generateStopWordFilter = function (stopWords) {
- var words = stopWords.reduce(function (memo, stopWord) {
- memo[stopWord] = stopWord
- return memo
- }, {})
-
- return function (token) {
- if (token && words[token.toString()] !== token.toString()) return token
- }
-}
-
-/**
- * lunr.stopWordFilter is an English language stop word list filter, any words
- * contained in the list will not be passed through the filter.
- *
- * This is intended to be used in the Pipeline. If the token does not pass the
- * filter then undefined will be returned.
- *
- * @function
- * @implements {lunr.PipelineFunction}
- * @params {lunr.Token} token - A token to check for being a stop word.
- * @returns {lunr.Token}
- * @see {@link lunr.Pipeline}
- */
-lunr.stopWordFilter = lunr.generateStopWordFilter([
- 'a',
- 'able',
- 'about',
- 'across',
- 'after',
- 'all',
- 'almost',
- 'also',
- 'am',
- 'among',
- 'an',
- 'and',
- 'any',
- 'are',
- 'as',
- 'at',
- 'be',
- 'because',
- 'been',
- 'but',
- 'by',
- 'can',
- 'cannot',
- 'could',
- 'dear',
- 'did',
- 'do',
- 'does',
- 'either',
- 'else',
- 'ever',
- 'every',
- 'for',
- 'from',
- 'get',
- 'got',
- 'had',
- 'has',
- 'have',
- 'he',
- 'her',
- 'hers',
- 'him',
- 'his',
- 'how',
- 'however',
- 'i',
- 'if',
- 'in',
- 'into',
- 'is',
- 'it',
- 'its',
- 'just',
- 'least',
- 'let',
- 'like',
- 'likely',
- 'may',
- 'me',
- 'might',
- 'most',
- 'must',
- 'my',
- 'neither',
- 'no',
- 'nor',
- 'not',
- 'of',
- 'off',
- 'often',
- 'on',
- 'only',
- 'or',
- 'other',
- 'our',
- 'own',
- 'rather',
- 'said',
- 'say',
- 'says',
- 'she',
- 'should',
- 'since',
- 'so',
- 'some',
- 'than',
- 'that',
- 'the',
- 'their',
- 'them',
- 'then',
- 'there',
- 'these',
- 'they',
- 'this',
- 'tis',
- 'to',
- 'too',
- 'twas',
- 'us',
- 'wants',
- 'was',
- 'we',
- 'were',
- 'what',
- 'when',
- 'where',
- 'which',
- 'while',
- 'who',
- 'whom',
- 'why',
- 'will',
- 'with',
- 'would',
- 'yet',
- 'you',
- 'your'
-])
-
-lunr.Pipeline.registerFunction(lunr.stopWordFilter, 'stopWordFilter')
-/*!
- * lunr.trimmer
- * Copyright (C) 2019 Oliver Nightingale
- */
-
-/**
- * lunr.trimmer is a pipeline function for trimming non word
- * characters from the beginning and end of tokens before they
- * enter the index.
- *
- * This implementation may not work correctly for non latin
- * characters and should either be removed or adapted for use
- * with languages with non-latin characters.
- *
- * @static
- * @implements {lunr.PipelineFunction}
- * @param {lunr.Token} token The token to pass through the filter
- * @returns {lunr.Token}
- * @see lunr.Pipeline
- */
-lunr.trimmer = function (token) {
- return token.update(function (s) {
- return s.replace(/^\W+/, '').replace(/\W+$/, '')
- })
-}
-
-lunr.Pipeline.registerFunction(lunr.trimmer, 'trimmer')
-/*!
- * lunr.TokenSet
- * Copyright (C) 2019 Oliver Nightingale
- */
-
-/**
- * A token set is used to store the unique list of all tokens
- * within an index. Token sets are also used to represent an
- * incoming query to the index, this query token set and index
- * token set are then intersected to find which tokens to look
- * up in the inverted index.
- *
- * A token set can hold multiple tokens, as in the case of the
- * index token set, or it can hold a single token as in the
- * case of a simple query token set.
- *
- * Additionally token sets are used to perform wildcard matching.
- * Leading, contained and trailing wildcards are supported, and
- * from this edit distance matching can also be provided.
- *
- * Token sets are implemented as a minimal finite state automata,
- * where both common prefixes and suffixes are shared between tokens.
- * This helps to reduce the space used for storing the token set.
- *
- * @constructor
- */
-lunr.TokenSet = function () {
- this.final = false
- this.edges = {}
- this.id = lunr.TokenSet._nextId
- lunr.TokenSet._nextId += 1
-}
-
-/**
- * Keeps track of the next, auto increment, identifier to assign
- * to a new tokenSet.
- *
- * TokenSets require a unique identifier to be correctly minimised.
- *
- * @private
- */
-lunr.TokenSet._nextId = 1
-
-/**
- * Creates a TokenSet instance from the given sorted array of words.
- *
- * @param {String[]} arr - A sorted array of strings to create the set from.
- * @returns {lunr.TokenSet}
- * @throws Will throw an error if the input array is not sorted.
- */
-lunr.TokenSet.fromArray = function (arr) {
- var builder = new lunr.TokenSet.Builder
-
- for (var i = 0, len = arr.length; i < len; i++) {
- builder.insert(arr[i])
- }
-
- builder.finish()
- return builder.root
-}
-
-/**
- * Creates a token set from a query clause.
- *
- * @private
- * @param {Object} clause - A single clause from lunr.Query.
- * @param {string} clause.term - The query clause term.
- * @param {number} [clause.editDistance] - The optional edit distance for the term.
- * @returns {lunr.TokenSet}
- */
-lunr.TokenSet.fromClause = function (clause) {
- if ('editDistance' in clause) {
- return lunr.TokenSet.fromFuzzyString(clause.term, clause.editDistance)
- } else {
- return lunr.TokenSet.fromString(clause.term)
- }
-}
-
-/**
- * Creates a token set representing a single string with a specified
- * edit distance.
- *
- * Insertions, deletions, substitutions and transpositions are each
- * treated as an edit distance of 1.
- *
- * Increasing the allowed edit distance will have a dramatic impact
- * on the performance of both creating and intersecting these TokenSets.
- * It is advised to keep the edit distance less than 3.
- *
- * @param {string} str - The string to create the token set from.
- * @param {number} editDistance - The allowed edit distance to match.
- * @returns {lunr.Vector}
- */
-lunr.TokenSet.fromFuzzyString = function (str, editDistance) {
- var root = new lunr.TokenSet
-
- var stack = [{
- node: root,
- editsRemaining: editDistance,
- str: str
- }]
-
- while (stack.length) {
- var frame = stack.pop()
-
- // no edit
- if (frame.str.length > 0) {
- var char = frame.str.charAt(0),
- noEditNode
-
- if (char in frame.node.edges) {
- noEditNode = frame.node.edges[char]
- } else {
- noEditNode = new lunr.TokenSet
- frame.node.edges[char] = noEditNode
- }
-
- if (frame.str.length == 1) {
- noEditNode.final = true
- }
-
- stack.push({
- node: noEditNode,
- editsRemaining: frame.editsRemaining,
- str: frame.str.slice(1)
- })
- }
-
- if (frame.editsRemaining == 0) {
- continue
- }
-
- // insertion
- if ("*" in frame.node.edges) {
- var insertionNode = frame.node.edges["*"]
- } else {
- var insertionNode = new lunr.TokenSet
- frame.node.edges["*"] = insertionNode
- }
-
- if (frame.str.length == 0) {
- insertionNode.final = true
- }
-
- stack.push({
- node: insertionNode,
- editsRemaining: frame.editsRemaining - 1,
- str: frame.str
- })
-
- // deletion
- // can only do a deletion if we have enough edits remaining
- // and if there are characters left to delete in the string
- if (frame.str.length > 1) {
- stack.push({
- node: frame.node,
- editsRemaining: frame.editsRemaining - 1,
- str: frame.str.slice(1)
- })
- }
-
- // deletion
- // just removing the last character from the str
- if (frame.str.length == 1) {
- frame.node.final = true
- }
-
- // substitution
- // can only do a substitution if we have enough edits remaining
- // and if there are characters left to substitute
- if (frame.str.length >= 1) {
- if ("*" in frame.node.edges) {
- var substitutionNode = frame.node.edges["*"]
- } else {
- var substitutionNode = new lunr.TokenSet
- frame.node.edges["*"] = substitutionNode
- }
-
- if (frame.str.length == 1) {
- substitutionNode.final = true
- }
-
- stack.push({
- node: substitutionNode,
- editsRemaining: frame.editsRemaining - 1,
- str: frame.str.slice(1)
- })
- }
-
- // transposition
- // can only do a transposition if there are edits remaining
- // and there are enough characters to transpose
- if (frame.str.length > 1) {
- var charA = frame.str.charAt(0),
- charB = frame.str.charAt(1),
- transposeNode
-
- if (charB in frame.node.edges) {
- transposeNode = frame.node.edges[charB]
- } else {
- transposeNode = new lunr.TokenSet
- frame.node.edges[charB] = transposeNode
- }
-
- if (frame.str.length == 1) {
- transposeNode.final = true
- }
-
- stack.push({
- node: transposeNode,
- editsRemaining: frame.editsRemaining - 1,
- str: charA + frame.str.slice(2)
- })
- }
- }
-
- return root
-}
-
-/**
- * Creates a TokenSet from a string.
- *
- * The string may contain one or more wildcard characters (*)
- * that will allow wildcard matching when intersecting with
- * another TokenSet.
- *
- * @param {string} str - The string to create a TokenSet from.
- * @returns {lunr.TokenSet}
- */
-lunr.TokenSet.fromString = function (str) {
- var node = new lunr.TokenSet,
- root = node
-
- /*
- * Iterates through all characters within the passed string
- * appending a node for each character.
- *
- * When a wildcard character is found then a self
- * referencing edge is introduced to continually match
- * any number of any characters.
- */
- for (var i = 0, len = str.length; i < len; i++) {
- var char = str[i],
- final = (i == len - 1)
-
- if (char == "*") {
- node.edges[char] = node
- node.final = final
-
- } else {
- var next = new lunr.TokenSet
- next.final = final
-
- node.edges[char] = next
- node = next
- }
- }
-
- return root
-}
-
-/**
- * Converts this TokenSet into an array of strings
- * contained within the TokenSet.
- *
- * This is not intended to be used on a TokenSet that
- * contains wildcards, in these cases the results are
- * undefined and are likely to cause an infinite loop.
- *
- * @returns {string[]}
- */
-lunr.TokenSet.prototype.toArray = function () {
- var words = []
-
- var stack = [{
- prefix: "",
- node: this
- }]
-
- while (stack.length) {
- var frame = stack.pop(),
- edges = Object.keys(frame.node.edges),
- len = edges.length
-
- if (frame.node.final) {
- /* In Safari, at this point the prefix is sometimes corrupted, see:
- * https://github.com/olivernn/lunr.js/issues/279 Calling any
- * String.prototype method forces Safari to "cast" this string to what
- * it's supposed to be, fixing the bug. */
- frame.prefix.charAt(0)
- words.push(frame.prefix)
- }
-
- for (var i = 0; i < len; i++) {
- var edge = edges[i]
-
- stack.push({
- prefix: frame.prefix.concat(edge),
- node: frame.node.edges[edge]
- })
- }
- }
-
- return words
-}
-
-/**
- * Generates a string representation of a TokenSet.
- *
- * This is intended to allow TokenSets to be used as keys
- * in objects, largely to aid the construction and minimisation
- * of a TokenSet. As such it is not designed to be a human
- * friendly representation of the TokenSet.
- *
- * @returns {string}
- */
-lunr.TokenSet.prototype.toString = function () {
- // NOTE: Using Object.keys here as this.edges is very likely
- // to enter 'hash-mode' with many keys being added
- //
- // avoiding a for-in loop here as it leads to the function
- // being de-optimised (at least in V8). From some simple
- // benchmarks the performance is comparable, but allowing
- // V8 to optimize may mean easy performance wins in the future.
-
- if (this._str) {
- return this._str
- }
-
- var str = this.final ? '1' : '0',
- labels = Object.keys(this.edges).sort(),
- len = labels.length
-
- for (var i = 0; i < len; i++) {
- var label = labels[i],
- node = this.edges[label]
-
- str = str + label + node.id
- }
-
- return str
-}
-
-/**
- * Returns a new TokenSet that is the intersection of
- * this TokenSet and the passed TokenSet.
- *
- * This intersection will take into account any wildcards
- * contained within the TokenSet.
- *
- * @param {lunr.TokenSet} b - An other TokenSet to intersect with.
- * @returns {lunr.TokenSet}
- */
-lunr.TokenSet.prototype.intersect = function (b) {
- var output = new lunr.TokenSet,
- frame = undefined
-
- var stack = [{
- qNode: b,
- output: output,
- node: this
- }]
-
- while (stack.length) {
- frame = stack.pop()
-
- // NOTE: As with the #toString method, we are using
- // Object.keys and a for loop instead of a for-in loop
- // as both of these objects enter 'hash' mode, causing
- // the function to be de-optimised in V8
- var qEdges = Object.keys(frame.qNode.edges),
- qLen = qEdges.length,
- nEdges = Object.keys(frame.node.edges),
- nLen = nEdges.length
-
- for (var q = 0; q < qLen; q++) {
- var qEdge = qEdges[q]
-
- for (var n = 0; n < nLen; n++) {
- var nEdge = nEdges[n]
-
- if (nEdge == qEdge || qEdge == '*') {
- var node = frame.node.edges[nEdge],
- qNode = frame.qNode.edges[qEdge],
- final = node.final && qNode.final,
- next = undefined
-
- if (nEdge in frame.output.edges) {
- // an edge already exists for this character
- // no need to create a new node, just set the finality
- // bit unless this node is already final
- next = frame.output.edges[nEdge]
- next.final = next.final || final
-
- } else {
- // no edge exists yet, must create one
- // set the finality bit and insert it
- // into the output
- next = new lunr.TokenSet
- next.final = final
- frame.output.edges[nEdge] = next
- }
-
- stack.push({
- qNode: qNode,
- output: next,
- node: node
- })
- }
- }
- }
- }
-
- return output
-}
-lunr.TokenSet.Builder = function () {
- this.previousWord = ""
- this.root = new lunr.TokenSet
- this.uncheckedNodes = []
- this.minimizedNodes = {}
-}
-
-lunr.TokenSet.Builder.prototype.insert = function (word) {
- var node,
- commonPrefix = 0
-
- if (word < this.previousWord) {
- throw new Error ("Out of order word insertion")
- }
-
- for (var i = 0; i < word.length && i < this.previousWord.length; i++) {
- if (word[i] != this.previousWord[i]) break
- commonPrefix++
- }
-
- this.minimize(commonPrefix)
-
- if (this.uncheckedNodes.length == 0) {
- node = this.root
- } else {
- node = this.uncheckedNodes[this.uncheckedNodes.length - 1].child
- }
-
- for (var i = commonPrefix; i < word.length; i++) {
- var nextNode = new lunr.TokenSet,
- char = word[i]
-
- node.edges[char] = nextNode
-
- this.uncheckedNodes.push({
- parent: node,
- char: char,
- child: nextNode
- })
-
- node = nextNode
- }
-
- node.final = true
- this.previousWord = word
-}
-
-lunr.TokenSet.Builder.prototype.finish = function () {
- this.minimize(0)
-}
-
-lunr.TokenSet.Builder.prototype.minimize = function (downTo) {
- for (var i = this.uncheckedNodes.length - 1; i >= downTo; i--) {
- var node = this.uncheckedNodes[i],
- childKey = node.child.toString()
-
- if (childKey in this.minimizedNodes) {
- node.parent.edges[node.char] = this.minimizedNodes[childKey]
- } else {
- // Cache the key for this node since
- // we know it can't change anymore
- node.child._str = childKey
-
- this.minimizedNodes[childKey] = node.child
- }
-
- this.uncheckedNodes.pop()
- }
-}
-/*!
- * lunr.Index
- * Copyright (C) 2019 Oliver Nightingale
- */
-
-/**
- * An index contains the built index of all documents and provides a query interface
- * to the index.
- *
- * Usually instances of lunr.Index will not be created using this constructor, instead
- * lunr.Builder should be used to construct new indexes, or lunr.Index.load should be
- * used to load previously built and serialized indexes.
- *
- * @constructor
- * @param {Object} attrs - The attributes of the built search index.
- * @param {Object} attrs.invertedIndex - An index of term/field to document reference.
- * @param {Object} attrs.fieldVectors - Field vectors
- * @param {lunr.TokenSet} attrs.tokenSet - An set of all corpus tokens.
- * @param {string[]} attrs.fields - The names of indexed document fields.
- * @param {lunr.Pipeline} attrs.pipeline - The pipeline to use for search terms.
- */
-lunr.Index = function (attrs) {
- this.invertedIndex = attrs.invertedIndex
- this.fieldVectors = attrs.fieldVectors
- this.tokenSet = attrs.tokenSet
- this.fields = attrs.fields
- this.pipeline = attrs.pipeline
-}
-
-/**
- * A result contains details of a document matching a search query.
- * @typedef {Object} lunr.Index~Result
- * @property {string} ref - The reference of the document this result represents.
- * @property {number} score - A number between 0 and 1 representing how similar this document is to the query.
- * @property {lunr.MatchData} matchData - Contains metadata about this match including which term(s) caused the match.
- */
-
-/**
- * Although lunr provides the ability to create queries using lunr.Query, it also provides a simple
- * query language which itself is parsed into an instance of lunr.Query.
- *
- * For programmatically building queries it is advised to directly use lunr.Query, the query language
- * is best used for human entered text rather than program generated text.
- *
- * At its simplest queries can just be a single term, e.g. `hello`, multiple terms are also supported
- * and will be combined with OR, e.g `hello world` will match documents that contain either 'hello'
- * or 'world', though those that contain both will rank higher in the results.
- *
- * Wildcards can be included in terms to match one or more unspecified characters, these wildcards can
- * be inserted anywhere within the term, and more than one wildcard can exist in a single term. Adding
- * wildcards will increase the number of documents that will be found but can also have a negative
- * impact on query performance, especially with wildcards at the beginning of a term.
- *
- * Terms can be restricted to specific fields, e.g. `title:hello`, only documents with the term
- * hello in the title field will match this query. Using a field not present in the index will lead
- * to an error being thrown.
- *
- * Modifiers can also be added to terms, lunr supports edit distance and boost modifiers on terms. A term
- * boost will make documents matching that term score higher, e.g. `foo^5`. Edit distance is also supported
- * to provide fuzzy matching, e.g. 'hello~2' will match documents with hello with an edit distance of 2.
- * Avoid large values for edit distance to improve query performance.
- *
- * Each term also supports a presence modifier. By default a term's presence in document is optional, however
- * this can be changed to either required or prohibited. For a term's presence to be required in a document the
- * term should be prefixed with a '+', e.g. `+foo bar` is a search for documents that must contain 'foo' and
- * optionally contain 'bar'. Conversely a leading '-' sets the terms presence to prohibited, i.e. it must not
- * appear in a document, e.g. `-foo bar` is a search for documents that do not contain 'foo' but may contain 'bar'.
- *
- * To escape special characters the backslash character '\' can be used, this allows searches to include
- * characters that would normally be considered modifiers, e.g. `foo\~2` will search for a term "foo~2" instead
- * of attempting to apply a boost of 2 to the search term "foo".
- *
- * @typedef {string} lunr.Index~QueryString
- * @example Simple single term query
- * hello
- * @example Multiple term query
- * hello world
- * @example term scoped to a field
- * title:hello
- * @example term with a boost of 10
- * hello^10
- * @example term with an edit distance of 2
- * hello~2
- * @example terms with presence modifiers
- * -foo +bar baz
- */
-
-/**
- * Performs a search against the index using lunr query syntax.
- *
- * Results will be returned sorted by their score, the most relevant results
- * will be returned first. For details on how the score is calculated, please see
- * the {@link https://lunrjs.com/guides/searching.html#scoring|guide}.
- *
- * For more programmatic querying use lunr.Index#query.
- *
- * @param {lunr.Index~QueryString} queryString - A string containing a lunr query.
- * @throws {lunr.QueryParseError} If the passed query string cannot be parsed.
- * @returns {lunr.Index~Result[]}
- */
-lunr.Index.prototype.search = function (queryString) {
- return this.query(function (query) {
- var parser = new lunr.QueryParser(queryString, query)
- parser.parse()
- })
-}
-
-/**
- * A query builder callback provides a query object to be used to express
- * the query to perform on the index.
- *
- * @callback lunr.Index~queryBuilder
- * @param {lunr.Query} query - The query object to build up.
- * @this lunr.Query
- */
-
-/**
- * Performs a query against the index using the yielded lunr.Query object.
- *
- * If performing programmatic queries against the index, this method is preferred
- * over lunr.Index#search so as to avoid the additional query parsing overhead.
- *
- * A query object is yielded to the supplied function which should be used to
- * express the query to be run against the index.
- *
- * Note that although this function takes a callback parameter it is _not_ an
- * asynchronous operation, the callback is just yielded a query object to be
- * customized.
- *
- * @param {lunr.Index~queryBuilder} fn - A function that is used to build the query.
- * @returns {lunr.Index~Result[]}
- */
-lunr.Index.prototype.query = function (fn) {
- // for each query clause
- // * process terms
- // * expand terms from token set
- // * find matching documents and metadata
- // * get document vectors
- // * score documents
-
- var query = new lunr.Query(this.fields),
- matchingFields = Object.create(null),
- queryVectors = Object.create(null),
- termFieldCache = Object.create(null),
- requiredMatches = Object.create(null),
- prohibitedMatches = Object.create(null)
-
- /*
- * To support field level boosts a query vector is created per
- * field. An empty vector is eagerly created to support negated
- * queries.
- */
- for (var i = 0; i < this.fields.length; i++) {
- queryVectors[this.fields[i]] = new lunr.Vector
- }
-
- fn.call(query, query)
-
- for (var i = 0; i < query.clauses.length; i++) {
- /*
- * Unless the pipeline has been disabled for this term, which is
- * the case for terms with wildcards, we need to pass the clause
- * term through the search pipeline. A pipeline returns an array
- * of processed terms. Pipeline functions may expand the passed
- * term, which means we may end up performing multiple index lookups
- * for a single query term.
- */
- var clause = query.clauses[i],
- terms = null,
- clauseMatches = lunr.Set.complete
-
- if (clause.usePipeline) {
- terms = this.pipeline.runString(clause.term, {
- fields: clause.fields
- })
- } else {
- terms = [clause.term]
- }
-
- for (var m = 0; m < terms.length; m++) {
- var term = terms[m]
-
- /*
- * Each term returned from the pipeline needs to use the same query
- * clause object, e.g. the same boost and or edit distance. The
- * simplest way to do this is to re-use the clause object but mutate
- * its term property.
- */
- clause.term = term
-
- /*
- * From the term in the clause we create a token set which will then
- * be used to intersect the indexes token set to get a list of terms
- * to lookup in the inverted index
- */
- var termTokenSet = lunr.TokenSet.fromClause(clause),
- expandedTerms = this.tokenSet.intersect(termTokenSet).toArray()
-
- /*
- * If a term marked as required does not exist in the tokenSet it is
- * impossible for the search to return any matches. We set all the field
- * scoped required matches set to empty and stop examining any further
- * clauses.
- */
- if (expandedTerms.length === 0 && clause.presence === lunr.Query.presence.REQUIRED) {
- for (var k = 0; k < clause.fields.length; k++) {
- var field = clause.fields[k]
- requiredMatches[field] = lunr.Set.empty
- }
-
- break
- }
-
- for (var j = 0; j < expandedTerms.length; j++) {
- /*
- * For each term get the posting and termIndex, this is required for
- * building the query vector.
- */
- var expandedTerm = expandedTerms[j],
- posting = this.invertedIndex[expandedTerm],
- termIndex = posting._index
-
- for (var k = 0; k < clause.fields.length; k++) {
- /*
- * For each field that this query term is scoped by (by default
- * all fields are in scope) we need to get all the document refs
- * that have this term in that field.
- *
- * The posting is the entry in the invertedIndex for the matching
- * term from above.
- */
- var field = clause.fields[k],
- fieldPosting = posting[field],
- matchingDocumentRefs = Object.keys(fieldPosting),
- termField = expandedTerm + "/" + field,
- matchingDocumentsSet = new lunr.Set(matchingDocumentRefs)
-
- /*
- * if the presence of this term is required ensure that the matching
- * documents are added to the set of required matches for this clause.
- *
- */
- if (clause.presence == lunr.Query.presence.REQUIRED) {
- clauseMatches = clauseMatches.union(matchingDocumentsSet)
-
- if (requiredMatches[field] === undefined) {
- requiredMatches[field] = lunr.Set.complete
- }
- }
-
- /*
- * if the presence of this term is prohibited ensure that the matching
- * documents are added to the set of prohibited matches for this field,
- * creating that set if it does not yet exist.
- */
- if (clause.presence == lunr.Query.presence.PROHIBITED) {
- if (prohibitedMatches[field] === undefined) {
- prohibitedMatches[field] = lunr.Set.empty
- }
-
- prohibitedMatches[field] = prohibitedMatches[field].union(matchingDocumentsSet)
-
- /*
- * Prohibited matches should not be part of the query vector used for
- * similarity scoring and no metadata should be extracted so we continue
- * to the next field
- */
- continue
- }
-
- /*
- * The query field vector is populated using the termIndex found for
- * the term and a unit value with the appropriate boost applied.
- * Using upsert because there could already be an entry in the vector
- * for the term we are working with. In that case we just add the scores
- * together.
- */
- queryVectors[field].upsert(termIndex, clause.boost, function (a, b) { return a + b })
-
- /**
- * If we've already seen this term, field combo then we've already collected
- * the matching documents and metadata, no need to go through all that again
- */
- if (termFieldCache[termField]) {
- continue
- }
-
- for (var l = 0; l < matchingDocumentRefs.length; l++) {
- /*
- * All metadata for this term/field/document triple
- * are then extracted and collected into an instance
- * of lunr.MatchData ready to be returned in the query
- * results
- */
- var matchingDocumentRef = matchingDocumentRefs[l],
- matchingFieldRef = new lunr.FieldRef (matchingDocumentRef, field),
- metadata = fieldPosting[matchingDocumentRef],
- fieldMatch
-
- if ((fieldMatch = matchingFields[matchingFieldRef]) === undefined) {
- matchingFields[matchingFieldRef] = new lunr.MatchData (expandedTerm, field, metadata)
- } else {
- fieldMatch.add(expandedTerm, field, metadata)
- }
-
- }
-
- termFieldCache[termField] = true
- }
- }
- }
-
- /**
- * If the presence was required we need to update the requiredMatches field sets.
- * We do this after all fields for the term have collected their matches because
- * the clause terms presence is required in _any_ of the fields not _all_ of the
- * fields.
- */
- if (clause.presence === lunr.Query.presence.REQUIRED) {
- for (var k = 0; k < clause.fields.length; k++) {
- var field = clause.fields[k]
- requiredMatches[field] = requiredMatches[field].intersect(clauseMatches)
- }
- }
- }
-
- /**
- * Need to combine the field scoped required and prohibited
- * matching documents into a global set of required and prohibited
- * matches
- */
- var allRequiredMatches = lunr.Set.complete,
- allProhibitedMatches = lunr.Set.empty
-
- for (var i = 0; i < this.fields.length; i++) {
- var field = this.fields[i]
-
- if (requiredMatches[field]) {
- allRequiredMatches = allRequiredMatches.intersect(requiredMatches[field])
- }
-
- if (prohibitedMatches[field]) {
- allProhibitedMatches = allProhibitedMatches.union(prohibitedMatches[field])
- }
- }
-
- var matchingFieldRefs = Object.keys(matchingFields),
- results = [],
- matches = Object.create(null)
-
- /*
- * If the query is negated (contains only prohibited terms)
- * we need to get _all_ fieldRefs currently existing in the
- * index. This is only done when we know that the query is
- * entirely prohibited terms to avoid any cost of getting all
- * fieldRefs unnecessarily.
- *
- * Additionally, blank MatchData must be created to correctly
- * populate the results.
- */
- if (query.isNegated()) {
- matchingFieldRefs = Object.keys(this.fieldVectors)
-
- for (var i = 0; i < matchingFieldRefs.length; i++) {
- var matchingFieldRef = matchingFieldRefs[i]
- var fieldRef = lunr.FieldRef.fromString(matchingFieldRef)
- matchingFields[matchingFieldRef] = new lunr.MatchData
- }
- }
-
- for (var i = 0; i < matchingFieldRefs.length; i++) {
- /*
- * Currently we have document fields that match the query, but we
- * need to return documents. The matchData and scores are combined
- * from multiple fields belonging to the same document.
- *
- * Scores are calculated by field, using the query vectors created
- * above, and combined into a final document score using addition.
- */
- var fieldRef = lunr.FieldRef.fromString(matchingFieldRefs[i]),
- docRef = fieldRef.docRef
-
- if (!allRequiredMatches.contains(docRef)) {
- continue
- }
-
- if (allProhibitedMatches.contains(docRef)) {
- continue
- }
-
- var fieldVector = this.fieldVectors[fieldRef],
- score = queryVectors[fieldRef.fieldName].similarity(fieldVector),
- docMatch
-
- if ((docMatch = matches[docRef]) !== undefined) {
- docMatch.score += score
- docMatch.matchData.combine(matchingFields[fieldRef])
- } else {
- var match = {
- ref: docRef,
- score: score,
- matchData: matchingFields[fieldRef]
- }
- matches[docRef] = match
- results.push(match)
- }
- }
-
- /*
- * Sort the results objects by score, highest first.
- */
- return results.sort(function (a, b) {
- return b.score - a.score
- })
-}
-
-/**
- * Prepares the index for JSON serialization.
- *
- * The schema for this JSON blob will be described in a
- * separate JSON schema file.
- *
- * @returns {Object}
- */
-lunr.Index.prototype.toJSON = function () {
- var invertedIndex = Object.keys(this.invertedIndex)
- .sort()
- .map(function (term) {
- return [term, this.invertedIndex[term]]
- }, this)
-
- var fieldVectors = Object.keys(this.fieldVectors)
- .map(function (ref) {
- return [ref, this.fieldVectors[ref].toJSON()]
- }, this)
-
- return {
- version: lunr.version,
- fields: this.fields,
- fieldVectors: fieldVectors,
- invertedIndex: invertedIndex,
- pipeline: this.pipeline.toJSON()
- }
-}
-
-/**
- * Loads a previously serialized lunr.Index
- *
- * @param {Object} serializedIndex - A previously serialized lunr.Index
- * @returns {lunr.Index}
- */
-lunr.Index.load = function (serializedIndex) {
- var attrs = {},
- fieldVectors = {},
- serializedVectors = serializedIndex.fieldVectors,
- invertedIndex = Object.create(null),
- serializedInvertedIndex = serializedIndex.invertedIndex,
- tokenSetBuilder = new lunr.TokenSet.Builder,
- pipeline = lunr.Pipeline.load(serializedIndex.pipeline)
-
- if (serializedIndex.version != lunr.version) {
- lunr.utils.warn("Version mismatch when loading serialised index. Current version of lunr '" + lunr.version + "' does not match serialized index '" + serializedIndex.version + "'")
- }
-
- for (var i = 0; i < serializedVectors.length; i++) {
- var tuple = serializedVectors[i],
- ref = tuple[0],
- elements = tuple[1]
-
- fieldVectors[ref] = new lunr.Vector(elements)
- }
-
- for (var i = 0; i < serializedInvertedIndex.length; i++) {
- var tuple = serializedInvertedIndex[i],
- term = tuple[0],
- posting = tuple[1]
-
- tokenSetBuilder.insert(term)
- invertedIndex[term] = posting
- }
-
- tokenSetBuilder.finish()
-
- attrs.fields = serializedIndex.fields
-
- attrs.fieldVectors = fieldVectors
- attrs.invertedIndex = invertedIndex
- attrs.tokenSet = tokenSetBuilder.root
- attrs.pipeline = pipeline
-
- return new lunr.Index(attrs)
-}
-/*!
- * lunr.Builder
- * Copyright (C) 2019 Oliver Nightingale
- */
-
-/**
- * lunr.Builder performs indexing on a set of documents and
- * returns instances of lunr.Index ready for querying.
- *
- * All configuration of the index is done via the builder, the
- * fields to index, the document reference, the text processing
- * pipeline and document scoring parameters are all set on the
- * builder before indexing.
- *
- * @constructor
- * @property {string} _ref - Internal reference to the document reference field.
- * @property {string[]} _fields - Internal reference to the document fields to index.
- * @property {object} invertedIndex - The inverted index maps terms to document fields.
- * @property {object} documentTermFrequencies - Keeps track of document term frequencies.
- * @property {object} documentLengths - Keeps track of the length of documents added to the index.
- * @property {lunr.tokenizer} tokenizer - Function for splitting strings into tokens for indexing.
- * @property {lunr.Pipeline} pipeline - The pipeline performs text processing on tokens before indexing.
- * @property {lunr.Pipeline} searchPipeline - A pipeline for processing search terms before querying the index.
- * @property {number} documentCount - Keeps track of the total number of documents indexed.
- * @property {number} _b - A parameter to control field length normalization, setting this to 0 disabled normalization, 1 fully normalizes field lengths, the default value is 0.75.
- * @property {number} _k1 - A parameter to control how quickly an increase in term frequency results in term frequency saturation, the default value is 1.2.
- * @property {number} termIndex - A counter incremented for each unique term, used to identify a terms position in the vector space.
- * @property {array} metadataWhitelist - A list of metadata keys that have been whitelisted for entry in the index.
- */
-lunr.Builder = function () {
- this._ref = "id"
- this._fields = Object.create(null)
- this._documents = Object.create(null)
- this.invertedIndex = Object.create(null)
- this.fieldTermFrequencies = {}
- this.fieldLengths = {}
- this.tokenizer = lunr.tokenizer
- this.pipeline = new lunr.Pipeline
- this.searchPipeline = new lunr.Pipeline
- this.documentCount = 0
- this._b = 0.75
- this._k1 = 1.2
- this.termIndex = 0
- this.metadataWhitelist = []
-}
-
-/**
- * Sets the document field used as the document reference. Every document must have this field.
- * The type of this field in the document should be a string, if it is not a string it will be
- * coerced into a string by calling toString.
- *
- * The default ref is 'id'.
- *
- * The ref should _not_ be changed during indexing, it should be set before any documents are
- * added to the index. Changing it during indexing can lead to inconsistent results.
- *
- * @param {string} ref - The name of the reference field in the document.
- */
-lunr.Builder.prototype.ref = function (ref) {
- this._ref = ref
-}
-
-/**
- * A function that is used to extract a field from a document.
- *
- * Lunr expects a field to be at the top level of a document, if however the field
- * is deeply nested within a document an extractor function can be used to extract
- * the right field for indexing.
- *
- * @callback fieldExtractor
- * @param {object} doc - The document being added to the index.
- * @returns {?(string|object|object[])} obj - The object that will be indexed for this field.
- * @example Extracting a nested field
- * function (doc) { return doc.nested.field }
- */
-
-/**
- * Adds a field to the list of document fields that will be indexed. Every document being
- * indexed should have this field. Null values for this field in indexed documents will
- * not cause errors but will limit the chance of that document being retrieved by searches.
- *
- * All fields should be added before adding documents to the index. Adding fields after
- * a document has been indexed will have no effect on already indexed documents.
- *
- * Fields can be boosted at build time. This allows terms within that field to have more
- * importance when ranking search results. Use a field boost to specify that matches within
- * one field are more important than other fields.
- *
- * @param {string} fieldName - The name of a field to index in all documents.
- * @param {object} attributes - Optional attributes associated with this field.
- * @param {number} [attributes.boost=1] - Boost applied to all terms within this field.
- * @param {fieldExtractor} [attributes.extractor] - Function to extract a field from a document.
- * @throws {RangeError} fieldName cannot contain unsupported characters '/'
- */
-lunr.Builder.prototype.field = function (fieldName, attributes) {
- if (/\//.test(fieldName)) {
- throw new RangeError ("Field '" + fieldName + "' contains illegal character '/'")
- }
-
- this._fields[fieldName] = attributes || {}
-}
-
-/**
- * A parameter to tune the amount of field length normalisation that is applied when
- * calculating relevance scores. A value of 0 will completely disable any normalisation
- * and a value of 1 will fully normalise field lengths. The default is 0.75. Values of b
- * will be clamped to the range 0 - 1.
- *
- * @param {number} number - The value to set for this tuning parameter.
- */
-lunr.Builder.prototype.b = function (number) {
- if (number < 0) {
- this._b = 0
- } else if (number > 1) {
- this._b = 1
- } else {
- this._b = number
- }
-}
-
-/**
- * A parameter that controls the speed at which a rise in term frequency results in term
- * frequency saturation. The default value is 1.2. Setting this to a higher value will give
- * slower saturation levels, a lower value will result in quicker saturation.
- *
- * @param {number} number - The value to set for this tuning parameter.
- */
-lunr.Builder.prototype.k1 = function (number) {
- this._k1 = number
-}
-
-/**
- * Adds a document to the index.
- *
- * Before adding fields to the index the index should have been fully setup, with the document
- * ref and all fields to index already having been specified.
- *
- * The document must have a field name as specified by the ref (by default this is 'id') and
- * it should have all fields defined for indexing, though null or undefined values will not
- * cause errors.
- *
- * Entire documents can be boosted at build time. Applying a boost to a document indicates that
- * this document should rank higher in search results than other documents.
- *
- * @param {object} doc - The document to add to the index.
- * @param {object} attributes - Optional attributes associated with this document.
- * @param {number} [attributes.boost=1] - Boost applied to all terms within this document.
- */
-lunr.Builder.prototype.add = function (doc, attributes) {
- var docRef = doc[this._ref],
- fields = Object.keys(this._fields)
-
- this._documents[docRef] = attributes || {}
- this.documentCount += 1
-
- for (var i = 0; i < fields.length; i++) {
- var fieldName = fields[i],
- extractor = this._fields[fieldName].extractor,
- field = extractor ? extractor(doc) : doc[fieldName],
- tokens = this.tokenizer(field, {
- fields: [fieldName]
- }),
- terms = this.pipeline.run(tokens),
- fieldRef = new lunr.FieldRef (docRef, fieldName),
- fieldTerms = Object.create(null)
-
- this.fieldTermFrequencies[fieldRef] = fieldTerms
- this.fieldLengths[fieldRef] = 0
-
- // store the length of this field for this document
- this.fieldLengths[fieldRef] += terms.length
-
- // calculate term frequencies for this field
- for (var j = 0; j < terms.length; j++) {
- var term = terms[j]
-
- if (fieldTerms[term] == undefined) {
- fieldTerms[term] = 0
- }
-
- fieldTerms[term] += 1
-
- // add to inverted index
- // create an initial posting if one doesn't exist
- if (this.invertedIndex[term] == undefined) {
- var posting = Object.create(null)
- posting["_index"] = this.termIndex
- this.termIndex += 1
-
- for (var k = 0; k < fields.length; k++) {
- posting[fields[k]] = Object.create(null)
- }
-
- this.invertedIndex[term] = posting
- }
-
- // add an entry for this term/fieldName/docRef to the invertedIndex
- if (this.invertedIndex[term][fieldName][docRef] == undefined) {
- this.invertedIndex[term][fieldName][docRef] = Object.create(null)
- }
-
- // store all whitelisted metadata about this token in the
- // inverted index
- for (var l = 0; l < this.metadataWhitelist.length; l++) {
- var metadataKey = this.metadataWhitelist[l],
- metadata = term.metadata[metadataKey]
-
- if (this.invertedIndex[term][fieldName][docRef][metadataKey] == undefined) {
- this.invertedIndex[term][fieldName][docRef][metadataKey] = []
- }
-
- this.invertedIndex[term][fieldName][docRef][metadataKey].push(metadata)
- }
- }
-
- }
-}
-
-/**
- * Calculates the average document length for this index
- *
- * @private
- */
-lunr.Builder.prototype.calculateAverageFieldLengths = function () {
-
- var fieldRefs = Object.keys(this.fieldLengths),
- numberOfFields = fieldRefs.length,
- accumulator = {},
- documentsWithField = {}
-
- for (var i = 0; i < numberOfFields; i++) {
- var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),
- field = fieldRef.fieldName
-
- documentsWithField[field] || (documentsWithField[field] = 0)
- documentsWithField[field] += 1
-
- accumulator[field] || (accumulator[field] = 0)
- accumulator[field] += this.fieldLengths[fieldRef]
- }
-
- var fields = Object.keys(this._fields)
-
- for (var i = 0; i < fields.length; i++) {
- var fieldName = fields[i]
- accumulator[fieldName] = accumulator[fieldName] / documentsWithField[fieldName]
- }
-
- this.averageFieldLength = accumulator
-}
-
-/**
- * Builds a vector space model of every document using lunr.Vector
- *
- * @private
- */
-lunr.Builder.prototype.createFieldVectors = function () {
- var fieldVectors = {},
- fieldRefs = Object.keys(this.fieldTermFrequencies),
- fieldRefsLength = fieldRefs.length,
- termIdfCache = Object.create(null)
-
- for (var i = 0; i < fieldRefsLength; i++) {
- var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]),
- fieldName = fieldRef.fieldName,
- fieldLength = this.fieldLengths[fieldRef],
- fieldVector = new lunr.Vector,
- termFrequencies = this.fieldTermFrequencies[fieldRef],
- terms = Object.keys(termFrequencies),
- termsLength = terms.length
-
-
- var fieldBoost = this._fields[fieldName].boost || 1,
- docBoost = this._documents[fieldRef.docRef].boost || 1
-
- for (var j = 0; j < termsLength; j++) {
- var term = terms[j],
- tf = termFrequencies[term],
- termIndex = this.invertedIndex[term]._index,
- idf, score, scoreWithPrecision
-
- if (termIdfCache[term] === undefined) {
- idf = lunr.idf(this.invertedIndex[term], this.documentCount)
- termIdfCache[term] = idf
- } else {
- idf = termIdfCache[term]
- }
-
- score = idf * ((this._k1 + 1) * tf) / (this._k1 * (1 - this._b + this._b * (fieldLength / this.averageFieldLength[fieldName])) + tf)
- score *= fieldBoost
- score *= docBoost
- scoreWithPrecision = Math.round(score * 1000) / 1000
- // Converts 1.23456789 to 1.234.
- // Reducing the precision so that the vectors take up less
- // space when serialised. Doing it now so that they behave
- // the same before and after serialisation. Also, this is
- // the fastest approach to reducing a number's precision in
- // JavaScript.
-
- fieldVector.insert(termIndex, scoreWithPrecision)
- }
-
- fieldVectors[fieldRef] = fieldVector
- }
-
- this.fieldVectors = fieldVectors
-}
-
-/**
- * Creates a token set of all tokens in the index using lunr.TokenSet
- *
- * @private
- */
-lunr.Builder.prototype.createTokenSet = function () {
- this.tokenSet = lunr.TokenSet.fromArray(
- Object.keys(this.invertedIndex).sort()
- )
-}
-
-/**
- * Builds the index, creating an instance of lunr.Index.
- *
- * This completes the indexing process and should only be called
- * once all documents have been added to the index.
- *
- * @returns {lunr.Index}
- */
-lunr.Builder.prototype.build = function () {
- this.calculateAverageFieldLengths()
- this.createFieldVectors()
- this.createTokenSet()
-
- return new lunr.Index({
- invertedIndex: this.invertedIndex,
- fieldVectors: this.fieldVectors,
- tokenSet: this.tokenSet,
- fields: Object.keys(this._fields),
- pipeline: this.searchPipeline
- })
-}
-
-/**
- * Applies a plugin to the index builder.
- *
- * A plugin is a function that is called with the index builder as its context.
- * Plugins can be used to customise or extend the behaviour of the index
- * in some way. A plugin is just a function, that encapsulated the custom
- * behaviour that should be applied when building the index.
- *
- * The plugin function will be called with the index builder as its argument, additional
- * arguments can also be passed when calling use. The function will be called
- * with the index builder as its context.
- *
- * @param {Function} plugin The plugin to apply.
- */
-lunr.Builder.prototype.use = function (fn) {
- var args = Array.prototype.slice.call(arguments, 1)
- args.unshift(this)
- fn.apply(this, args)
-}
-/**
- * Contains and collects metadata about a matching document.
- * A single instance of lunr.MatchData is returned as part of every
- * lunr.Index~Result.
- *
- * @constructor
- * @param {string} term - The term this match data is associated with
- * @param {string} field - The field in which the term was found
- * @param {object} metadata - The metadata recorded about this term in this field
- * @property {object} metadata - A cloned collection of metadata associated with this document.
- * @see {@link lunr.Index~Result}
- */
-lunr.MatchData = function (term, field, metadata) {
- var clonedMetadata = Object.create(null),
- metadataKeys = Object.keys(metadata || {})
-
- // Cloning the metadata to prevent the original
- // being mutated during match data combination.
- // Metadata is kept in an array within the inverted
- // index so cloning the data can be done with
- // Array#slice
- for (var i = 0; i < metadataKeys.length; i++) {
- var key = metadataKeys[i]
- clonedMetadata[key] = metadata[key].slice()
- }
-
- this.metadata = Object.create(null)
-
- if (term !== undefined) {
- this.metadata[term] = Object.create(null)
- this.metadata[term][field] = clonedMetadata
- }
-}
-
-/**
- * An instance of lunr.MatchData will be created for every term that matches a
- * document. However only one instance is required in a lunr.Index~Result. This
- * method combines metadata from another instance of lunr.MatchData with this
- * objects metadata.
- *
- * @param {lunr.MatchData} otherMatchData - Another instance of match data to merge with this one.
- * @see {@link lunr.Index~Result}
- */
-lunr.MatchData.prototype.combine = function (otherMatchData) {
- var terms = Object.keys(otherMatchData.metadata)
-
- for (var i = 0; i < terms.length; i++) {
- var term = terms[i],
- fields = Object.keys(otherMatchData.metadata[term])
-
- if (this.metadata[term] == undefined) {
- this.metadata[term] = Object.create(null)
- }
-
- for (var j = 0; j < fields.length; j++) {
- var field = fields[j],
- keys = Object.keys(otherMatchData.metadata[term][field])
-
- if (this.metadata[term][field] == undefined) {
- this.metadata[term][field] = Object.create(null)
- }
-
- for (var k = 0; k < keys.length; k++) {
- var key = keys[k]
-
- if (this.metadata[term][field][key] == undefined) {
- this.metadata[term][field][key] = otherMatchData.metadata[term][field][key]
- } else {
- this.metadata[term][field][key] = this.metadata[term][field][key].concat(otherMatchData.metadata[term][field][key])
- }
-
- }
- }
- }
-}
-
-/**
- * Add metadata for a term/field pair to this instance of match data.
- *
- * @param {string} term - The term this match data is associated with
- * @param {string} field - The field in which the term was found
- * @param {object} metadata - The metadata recorded about this term in this field
- */
-lunr.MatchData.prototype.add = function (term, field, metadata) {
- if (!(term in this.metadata)) {
- this.metadata[term] = Object.create(null)
- this.metadata[term][field] = metadata
- return
- }
-
- if (!(field in this.metadata[term])) {
- this.metadata[term][field] = metadata
- return
- }
-
- var metadataKeys = Object.keys(metadata)
-
- for (var i = 0; i < metadataKeys.length; i++) {
- var key = metadataKeys[i]
-
- if (key in this.metadata[term][field]) {
- this.metadata[term][field][key] = this.metadata[term][field][key].concat(metadata[key])
- } else {
- this.metadata[term][field][key] = metadata[key]
- }
- }
-}
-/**
- * A lunr.Query provides a programmatic way of defining queries to be performed
- * against a {@link lunr.Index}.
- *
- * Prefer constructing a lunr.Query using the {@link lunr.Index#query} method
- * so the query object is pre-initialized with the right index fields.
- *
- * @constructor
- * @property {lunr.Query~Clause[]} clauses - An array of query clauses.
- * @property {string[]} allFields - An array of all available fields in a lunr.Index.
- */
-lunr.Query = function (allFields) {
- this.clauses = []
- this.allFields = allFields
-}
-
-/**
- * Constants for indicating what kind of automatic wildcard insertion will be used when constructing a query clause.
- *
- * This allows wildcards to be added to the beginning and end of a term without having to manually do any string
- * concatenation.
- *
- * The wildcard constants can be bitwise combined to select both leading and trailing wildcards.
- *
- * @constant
- * @default
- * @property {number} wildcard.NONE - The term will have no wildcards inserted, this is the default behaviour
- * @property {number} wildcard.LEADING - Prepend the term with a wildcard, unless a leading wildcard already exists
- * @property {number} wildcard.TRAILING - Append a wildcard to the term, unless a trailing wildcard already exists
- * @see lunr.Query~Clause
- * @see lunr.Query#clause
- * @see lunr.Query#term
- * @example query term with trailing wildcard
- * query.term('foo', { wildcard: lunr.Query.wildcard.TRAILING })
- * @example query term with leading and trailing wildcard
- * query.term('foo', {
- * wildcard: lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING
- * })
- */
-
-lunr.Query.wildcard = new String ("*")
-lunr.Query.wildcard.NONE = 0
-lunr.Query.wildcard.LEADING = 1
-lunr.Query.wildcard.TRAILING = 2
-
-/**
- * Constants for indicating what kind of presence a term must have in matching documents.
- *
- * @constant
- * @enum {number}
- * @see lunr.Query~Clause
- * @see lunr.Query#clause
- * @see lunr.Query#term
- * @example query term with required presence
- * query.term('foo', { presence: lunr.Query.presence.REQUIRED })
- */
-lunr.Query.presence = {
- /**
- * Term's presence in a document is optional, this is the default value.
- */
- OPTIONAL: 1,
-
- /**
- * Term's presence in a document is required, documents that do not contain
- * this term will not be returned.
- */
- REQUIRED: 2,
-
- /**
- * Term's presence in a document is prohibited, documents that do contain
- * this term will not be returned.
- */
- PROHIBITED: 3
-}
-
-/**
- * A single clause in a {@link lunr.Query} contains a term and details on how to
- * match that term against a {@link lunr.Index}.
- *
- * @typedef {Object} lunr.Query~Clause
- * @property {string[]} fields - The fields in an index this clause should be matched against.
- * @property {number} [boost=1] - Any boost that should be applied when matching this clause.
- * @property {number} [editDistance] - Whether the term should have fuzzy matching applied, and how fuzzy the match should be.
- * @property {boolean} [usePipeline] - Whether the term should be passed through the search pipeline.
- * @property {number} [wildcard=lunr.Query.wildcard.NONE] - Whether the term should have wildcards appended or prepended.
- * @property {number} [presence=lunr.Query.presence.OPTIONAL] - The terms presence in any matching documents.
- */
-
-/**
- * Adds a {@link lunr.Query~Clause} to this query.
- *
- * Unless the clause contains the fields to be matched all fields will be matched. In addition
- * a default boost of 1 is applied to the clause.
- *
- * @param {lunr.Query~Clause} clause - The clause to add to this query.
- * @see lunr.Query~Clause
- * @returns {lunr.Query}
- */
-lunr.Query.prototype.clause = function (clause) {
- if (!('fields' in clause)) {
- clause.fields = this.allFields
- }
-
- if (!('boost' in clause)) {
- clause.boost = 1
- }
-
- if (!('usePipeline' in clause)) {
- clause.usePipeline = true
- }
-
- if (!('wildcard' in clause)) {
- clause.wildcard = lunr.Query.wildcard.NONE
- }
-
- if ((clause.wildcard & lunr.Query.wildcard.LEADING) && (clause.term.charAt(0) != lunr.Query.wildcard)) {
- clause.term = "*" + clause.term
- }
-
- if ((clause.wildcard & lunr.Query.wildcard.TRAILING) && (clause.term.slice(-1) != lunr.Query.wildcard)) {
- clause.term = "" + clause.term + "*"
- }
-
- if (!('presence' in clause)) {
- clause.presence = lunr.Query.presence.OPTIONAL
- }
-
- this.clauses.push(clause)
-
- return this
-}
-
-/**
- * A negated query is one in which every clause has a presence of
- * prohibited. These queries require some special processing to return
- * the expected results.
- *
- * @returns boolean
- */
-lunr.Query.prototype.isNegated = function () {
- for (var i = 0; i < this.clauses.length; i++) {
- if (this.clauses[i].presence != lunr.Query.presence.PROHIBITED) {
- return false
- }
- }
-
- return true
-}
-
-/**
- * Adds a term to the current query, under the covers this will create a {@link lunr.Query~Clause}
- * to the list of clauses that make up this query.
- *
- * The term is used as is, i.e. no tokenization will be performed by this method. Instead conversion
- * to a token or token-like string should be done before calling this method.
- *
- * The term will be converted to a string by calling `toString`. Multiple terms can be passed as an
- * array, each term in the array will share the same options.
- *
- * @param {object|object[]} term - The term(s) to add to the query.
- * @param {object} [options] - Any additional properties to add to the query clause.
- * @returns {lunr.Query}
- * @see lunr.Query#clause
- * @see lunr.Query~Clause
- * @example adding a single term to a query
- * query.term("foo")
- * @example adding a single term to a query and specifying search fields, term boost and automatic trailing wildcard
- * query.term("foo", {
- * fields: ["title"],
- * boost: 10,
- * wildcard: lunr.Query.wildcard.TRAILING
- * })
- * @example using lunr.tokenizer to convert a string to tokens before using them as terms
- * query.term(lunr.tokenizer("foo bar"))
- */
-lunr.Query.prototype.term = function (term, options) {
- if (Array.isArray(term)) {
- term.forEach(function (t) { this.term(t, lunr.utils.clone(options)) }, this)
- return this
- }
-
- var clause = options || {}
- clause.term = term.toString()
-
- this.clause(clause)
-
- return this
-}
-lunr.QueryParseError = function (message, start, end) {
- this.name = "QueryParseError"
- this.message = message
- this.start = start
- this.end = end
-}
-
-lunr.QueryParseError.prototype = new Error
-lunr.QueryLexer = function (str) {
- this.lexemes = []
- this.str = str
- this.length = str.length
- this.pos = 0
- this.start = 0
- this.escapeCharPositions = []
-}
-
-lunr.QueryLexer.prototype.run = function () {
- var state = lunr.QueryLexer.lexText
-
- while (state) {
- state = state(this)
- }
-}
-
-lunr.QueryLexer.prototype.sliceString = function () {
- var subSlices = [],
- sliceStart = this.start,
- sliceEnd = this.pos
-
- for (var i = 0; i < this.escapeCharPositions.length; i++) {
- sliceEnd = this.escapeCharPositions[i]
- subSlices.push(this.str.slice(sliceStart, sliceEnd))
- sliceStart = sliceEnd + 1
- }
-
- subSlices.push(this.str.slice(sliceStart, this.pos))
- this.escapeCharPositions.length = 0
-
- return subSlices.join('')
-}
-
-lunr.QueryLexer.prototype.emit = function (type) {
- this.lexemes.push({
- type: type,
- str: this.sliceString(),
- start: this.start,
- end: this.pos
- })
-
- this.start = this.pos
-}
-
-lunr.QueryLexer.prototype.escapeCharacter = function () {
- this.escapeCharPositions.push(this.pos - 1)
- this.pos += 1
-}
-
-lunr.QueryLexer.prototype.next = function () {
- if (this.pos >= this.length) {
- return lunr.QueryLexer.EOS
- }
-
- var char = this.str.charAt(this.pos)
- this.pos += 1
- return char
-}
-
-lunr.QueryLexer.prototype.width = function () {
- return this.pos - this.start
-}
-
-lunr.QueryLexer.prototype.ignore = function () {
- if (this.start == this.pos) {
- this.pos += 1
- }
-
- this.start = this.pos
-}
-
-lunr.QueryLexer.prototype.backup = function () {
- this.pos -= 1
-}
-
-lunr.QueryLexer.prototype.acceptDigitRun = function () {
- var char, charCode
-
- do {
- char = this.next()
- charCode = char.charCodeAt(0)
- } while (charCode > 47 && charCode < 58)
-
- if (char != lunr.QueryLexer.EOS) {
- this.backup()
- }
-}
-
-lunr.QueryLexer.prototype.more = function () {
- return this.pos < this.length
-}
-
-lunr.QueryLexer.EOS = 'EOS'
-lunr.QueryLexer.FIELD = 'FIELD'
-lunr.QueryLexer.TERM = 'TERM'
-lunr.QueryLexer.EDIT_DISTANCE = 'EDIT_DISTANCE'
-lunr.QueryLexer.BOOST = 'BOOST'
-lunr.QueryLexer.PRESENCE = 'PRESENCE'
-
-lunr.QueryLexer.lexField = function (lexer) {
- lexer.backup()
- lexer.emit(lunr.QueryLexer.FIELD)
- lexer.ignore()
- return lunr.QueryLexer.lexText
-}
-
-lunr.QueryLexer.lexTerm = function (lexer) {
- if (lexer.width() > 1) {
- lexer.backup()
- lexer.emit(lunr.QueryLexer.TERM)
- }
-
- lexer.ignore()
-
- if (lexer.more()) {
- return lunr.QueryLexer.lexText
- }
-}
-
-lunr.QueryLexer.lexEditDistance = function (lexer) {
- lexer.ignore()
- lexer.acceptDigitRun()
- lexer.emit(lunr.QueryLexer.EDIT_DISTANCE)
- return lunr.QueryLexer.lexText
-}
-
-lunr.QueryLexer.lexBoost = function (lexer) {
- lexer.ignore()
- lexer.acceptDigitRun()
- lexer.emit(lunr.QueryLexer.BOOST)
- return lunr.QueryLexer.lexText
-}
-
-lunr.QueryLexer.lexEOS = function (lexer) {
- if (lexer.width() > 0) {
- lexer.emit(lunr.QueryLexer.TERM)
- }
-}
-
-// This matches the separator used when tokenising fields
-// within a document. These should match otherwise it is
-// not possible to search for some tokens within a document.
-//
-// It is possible for the user to change the separator on the
-// tokenizer so it _might_ clash with any other of the special
-// characters already used within the search string, e.g. :.
-//
-// This means that it is possible to change the separator in
-// such a way that makes some words unsearchable using a search
-// string.
-lunr.QueryLexer.termSeparator = lunr.tokenizer.separator
-
-lunr.QueryLexer.lexText = function (lexer) {
- while (true) {
- var char = lexer.next()
-
- if (char == lunr.QueryLexer.EOS) {
- return lunr.QueryLexer.lexEOS
- }
-
- // Escape character is '\'
- if (char.charCodeAt(0) == 92) {
- lexer.escapeCharacter()
- continue
- }
-
- if (char == ":") {
- return lunr.QueryLexer.lexField
- }
-
- if (char == "~") {
- lexer.backup()
- if (lexer.width() > 0) {
- lexer.emit(lunr.QueryLexer.TERM)
- }
- return lunr.QueryLexer.lexEditDistance
- }
-
- if (char == "^") {
- lexer.backup()
- if (lexer.width() > 0) {
- lexer.emit(lunr.QueryLexer.TERM)
- }
- return lunr.QueryLexer.lexBoost
- }
-
- // "+" indicates term presence is required
- // checking for length to ensure that only
- // leading "+" are considered
- if (char == "+" && lexer.width() === 1) {
- lexer.emit(lunr.QueryLexer.PRESENCE)
- return lunr.QueryLexer.lexText
- }
-
- // "-" indicates term presence is prohibited
- // checking for length to ensure that only
- // leading "-" are considered
- if (char == "-" && lexer.width() === 1) {
- lexer.emit(lunr.QueryLexer.PRESENCE)
- return lunr.QueryLexer.lexText
- }
-
- if (char.match(lunr.QueryLexer.termSeparator)) {
- return lunr.QueryLexer.lexTerm
- }
- }
-}
-
-lunr.QueryParser = function (str, query) {
- this.lexer = new lunr.QueryLexer (str)
- this.query = query
- this.currentClause = {}
- this.lexemeIdx = 0
-}
-
-lunr.QueryParser.prototype.parse = function () {
- this.lexer.run()
- this.lexemes = this.lexer.lexemes
-
- var state = lunr.QueryParser.parseClause
-
- while (state) {
- state = state(this)
- }
-
- return this.query
-}
-
-lunr.QueryParser.prototype.peekLexeme = function () {
- return this.lexemes[this.lexemeIdx]
-}
-
-lunr.QueryParser.prototype.consumeLexeme = function () {
- var lexeme = this.peekLexeme()
- this.lexemeIdx += 1
- return lexeme
-}
-
-lunr.QueryParser.prototype.nextClause = function () {
- var completedClause = this.currentClause
- this.query.clause(completedClause)
- this.currentClause = {}
-}
-
-lunr.QueryParser.parseClause = function (parser) {
- var lexeme = parser.peekLexeme()
-
- if (lexeme == undefined) {
- return
- }
-
- switch (lexeme.type) {
- case lunr.QueryLexer.PRESENCE:
- return lunr.QueryParser.parsePresence
- case lunr.QueryLexer.FIELD:
- return lunr.QueryParser.parseField
- case lunr.QueryLexer.TERM:
- return lunr.QueryParser.parseTerm
- default:
- var errorMessage = "expected either a field or a term, found " + lexeme.type
-
- if (lexeme.str.length >= 1) {
- errorMessage += " with value '" + lexeme.str + "'"
- }
-
- throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)
- }
-}
-
-lunr.QueryParser.parsePresence = function (parser) {
- var lexeme = parser.consumeLexeme()
-
- if (lexeme == undefined) {
- return
- }
-
- switch (lexeme.str) {
- case "-":
- parser.currentClause.presence = lunr.Query.presence.PROHIBITED
- break
- case "+":
- parser.currentClause.presence = lunr.Query.presence.REQUIRED
- break
- default:
- var errorMessage = "unrecognised presence operator'" + lexeme.str + "'"
- throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)
- }
-
- var nextLexeme = parser.peekLexeme()
-
- if (nextLexeme == undefined) {
- var errorMessage = "expecting term or field, found nothing"
- throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)
- }
-
- switch (nextLexeme.type) {
- case lunr.QueryLexer.FIELD:
- return lunr.QueryParser.parseField
- case lunr.QueryLexer.TERM:
- return lunr.QueryParser.parseTerm
- default:
- var errorMessage = "expecting term or field, found '" + nextLexeme.type + "'"
- throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)
- }
-}
-
-lunr.QueryParser.parseField = function (parser) {
- var lexeme = parser.consumeLexeme()
-
- if (lexeme == undefined) {
- return
- }
-
- if (parser.query.allFields.indexOf(lexeme.str) == -1) {
- var possibleFields = parser.query.allFields.map(function (f) { return "'" + f + "'" }).join(', '),
- errorMessage = "unrecognised field '" + lexeme.str + "', possible fields: " + possibleFields
-
- throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)
- }
-
- parser.currentClause.fields = [lexeme.str]
-
- var nextLexeme = parser.peekLexeme()
-
- if (nextLexeme == undefined) {
- var errorMessage = "expecting term, found nothing"
- throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)
- }
-
- switch (nextLexeme.type) {
- case lunr.QueryLexer.TERM:
- return lunr.QueryParser.parseTerm
- default:
- var errorMessage = "expecting term, found '" + nextLexeme.type + "'"
- throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)
- }
-}
-
-lunr.QueryParser.parseTerm = function (parser) {
- var lexeme = parser.consumeLexeme()
-
- if (lexeme == undefined) {
- return
- }
-
- parser.currentClause.term = lexeme.str.toLowerCase()
-
- if (lexeme.str.indexOf("*") != -1) {
- parser.currentClause.usePipeline = false
- }
-
- var nextLexeme = parser.peekLexeme()
-
- if (nextLexeme == undefined) {
- parser.nextClause()
- return
- }
-
- switch (nextLexeme.type) {
- case lunr.QueryLexer.TERM:
- parser.nextClause()
- return lunr.QueryParser.parseTerm
- case lunr.QueryLexer.FIELD:
- parser.nextClause()
- return lunr.QueryParser.parseField
- case lunr.QueryLexer.EDIT_DISTANCE:
- return lunr.QueryParser.parseEditDistance
- case lunr.QueryLexer.BOOST:
- return lunr.QueryParser.parseBoost
- case lunr.QueryLexer.PRESENCE:
- parser.nextClause()
- return lunr.QueryParser.parsePresence
- default:
- var errorMessage = "Unexpected lexeme type '" + nextLexeme.type + "'"
- throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)
- }
-}
-
-lunr.QueryParser.parseEditDistance = function (parser) {
- var lexeme = parser.consumeLexeme()
-
- if (lexeme == undefined) {
- return
- }
-
- var editDistance = parseInt(lexeme.str, 10)
-
- if (isNaN(editDistance)) {
- var errorMessage = "edit distance must be numeric"
- throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)
- }
-
- parser.currentClause.editDistance = editDistance
-
- var nextLexeme = parser.peekLexeme()
-
- if (nextLexeme == undefined) {
- parser.nextClause()
- return
- }
-
- switch (nextLexeme.type) {
- case lunr.QueryLexer.TERM:
- parser.nextClause()
- return lunr.QueryParser.parseTerm
- case lunr.QueryLexer.FIELD:
- parser.nextClause()
- return lunr.QueryParser.parseField
- case lunr.QueryLexer.EDIT_DISTANCE:
- return lunr.QueryParser.parseEditDistance
- case lunr.QueryLexer.BOOST:
- return lunr.QueryParser.parseBoost
- case lunr.QueryLexer.PRESENCE:
- parser.nextClause()
- return lunr.QueryParser.parsePresence
- default:
- var errorMessage = "Unexpected lexeme type '" + nextLexeme.type + "'"
- throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)
- }
-}
-
-lunr.QueryParser.parseBoost = function (parser) {
- var lexeme = parser.consumeLexeme()
-
- if (lexeme == undefined) {
- return
- }
-
- var boost = parseInt(lexeme.str, 10)
-
- if (isNaN(boost)) {
- var errorMessage = "boost must be numeric"
- throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end)
- }
-
- parser.currentClause.boost = boost
-
- var nextLexeme = parser.peekLexeme()
-
- if (nextLexeme == undefined) {
- parser.nextClause()
- return
- }
-
- switch (nextLexeme.type) {
- case lunr.QueryLexer.TERM:
- parser.nextClause()
- return lunr.QueryParser.parseTerm
- case lunr.QueryLexer.FIELD:
- parser.nextClause()
- return lunr.QueryParser.parseField
- case lunr.QueryLexer.EDIT_DISTANCE:
- return lunr.QueryParser.parseEditDistance
- case lunr.QueryLexer.BOOST:
- return lunr.QueryParser.parseBoost
- case lunr.QueryLexer.PRESENCE:
- parser.nextClause()
- return lunr.QueryParser.parsePresence
- default:
- var errorMessage = "Unexpected lexeme type '" + nextLexeme.type + "'"
- throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end)
- }
-}
-
- /**
- * export the module via AMD, CommonJS or as a browser global
- * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js
- */
- ;(function (root, factory) {
- if (typeof define === 'function' && define.amd) {
- // AMD. Register as an anonymous module.
- define(factory)
- } else if (typeof exports === 'object') {
- /**
- * Node. Does not work with strict CommonJS, but
- * only CommonJS-like enviroments that support module.exports,
- * like Node.
- */
- module.exports = factory()
- } else {
- // Browser globals (root is window)
- root.lunr = factory()
- }
- }(this, function () {
- /**
- * Just return a value to define the module export.
- * This example returns an object, but the module
- * can return a function as the exported value.
- */
- return lunr
- }))
-})();
diff --git a/0.5/search/main.js b/0.5/search/main.js
deleted file mode 100644
index 0e1fc81..0000000
--- a/0.5/search/main.js
+++ /dev/null
@@ -1,98 +0,0 @@
-function getSearchTermFromLocation() {
- var sPageURL = window.location.search.substring(1);
- var sURLVariables = sPageURL.split('&');
- for (var i = 0; i < sURLVariables.length; i++) {
- var sParameterName = sURLVariables[i].split('=');
- if (sParameterName[0] == 'q') {
- return decodeURIComponent(sParameterName[1].replace(/\+/g, '%20'));
- }
- }
-}
-
-function joinUrl (base, path) {
- if (path.substring(0, 1) === "/") {
- // path starts with `/`. Thus it is absolute.
- return path;
- }
- if (base.substring(base.length-1) === "/") {
- // base ends with `/`
- return base + path;
- }
- return base + "/" + path;
-}
-
-function formatResult (location, title, summary) {
- return '' + summary +'
';
-}
-
-function displayResults (results) {
- var search_results = document.getElementById("mkdocs-search-results");
- while (search_results.firstChild) {
- search_results.removeChild(search_results.firstChild);
- }
- if (results.length > 0){
- for (var i=0; i < results.length; i++){
- var result = results[i];
- var html = formatResult(result.location, result.title, result.summary);
- search_results.insertAdjacentHTML('beforeend', html);
- }
- } else {
- search_results.insertAdjacentHTML('beforeend', "No results found
");
- }
-}
-
-function doSearch () {
- var query = document.getElementById('mkdocs-search-query').value;
- if (query.length > min_search_length) {
- if (!window.Worker) {
- displayResults(search(query));
- } else {
- searchWorker.postMessage({query: query});
- }
- } else {
- // Clear results for short queries
- displayResults([]);
- }
-}
-
-function initSearch () {
- var search_input = document.getElementById('mkdocs-search-query');
- if (search_input) {
- search_input.addEventListener("keyup", doSearch);
- }
- var term = getSearchTermFromLocation();
- if (term) {
- search_input.value = term;
- doSearch();
- }
-}
-
-function onWorkerMessage (e) {
- if (e.data.allowSearch) {
- initSearch();
- } else if (e.data.results) {
- var results = e.data.results;
- displayResults(results);
- } else if (e.data.config) {
- min_search_length = e.data.config.min_search_length-1;
- }
-}
-
-if (!window.Worker) {
- console.log('Web Worker API not supported');
- // load index in main thread
- $.getScript(joinUrl(base_url, "search/worker.js")).done(function () {
- console.log('Loaded worker');
- init();
- window.postMessage = function (msg) {
- onWorkerMessage({data: msg});
- };
- }).fail(function (jqxhr, settings, exception) {
- console.error('Could not load worker.js');
- });
-} else {
- // Wrap search in a web worker
- var searchWorker = new Worker(joinUrl(base_url, "search/worker.js"));
- searchWorker.postMessage({init: true});
- searchWorker.onmessage = onWorkerMessage;
-}
diff --git a/0.5/search/search_index.json b/0.5/search/search_index.json
deleted file mode 100644
index 0092204..0000000
--- a/0.5/search/search_index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"config":{"lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"RELOG: Reverse Logistics Optimization RELOG is an open-source supply chain optimization package focusing on reverse logistics and reverse manufacturing. The package uses Mixed-Integer Linear Programming to determine where to build recycling plants, what size should these plants have and which customers should be served by which plants. The package supports custom reverse logistics pipelines, with multiple types of plants, multiple types of product and multiple time periods. Table of Contents Usage Input and Output Data Formats Simplified Solution Reports Optimization Model Source Code https://github.com/ANL-CEEESA/RELOG Authors Alinson S. Xavier, Argonne National Laboratory < axavier@anl.gov > Nwike Iloeje, Argonne National Laboratory < ciloeje@anl.gov > License RELOG: Reverse Logistics Optimization Copyright \u00a9 2020, UChicago Argonne, LLC. All Rights Reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.","title":"Home"},{"location":"#relog-reverse-logistics-optimization","text":"RELOG is an open-source supply chain optimization package focusing on reverse logistics and reverse manufacturing. The package uses Mixed-Integer Linear Programming to determine where to build recycling plants, what size should these plants have and which customers should be served by which plants. The package supports custom reverse logistics pipelines, with multiple types of plants, multiple types of product and multiple time periods.","title":"RELOG: Reverse Logistics Optimization"},{"location":"#table-of-contents","text":"Usage Input and Output Data Formats Simplified Solution Reports Optimization Model","title":"Table of Contents"},{"location":"#source-code","text":"https://github.com/ANL-CEEESA/RELOG","title":"Source Code"},{"location":"#authors","text":"Alinson S. Xavier, Argonne National Laboratory < axavier@anl.gov > Nwike Iloeje, Argonne National Laboratory < ciloeje@anl.gov >","title":"Authors"},{"location":"#license","text":"RELOG: Reverse Logistics Optimization Copyright \u00a9 2020, UChicago Argonne, LLC. All Rights Reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.","title":"License"},{"location":"format/","text":"Input and Output Data Formats In this page, we describe the input and output JSON formats used by RELOG. In addition to these, RELOG can also produce simplified reports in tabular data format. Input Data Format (JSON) RELOG accepts as input a JSON file with three sections: parameters , products and plants . Below, we describe each section in more detail. Parameters The parameters section describes details about the simulation itself. Key Description time horizon (years) Number of years in the simulation. building period (years) List of years in which we are allowed to open new plants. For example, if this parameter is set to [1,2,3] , we can only open plants during the first three years. By default, this equals [1] ; that is, plants can only be opened during the first year. Example { \"parameters\": { \"time horizon (years)\": 2, \"building period (years)\": [1] } } Products The products section describes all products and subproducts in the simulation. The field instance[\"Products\"] is a dictionary mapping the name of the product to a dictionary which describes its characteristics. Each product description contains the following keys: Key Description transportation cost ($/km/tonne) The cost to transport this product. Must be a time series. transportation energy (J/km/tonne) The energy required to transport this product. Must be a time series. Optional. transportation emissions (tonne/km/tonne) A dictionary mapping the name of each greenhouse gas, produced to transport one tonne of this product along one kilometer, to the amount of gas produced (in tonnes). Must be a time series. Optional. initial amounts A dictionary mapping the name of each location to its description (see below). If this product is not initially available, this key may be omitted. Must be a time series. Each product may have some amount available at the beginning of each time period. In this case, the key initial amounts maps to a dictionary with the following keys: Key Description latitude (deg) The latitude of the location. longitude (deg) The longitude of the location. amount (tonne) The amount of the product initially available at the location. Must be a time series. Example { \"products\": { \"P1\": { \"initial amounts\": { \"C1\": { \"latitude (deg)\": 7.0, \"longitude (deg)\": 7.0, \"amount (tonne)\": [934.56, 934.56] }, \"C2\": { \"latitude (deg)\": 7.0, \"longitude (deg)\": 19.0, \"amount (tonne)\": [198.95, 198.95] }, \"C3\": { \"latitude (deg)\": 84.0, \"longitude (deg)\": 76.0, \"amount (tonne)\": [212.97, 212.97] } }, \"transportation cost ($/km/tonne)\": [0.015, 0.015], \"transportation energy (J/km/tonne)\": [0.12, 0.11], \"transportation emissions (tonne/km/tonne)\": { \"CO2\": [0.052, 0.050], \"CH4\": [0.003, 0.002] } }, \"P2\": { \"transportation cost ($/km/tonne)\": [0.022, 0.020] }, \"P3\": { \"transportation cost ($/km/tonne)\": [0.0125, 0.0125] }, \"P4\": { \"transportation cost ($/km/tonne)\": [0.0175, 0.0175] } } } Processing plants The plants section describes the available types of reverse manufacturing plants, their potential locations and associated costs, as well as their inputs and outputs. The field instance[\"Plants\"] is a dictionary mapping the name of the plant to a dictionary with the following keys: Key Description input The name of the product that this plant takes as input. Only one input is accepted per plant. outputs (tonne/tonne) A dictionary specifying how many tonnes of each product is produced for each tonnes of input. For example, if the plant outputs 0.5 tonnes of P2 and 0.25 tonnes of P3 for each tonnes of P1 provided, then this entry should be {\"P2\": 0.5, \"P3\": 0.25} . If the plant does not output anything, this key may be omitted. energy (GJ/tonne) The energy required to process 1 tonne of the input. Must be a time series. Optional. emissions (tonne/tonne) A dictionary mapping the name of each greenhouse gas, produced to process each tonne of input, to the amount of gas produced (in tonne). Must be a time series. Optional. locations A dictionary mapping the name of the location to a dictionary which describes the site characteristics (see below). Each type of plant is associated with a set of potential locations where it can be built. Each location is represented by a dictionary with the following keys: Key Description latitude (deg) The latitude of the location, in degrees. longitude (deg) The longitude of the location, in degrees. disposal A dictionary describing what products can be disposed locally at the plant. storage A dictionary describing the plant's storage. capacities (tonne) A dictionary describing what plant sizes are allowed, and their characteristics. The storage dictionary should contain the following keys: Key Description cost ($/tonne) The cost to store a tonne of input product for one time period. Must be a time series. limit (tonne) The maximum amount of input product this plant can have in storage at any given time. The keys in the disposal dictionary should be the names of the products. The values are dictionaries with the following keys: Key Description cost ($/tonne) The cost to dispose of the product. Must be a time series. limit (tonne) The maximum amount that can be disposed of. If an unlimited amount can be disposed, this key may be omitted. Must be a time series. The keys in the capacities (tonne) dictionary should be the amounts (in tonnes). The values are dictionaries with the following keys: Key Description opening cost ($) The cost to open a plant of this size. fixed operating cost ($) The cost to keep the plant open, even if the plant doesn't process anything. Must be a time series. variable operating cost ($/tonne) The cost that the plant incurs to process each tonne of input. Must be a time series. Example { \"plants\": { \"F1\": { \"input\": \"P1\", \"outputs (tonne/tonne)\": { \"P2\": 0.2, \"P3\": 0.5 }, \"energy (GJ/tonne)\": [0.12, 0.11], \"emissions (tonne/tonne)\": { \"CO2\": [0.052, 0.050], \"CH4\": [0.003, 0.002] }, \"locations\": { \"L1\": { \"latitude (deg)\": 0.0, \"longitude (deg)\": 0.0, \"disposal\": { \"P2\": { \"cost ($/tonne)\": [-10.0, -12.0], \"limit (tonne)\": [1.0, 1.0] } }, \"storage\": { \"cost ($/tonne)\": [5.0, 5.3], \"limit (tonne)\": 100.0, }, \"capacities (tonne)\": { \"100\": { \"opening cost ($)\": [500, 530], \"fixed operating cost ($)\": [300.0, 310.0], \"variable operating cost ($/tonne)\": [5.0, 5.2], }, \"500\": { \"opening cost ($)\": [750, 760], \"fixed operating cost ($)\": [400.0, 450.0], \"variable operating cost ($/tonne)\": [5.0, 5.2] } } } } } } } Geographic database Instead of specifying locations using latitudes and longitudes, it is also possible to specify them using unique identifiers, such as the name of a US state, or the county FIPS code. This works anywhere latitude (deg) and longitude (deg) are expected. For example, instead of: { \"initial amounts\": { \"C1\": { \"latitude (deg)\": 37.27182, \"longitude (deg)\": -119.2704, \"amount (tonne)\": [934.56, 934.56] }, } } is is possible to write: { \"initial amounts\": { \"C1\": { \"location\": \"us-state:CA\", \"amount (tonne)\": [934.56, 934.56] }, } } Location names follow the format db:id , where db is the name of the database and id is the identifier for a specific location. RELOG currently includes the following databases: Database Description Examples us-state List of states of the United States. us-state:IL (State of Illinois) 2018-us-county List of United States counties, as of 2018. IDs are 5-digit FIPS codes. 2018-us-county:17043 (DuPage county in Illinois) Current limitations Each plant can only be opened exactly once. After open, the plant remains open until the end of the simulation. Plants can be expanded at any time, even long after they are open. All material available at the beginning of a time period must be entirely processed by the end of that time period. It is not possible to store unprocessed materials from one time period to the next. Up to two plant sizes are currently supported. Variable operating costs must be the same for all plant sizes. Output Data Format (JSON) To be documented.","title":"Data Format"},{"location":"format/#input-and-output-data-formats","text":"In this page, we describe the input and output JSON formats used by RELOG. In addition to these, RELOG can also produce simplified reports in tabular data format.","title":"Input and Output Data Formats"},{"location":"format/#input-data-format-json","text":"RELOG accepts as input a JSON file with three sections: parameters , products and plants . Below, we describe each section in more detail.","title":"Input Data Format (JSON)"},{"location":"format/#parameters","text":"The parameters section describes details about the simulation itself. Key Description time horizon (years) Number of years in the simulation. building period (years) List of years in which we are allowed to open new plants. For example, if this parameter is set to [1,2,3] , we can only open plants during the first three years. By default, this equals [1] ; that is, plants can only be opened during the first year.","title":"Parameters"},{"location":"format/#example","text":"{ \"parameters\": { \"time horizon (years)\": 2, \"building period (years)\": [1] } }","title":"Example"},{"location":"format/#products","text":"The products section describes all products and subproducts in the simulation. The field instance[\"Products\"] is a dictionary mapping the name of the product to a dictionary which describes its characteristics. Each product description contains the following keys: Key Description transportation cost ($/km/tonne) The cost to transport this product. Must be a time series. transportation energy (J/km/tonne) The energy required to transport this product. Must be a time series. Optional. transportation emissions (tonne/km/tonne) A dictionary mapping the name of each greenhouse gas, produced to transport one tonne of this product along one kilometer, to the amount of gas produced (in tonnes). Must be a time series. Optional. initial amounts A dictionary mapping the name of each location to its description (see below). If this product is not initially available, this key may be omitted. Must be a time series. Each product may have some amount available at the beginning of each time period. In this case, the key initial amounts maps to a dictionary with the following keys: Key Description latitude (deg) The latitude of the location. longitude (deg) The longitude of the location. amount (tonne) The amount of the product initially available at the location. Must be a time series.","title":"Products"},{"location":"format/#example_1","text":"{ \"products\": { \"P1\": { \"initial amounts\": { \"C1\": { \"latitude (deg)\": 7.0, \"longitude (deg)\": 7.0, \"amount (tonne)\": [934.56, 934.56] }, \"C2\": { \"latitude (deg)\": 7.0, \"longitude (deg)\": 19.0, \"amount (tonne)\": [198.95, 198.95] }, \"C3\": { \"latitude (deg)\": 84.0, \"longitude (deg)\": 76.0, \"amount (tonne)\": [212.97, 212.97] } }, \"transportation cost ($/km/tonne)\": [0.015, 0.015], \"transportation energy (J/km/tonne)\": [0.12, 0.11], \"transportation emissions (tonne/km/tonne)\": { \"CO2\": [0.052, 0.050], \"CH4\": [0.003, 0.002] } }, \"P2\": { \"transportation cost ($/km/tonne)\": [0.022, 0.020] }, \"P3\": { \"transportation cost ($/km/tonne)\": [0.0125, 0.0125] }, \"P4\": { \"transportation cost ($/km/tonne)\": [0.0175, 0.0175] } } }","title":"Example"},{"location":"format/#processing-plants","text":"The plants section describes the available types of reverse manufacturing plants, their potential locations and associated costs, as well as their inputs and outputs. The field instance[\"Plants\"] is a dictionary mapping the name of the plant to a dictionary with the following keys: Key Description input The name of the product that this plant takes as input. Only one input is accepted per plant. outputs (tonne/tonne) A dictionary specifying how many tonnes of each product is produced for each tonnes of input. For example, if the plant outputs 0.5 tonnes of P2 and 0.25 tonnes of P3 for each tonnes of P1 provided, then this entry should be {\"P2\": 0.5, \"P3\": 0.25} . If the plant does not output anything, this key may be omitted. energy (GJ/tonne) The energy required to process 1 tonne of the input. Must be a time series. Optional. emissions (tonne/tonne) A dictionary mapping the name of each greenhouse gas, produced to process each tonne of input, to the amount of gas produced (in tonne). Must be a time series. Optional. locations A dictionary mapping the name of the location to a dictionary which describes the site characteristics (see below). Each type of plant is associated with a set of potential locations where it can be built. Each location is represented by a dictionary with the following keys: Key Description latitude (deg) The latitude of the location, in degrees. longitude (deg) The longitude of the location, in degrees. disposal A dictionary describing what products can be disposed locally at the plant. storage A dictionary describing the plant's storage. capacities (tonne) A dictionary describing what plant sizes are allowed, and their characteristics. The storage dictionary should contain the following keys: Key Description cost ($/tonne) The cost to store a tonne of input product for one time period. Must be a time series. limit (tonne) The maximum amount of input product this plant can have in storage at any given time. The keys in the disposal dictionary should be the names of the products. The values are dictionaries with the following keys: Key Description cost ($/tonne) The cost to dispose of the product. Must be a time series. limit (tonne) The maximum amount that can be disposed of. If an unlimited amount can be disposed, this key may be omitted. Must be a time series. The keys in the capacities (tonne) dictionary should be the amounts (in tonnes). The values are dictionaries with the following keys: Key Description opening cost ($) The cost to open a plant of this size. fixed operating cost ($) The cost to keep the plant open, even if the plant doesn't process anything. Must be a time series. variable operating cost ($/tonne) The cost that the plant incurs to process each tonne of input. Must be a time series.","title":"Processing plants"},{"location":"format/#example_2","text":"{ \"plants\": { \"F1\": { \"input\": \"P1\", \"outputs (tonne/tonne)\": { \"P2\": 0.2, \"P3\": 0.5 }, \"energy (GJ/tonne)\": [0.12, 0.11], \"emissions (tonne/tonne)\": { \"CO2\": [0.052, 0.050], \"CH4\": [0.003, 0.002] }, \"locations\": { \"L1\": { \"latitude (deg)\": 0.0, \"longitude (deg)\": 0.0, \"disposal\": { \"P2\": { \"cost ($/tonne)\": [-10.0, -12.0], \"limit (tonne)\": [1.0, 1.0] } }, \"storage\": { \"cost ($/tonne)\": [5.0, 5.3], \"limit (tonne)\": 100.0, }, \"capacities (tonne)\": { \"100\": { \"opening cost ($)\": [500, 530], \"fixed operating cost ($)\": [300.0, 310.0], \"variable operating cost ($/tonne)\": [5.0, 5.2], }, \"500\": { \"opening cost ($)\": [750, 760], \"fixed operating cost ($)\": [400.0, 450.0], \"variable operating cost ($/tonne)\": [5.0, 5.2] } } } } } } }","title":"Example"},{"location":"format/#geographic-database","text":"Instead of specifying locations using latitudes and longitudes, it is also possible to specify them using unique identifiers, such as the name of a US state, or the county FIPS code. This works anywhere latitude (deg) and longitude (deg) are expected. For example, instead of: { \"initial amounts\": { \"C1\": { \"latitude (deg)\": 37.27182, \"longitude (deg)\": -119.2704, \"amount (tonne)\": [934.56, 934.56] }, } } is is possible to write: { \"initial amounts\": { \"C1\": { \"location\": \"us-state:CA\", \"amount (tonne)\": [934.56, 934.56] }, } } Location names follow the format db:id , where db is the name of the database and id is the identifier for a specific location. RELOG currently includes the following databases: Database Description Examples us-state List of states of the United States. us-state:IL (State of Illinois) 2018-us-county List of United States counties, as of 2018. IDs are 5-digit FIPS codes. 2018-us-county:17043 (DuPage county in Illinois)","title":"Geographic database"},{"location":"format/#current-limitations","text":"Each plant can only be opened exactly once. After open, the plant remains open until the end of the simulation. Plants can be expanded at any time, even long after they are open. All material available at the beginning of a time period must be entirely processed by the end of that time period. It is not possible to store unprocessed materials from one time period to the next. Up to two plant sizes are currently supported. Variable operating costs must be the same for all plant sizes.","title":"Current limitations"},{"location":"format/#output-data-format-json","text":"To be documented.","title":"Output Data Format (JSON)"},{"location":"model/","text":"Optimization Model In this page, we describe the precise mathematical optimization model used by RELOG to find the optimal logistics plan. This model is a variation of the classical Facility Location Problem, which has been widely studied in the operations research literature. To simplify the exposition, we present the simplified case where there is only one type of plant. Mathematical Description Sets $L$ - Set of locations holding the original material to be recycled $M$ - Set of materials recovered during the reverse manufacturing process $P$ - Set of potential plants to open $T = { 1, \\ldots, t^{max} } $ - Set of time periods Constants Plants: $c^\\text{disp}_{pmt}$ - Cost of disposing one tonne of material $m$ at plant $p$ during time $t$ ( $/tonne/km ) $c^\\text{exp}_{pt}$ - Cost of adding one tonne of capacity to plant $p$ at time $t$ ( $/tonne ) $c^\\text{open}_{pt}$ - Cost of opening plant $p$ at time $t$, at minimum capacity ( $ ) $c^\\text{f-base}_{pt}$ - Fixed cost of keeping plant $p$ open during time period $t$ ( $ ) $c^\\text{f-exp}_{pt}$ - Increase in fixed cost for each additional tonne of capacity ( $/tonne ) $c^\\text{var}_{pt}$ - Variable cost of processing one tonne of input at plant $p$ at time $t$ ( $/tonne ) $c^\\text{store}_{pt}$ - Cost of storing one tonne of original material at plant $p$ at time $t$ ( $/tonne ) $m^\\text{min}_p$ - Minimum capacity of plant $p$ ( tonne ) $m^\\text{max}_p$ - Maximum capacity of plant $p$ ( tonne ) $m^\\text{disp}_{pmt}$ - Maximum amount of material $m$ that plant $p$ can dispose of during time $t$ ( tonne ) $m^\\text{store}_p$ - Maximum amount of original material that plant $p$ can store for later processing. Products: $\\alpha_{pm}$ - Amount of material $m$ recovered by plant $t$ for each tonne of original material ( tonne/tonne ) $m^\\text{initial}_{lt}$ - Amount of original material to be recycled at location $l$ during time $t$ ( tonne ) Transportation: $c^\\text{tr}_{t}$ - Transportation cost during time $t$ ( $/tonne/km ) $d_{lp}$ - Distance between plant $p$ and location $l$ ( km ) Decision variables $q_{mpt}$ - Amount of material $m$ recovered by plant $p$ during time $t$ ( tonne ) $u_{pt}$ - Binary variable that equals 1 if plant $p$ starts operating at time $t$ ( bool ) $w_{pt}$ - Extra capacity (amount above the minimum) added to plant $p$ during time $t$ ( tonne ) $x_{pt}$ - Binary variable that equals 1 if plant $p$ is operational at time $t$ ( bool ) $y_{lpt}$ - Amount of product sent from location $l$ to plant $p$ during time $t$ ( tonne ) $z^{\\text{disp}}_{mpt}$ - Amount of material $m$ disposed of by plant $p$ during time $t$ ( tonne ) $z^{\\text{store}}_{pt}$ - Amount of original material in storage at plant $p$ by the end of time period $t$ ( tonne ) $z^{\\text{proc}}_{mpt}$ - Amount of original material processed by plant $p$ during time period $t$ ( tonne ) Objective function RELOG minimizes the overall capital, production and transportation costs: \\begin{align*} \\text{minimize} \\;\\; & \\sum_{t \\in T} \\sum_{p \\in P} \\left[ c^\\text{open}_{pt} u_{pt} + c^\\text{f-base}_{pt} x_{pt} + \\sum_{i=1}^t c^\\text{f-exp}_{pt} w_{pi} + c^{\\text{exp}}_{pt} w_{pt} \\right] + \\\\ & \\sum_{t \\in T} \\sum_{p \\in P} \\left[ c^{\\text{store}}_{pt} z^{\\text{store}}_{pt} + c^{\\text{proc}}_{pt} z^{\\text{proc}}_{pt} \\right] + \\\\ & \\sum_{t \\in T} \\sum_{l \\in L} \\sum_{p \\in P} c^{\\text{tr}}_t d_{lp} y_{lpt} \\\\ & \\sum_{t \\in T} \\sum_{p \\in P} \\sum_{m \\in M} c^{\\text{disp}}_{pmt} z_{pmt} \\end{align*} In the first line, we have (i) opening costs, if plant starts operating at time $t$, (ii) fixed operating costs, if plant is operational, (iii) additional fixed operating costs coming from expansion performed in all previous time periods up to the current one, and finally (iv) the expansion costs during the current time period. In the second line, we have storage and variable processing costs. In the third line, we have transportation costs. In the fourth line, we have the disposal costs. Constraints All original materials must be sent to a plant: \\begin{align} & \\sum_{p \\in P} y_{lpt} = m^\\text{initial}_{lt} & \\forall l \\in L, t \\in T \\end{align} Amount received equals amount processed plus stored. Furthermore, all original material should be processed by the end of the simulation. \\begin{align} & \\sum_{l \\in L} y_{lpt} + z^{\\text{store}}_{p,t-1} = z^{\\text{proc}}_{pt} + z^{\\text{store}}_{p,t} & \\forall p \\in P, t \\in T \\\\ & z^{\\text{store}}_{p,0} = 0 & \\forall p \\in P \\\\ & z^{\\text{store}}_{p,t^{\\max}} = 0 & \\forall p \\in P \\end{align} Plants have a limited processing capacity. Furthermore, if a plant is closed, it has zero processing capacity: \\begin{align} & z^{\\text{proc}}_{pt} \\leq m^\\text{min}_p x_p + \\sum_{i=1}^t w_p & \\forall p \\in P, t \\in T \\end{align} Plants have limited storage capacity. Furthermore, if a plant is closed, is has zero storage capacity: \\begin{align} & z^{\\text{store}}_{pt} \\leq m^\\text{store}_p x_p & \\forall p \\in P, t \\in T \\end{align} Plants can only be expanded up to their maximum capacity. Furthermore, if a plant is closed, it cannot be expanded: \\begin{align} & \\sum_{i=1}^t w_p \\leq m^\\text{max}_p x_p & \\forall p \\in P, t \\in T \\end{align} Amount of recovered material is proportional to amount processed: \\begin{align} & q_{mpt} = \\alpha_{pm} z^{\\text{proc}}_{pt} & \\forall m \\in M, p \\in P, t \\in T \\end{align} Because we only consider a single type of plant, all recovered material must be immediately disposed of. In RELOG's full model, recovered materials may be sent to another plant for further processing. \\begin{align} & q_{mpt} = z_{mpt} & \\forall m \\in M, p \\in P, t \\in T \\end{align} A plant is operational at time $t$ if it was operational at time $t-1$ or it was built at time $t$. This constraint also prevents a plant from being built multiple times. \\begin{align} & x_{pt} = x_{p,t-1} + u_{pt} & \\forall p \\in P, t \\in T \\setminus \\{1\\} \\\\ & x_{p,1} = u_{p,1} & \\forall p \\in P \\end{align} Variable bounds: \\begin{align} & q_{mpt} \\geq 0 & \\forall m \\in M, p \\in P, t \\in T \\\\ & u_{pt} \\in \\{0,1\\} & \\forall p \\in P, t \\in T \\\\ & w_{pt} \\geq 0 & \\forall p \\in P, t \\in T \\\\ & x_{pt} \\in \\{0,1\\} & \\forall p \\in P, t \\in T \\\\ & y_{lpt} \\geq 0 & \\forall l \\in L, p \\in P, t \\in T \\\\ & z^{\\text{store}}_{pt} \\geq 0 & p \\in P, t \\in T \\\\ & z^{\\text{disp}}_{mpt}, z^{\\text{proc}}_{mpt} \\geq 0 & \\forall m \\in M, p \\in P, t \\in T \\end{align}","title":"Optimization Model"},{"location":"model/#optimization-model","text":"In this page, we describe the precise mathematical optimization model used by RELOG to find the optimal logistics plan. This model is a variation of the classical Facility Location Problem, which has been widely studied in the operations research literature. To simplify the exposition, we present the simplified case where there is only one type of plant.","title":"Optimization Model"},{"location":"model/#mathematical-description","text":"","title":"Mathematical Description"},{"location":"model/#sets","text":"$L$ - Set of locations holding the original material to be recycled $M$ - Set of materials recovered during the reverse manufacturing process $P$ - Set of potential plants to open $T = { 1, \\ldots, t^{max} } $ - Set of time periods","title":"Sets"},{"location":"model/#constants","text":"Plants: $c^\\text{disp}_{pmt}$ - Cost of disposing one tonne of material $m$ at plant $p$ during time $t$ ( $/tonne/km ) $c^\\text{exp}_{pt}$ - Cost of adding one tonne of capacity to plant $p$ at time $t$ ( $/tonne ) $c^\\text{open}_{pt}$ - Cost of opening plant $p$ at time $t$, at minimum capacity ( $ ) $c^\\text{f-base}_{pt}$ - Fixed cost of keeping plant $p$ open during time period $t$ ( $ ) $c^\\text{f-exp}_{pt}$ - Increase in fixed cost for each additional tonne of capacity ( $/tonne ) $c^\\text{var}_{pt}$ - Variable cost of processing one tonne of input at plant $p$ at time $t$ ( $/tonne ) $c^\\text{store}_{pt}$ - Cost of storing one tonne of original material at plant $p$ at time $t$ ( $/tonne ) $m^\\text{min}_p$ - Minimum capacity of plant $p$ ( tonne ) $m^\\text{max}_p$ - Maximum capacity of plant $p$ ( tonne ) $m^\\text{disp}_{pmt}$ - Maximum amount of material $m$ that plant $p$ can dispose of during time $t$ ( tonne ) $m^\\text{store}_p$ - Maximum amount of original material that plant $p$ can store for later processing. Products: $\\alpha_{pm}$ - Amount of material $m$ recovered by plant $t$ for each tonne of original material ( tonne/tonne ) $m^\\text{initial}_{lt}$ - Amount of original material to be recycled at location $l$ during time $t$ ( tonne ) Transportation: $c^\\text{tr}_{t}$ - Transportation cost during time $t$ ( $/tonne/km ) $d_{lp}$ - Distance between plant $p$ and location $l$ ( km )","title":"Constants"},{"location":"model/#decision-variables","text":"$q_{mpt}$ - Amount of material $m$ recovered by plant $p$ during time $t$ ( tonne ) $u_{pt}$ - Binary variable that equals 1 if plant $p$ starts operating at time $t$ ( bool ) $w_{pt}$ - Extra capacity (amount above the minimum) added to plant $p$ during time $t$ ( tonne ) $x_{pt}$ - Binary variable that equals 1 if plant $p$ is operational at time $t$ ( bool ) $y_{lpt}$ - Amount of product sent from location $l$ to plant $p$ during time $t$ ( tonne ) $z^{\\text{disp}}_{mpt}$ - Amount of material $m$ disposed of by plant $p$ during time $t$ ( tonne ) $z^{\\text{store}}_{pt}$ - Amount of original material in storage at plant $p$ by the end of time period $t$ ( tonne ) $z^{\\text{proc}}_{mpt}$ - Amount of original material processed by plant $p$ during time period $t$ ( tonne )","title":"Decision variables"},{"location":"model/#objective-function","text":"RELOG minimizes the overall capital, production and transportation costs: \\begin{align*} \\text{minimize} \\;\\; & \\sum_{t \\in T} \\sum_{p \\in P} \\left[ c^\\text{open}_{pt} u_{pt} + c^\\text{f-base}_{pt} x_{pt} + \\sum_{i=1}^t c^\\text{f-exp}_{pt} w_{pi} + c^{\\text{exp}}_{pt} w_{pt} \\right] + \\\\ & \\sum_{t \\in T} \\sum_{p \\in P} \\left[ c^{\\text{store}}_{pt} z^{\\text{store}}_{pt} + c^{\\text{proc}}_{pt} z^{\\text{proc}}_{pt} \\right] + \\\\ & \\sum_{t \\in T} \\sum_{l \\in L} \\sum_{p \\in P} c^{\\text{tr}}_t d_{lp} y_{lpt} \\\\ & \\sum_{t \\in T} \\sum_{p \\in P} \\sum_{m \\in M} c^{\\text{disp}}_{pmt} z_{pmt} \\end{align*} In the first line, we have (i) opening costs, if plant starts operating at time $t$, (ii) fixed operating costs, if plant is operational, (iii) additional fixed operating costs coming from expansion performed in all previous time periods up to the current one, and finally (iv) the expansion costs during the current time period. In the second line, we have storage and variable processing costs. In the third line, we have transportation costs. In the fourth line, we have the disposal costs.","title":"Objective function"},{"location":"model/#constraints","text":"All original materials must be sent to a plant: \\begin{align} & \\sum_{p \\in P} y_{lpt} = m^\\text{initial}_{lt} & \\forall l \\in L, t \\in T \\end{align} Amount received equals amount processed plus stored. Furthermore, all original material should be processed by the end of the simulation. \\begin{align} & \\sum_{l \\in L} y_{lpt} + z^{\\text{store}}_{p,t-1} = z^{\\text{proc}}_{pt} + z^{\\text{store}}_{p,t} & \\forall p \\in P, t \\in T \\\\ & z^{\\text{store}}_{p,0} = 0 & \\forall p \\in P \\\\ & z^{\\text{store}}_{p,t^{\\max}} = 0 & \\forall p \\in P \\end{align} Plants have a limited processing capacity. Furthermore, if a plant is closed, it has zero processing capacity: \\begin{align} & z^{\\text{proc}}_{pt} \\leq m^\\text{min}_p x_p + \\sum_{i=1}^t w_p & \\forall p \\in P, t \\in T \\end{align} Plants have limited storage capacity. Furthermore, if a plant is closed, is has zero storage capacity: \\begin{align} & z^{\\text{store}}_{pt} \\leq m^\\text{store}_p x_p & \\forall p \\in P, t \\in T \\end{align} Plants can only be expanded up to their maximum capacity. Furthermore, if a plant is closed, it cannot be expanded: \\begin{align} & \\sum_{i=1}^t w_p \\leq m^\\text{max}_p x_p & \\forall p \\in P, t \\in T \\end{align} Amount of recovered material is proportional to amount processed: \\begin{align} & q_{mpt} = \\alpha_{pm} z^{\\text{proc}}_{pt} & \\forall m \\in M, p \\in P, t \\in T \\end{align} Because we only consider a single type of plant, all recovered material must be immediately disposed of. In RELOG's full model, recovered materials may be sent to another plant for further processing. \\begin{align} & q_{mpt} = z_{mpt} & \\forall m \\in M, p \\in P, t \\in T \\end{align} A plant is operational at time $t$ if it was operational at time $t-1$ or it was built at time $t$. This constraint also prevents a plant from being built multiple times. \\begin{align} & x_{pt} = x_{p,t-1} + u_{pt} & \\forall p \\in P, t \\in T \\setminus \\{1\\} \\\\ & x_{p,1} = u_{p,1} & \\forall p \\in P \\end{align} Variable bounds: \\begin{align} & q_{mpt} \\geq 0 & \\forall m \\in M, p \\in P, t \\in T \\\\ & u_{pt} \\in \\{0,1\\} & \\forall p \\in P, t \\in T \\\\ & w_{pt} \\geq 0 & \\forall p \\in P, t \\in T \\\\ & x_{pt} \\in \\{0,1\\} & \\forall p \\in P, t \\in T \\\\ & y_{lpt} \\geq 0 & \\forall l \\in L, p \\in P, t \\in T \\\\ & z^{\\text{store}}_{pt} \\geq 0 & p \\in P, t \\in T \\\\ & z^{\\text{disp}}_{mpt}, z^{\\text{proc}}_{mpt} \\geq 0 & \\forall m \\in M, p \\in P, t \\in T \\end{align}","title":"Constraints"},{"location":"reports/","text":"Simplified Solution Reports In addition to the full output format described in data formats , RELOG can also generate a number of simplified reports in tabular data format (CSV), which can be more easily processed by spreadsheet software (such as Microsoft Excel), by data analysis libraries (such as Pandas) or by relational databases (such as SQLite). In this page, we also illustrate what types of charts and visualizations can be produced from these tabular data files. The sample charts have been produced using Python, matplotlib, seaborn and geopandas. Plants report Report showing plant costs, capacities, energy expenditure and utilization factors. Generated by RELOG.write_plants_report(solution, filename) . Column Description plant type Plant type. location name Location name. year What year this row corresponds to. This reports includes one row for each year. latitude (deg) Latitude of the plant. longitude (deg) Longitude of the plant. capacity (tonne) Capacity of the plant at this point in time. amount received (tonne) Amount of input material received by the plant this year. amount processed (tonne) Amount of input material processed by the plant this year. amount in storage (tonne) Amount of input material in storage at the end of the year. utilization factor (%) Amount processed by the plant this year divided by current plant capacity. energy (GJ) Amount of energy expended by the plant this year. opening cost ($) Amount spent opening the plant. This value is only positive if the plant became operational this year. expansion cost ($) Amount spent this year expanding the plant capacity. fixed operating cost ($) Amount spent for keeping the plant operational this year. variable operating cost ($) Amount spent this year to process the input material. storage cost ($) Amount spent this year on storage. total cost ($) Sum of all previous plant costs. Sample charts Bar plot with total plant costs per year, grouped by plant type (in Python): import pandas as pd import seaborn as sns; sns.set() data = pd.read_csv(\"plants_report.csv\") sns.barplot(x=\"year\", y=\"total cost ($)\", hue=\"plant type\", data=data.groupby([\"plant type\", \"year\"]) .sum() .reset_index()); Map showing plant locations (in Python): import pandas as pd import geopandas as gp # Plot base map world = gp.read_file(gp.datasets.get_path('naturalearth_lowres')) ax = world.plot(color='white', edgecolor='50', figsize=(13,6)) ax.set_ylim([23, 50]) ax.set_xlim([-128, -65]) # Plot plant locations data = pd.read_csv(\"nimh_plants.csv\") points = gp.points_from_xy(data[\"longitude (deg)\"], data[\"latitude (deg)\"]) gp.GeoDataFrame(data, geometry=points).plot(ax=ax); Plant outputs report Report showing amount of products produced, sent and disposed of by each plant, as well as disposal costs. Generated by RELOG.write_plant_outputs_report(solution, filename) . Column Description plant type Plant type. location name Location name. year What year this row corresponds to. This reports includes one row for each year. product name Product being produced. amount produced (tonne) Amount of product produced this year. amount sent (tonne) Amount of product produced by this plant and sent to another plant for further processing this year. amount disposed (tonne) Amount produced produced by this plant and immediately disposed of locally this year. disposal cost ($) Disposal cost for this year. Sample charts Bar plot showing total amount produced for each product, grouped by year (in Python): import pandas as pd import seaborn as sns; sns.set() data = pd.read_csv(\"plant_outputs_report.csv\") sns.barplot(x=\"amount produced (tonne)\", y=\"product name\", hue=\"year\", data=data.groupby([\"product name\", \"year\"]) .sum() .reset_index()); Plant emissions report Report showing amount of emissions produced by each plant. Generated by RELOG.write_plant_emissions_report(solution, filename) . Column Description plant type Plant type. location name Location name. year Year. emission type Type of emission. amount (tonne) Amount of emission produced by the plant this year. Sample charts Bar plot showing total emission by plant type, grouped type of emissions (in Python): import pandas as pd import seaborn as sns; sns.set() data = pd.read_csv(\"plant_emissions_report.csv\") sns.barplot(x=\"plant type\", y=\"emission amount (tonne)\", hue=\"emission type\", data=data.groupby([\"plant type\", \"emission type\"]) .sum() .reset_index()); Products report Report showing primary product amounts, locations and marginal costs. Generated by RELOG.write_products_report(solution, filename) . Column Description product name Product name. location name Name of the collection center. latitude (deg) Latitude of the collection center. longitude (deg) Longitude of the collection center. year What year this row corresponds to. This reports includes one row for each year. amount (tonne) Amount of product available at this collection center. marginal cost ($/tonne) Cost to process one additional tonne of this product coming from this collection center. Transportation report Report showing amount of product sent from initial locations to plants, and from one plant to another. Includes the distance between each pair of locations, amount-distance shipped, transportation costs and energy expenditure. Generated by RELOG.write_transportation_report(solution, filename) . Column Description source type If product is being shipped from an initial location, equals Origin . If product is being shipped from a plant, equals plant type. source location name Name of the location where the product is being shipped from. source latitude (deg) Latitude of the source location. source longitude (deg) Longitude of the source location. destination type Type of plant the product is being shipped to. destination location name Name of the location where the product is being shipped to. destination latitude (deg) Latitude of the destination location. destination longitude (deg) Longitude of the destination location. product Product being shipped. year Year. distance (km) Distance between source and destination. amount (tonne) Total amount of product being shipped between the two locations this year. amount-distance (tonne-km) Total amount being shipped this year times distance. transportation cost ($) Cost to transport this amount of product between the two locations for this year. transportation energy (GJ) Energy expended transporting this amount of product between the two locations. Sample charts Bar plot showing total amount-distance for each product type, grouped by year (in Python): import pandas as pd import seaborn as sns; sns.set() data = pd.read_csv(\"transportation_report.csv\") sns.barplot(x=\"product\", y=\"amount-distance (tonne-km)\", hue=\"year\", data=data.groupby([\"product\", \"year\"]) .sum() .reset_index()); Map of transportation lines (in Python): import pandas as pd import geopandas as gp from shapely.geometry import Point, LineString import matplotlib.pyplot as plt from matplotlib import collections # Plot base map world = gp.read_file(gp.datasets.get_path('naturalearth_lowres')) ax = world.plot(color='white', edgecolor='50', figsize=(14,7)) ax.set_ylim([23, 50]) ax.set_xlim([-128, -65]) # Draw transportation lines data = pd.read_csv(\"transportation_report.csv\") lines = [[(row[\"source longitude (deg)\"], row[\"source latitude (deg)\"]), (row[\"destination longitude (deg)\"], row[\"destination latitude (deg)\"]) ] for (index, row) in data.iterrows()] ax.add_collection(collections.LineCollection(lines, linewidths=0.25, zorder=1, alpha=0.5, color=\"50\")) # Draw source points points = gp.points_from_xy(data[\"source longitude (deg)\"], data[\"source latitude (deg)\"]) gp.GeoDataFrame(data, geometry=points).plot(ax=ax, color=\"0.5\", markersize=1); # Draw destination points points = gp.points_from_xy(data[\"destination longitude (deg)\"], data[\"destination latitude (deg)\"]) gp.GeoDataFrame(data, geometry=points).plot(ax=ax, color=\"red\", markersize=50); Transportation emissions report Report showing emissions for each trip between initial locations and plants, and between pairs of plants. Generated by RELOG.write_transportation_emissions_report(solution, filename) . Column Description source type If product is being shipped from an initial location, equals Origin . If product is being shipped from a plant, equals plant type. source location name Name of the location where the product is being shipped from. source latitude (deg) Latitude of the source location. source longitude (deg) Longitude of the source location. destination type Type of plant the product is being shipped to. destination location name Name of the location where the product is being shipped to. destination latitude (deg) Latitude of the destination location. destination longitude (deg) Longitude of the destination location. product Product being shipped. year Year. distance (km) Distance between source and destination. shipped amount (tonne) Total amount of product being shipped between the two locations this year. shipped amount-distance (tonne-km) Total amount being shipped this year times distance. emission type Type of emission. emission amount (tonne) Amount of emission produced by transportation segment this year. Sample charts Bar plot showing total emission amount by emission type, grouped by type of product being transported (in Python): import pandas as pd import seaborn as sns; sns.set() data = pd.read_csv(\"transportation_emissions_report.csv\") sns.barplot(x=\"emission type\", y=\"emission amount (tonne)\", hue=\"product\", data=data.groupby([\"product\", \"emission type\"]) .sum() .reset_index());","title":"Reports"},{"location":"reports/#simplified-solution-reports","text":"In addition to the full output format described in data formats , RELOG can also generate a number of simplified reports in tabular data format (CSV), which can be more easily processed by spreadsheet software (such as Microsoft Excel), by data analysis libraries (such as Pandas) or by relational databases (such as SQLite). In this page, we also illustrate what types of charts and visualizations can be produced from these tabular data files. The sample charts have been produced using Python, matplotlib, seaborn and geopandas.","title":"Simplified Solution Reports"},{"location":"reports/#plants-report","text":"Report showing plant costs, capacities, energy expenditure and utilization factors. Generated by RELOG.write_plants_report(solution, filename) . Column Description plant type Plant type. location name Location name. year What year this row corresponds to. This reports includes one row for each year. latitude (deg) Latitude of the plant. longitude (deg) Longitude of the plant. capacity (tonne) Capacity of the plant at this point in time. amount received (tonne) Amount of input material received by the plant this year. amount processed (tonne) Amount of input material processed by the plant this year. amount in storage (tonne) Amount of input material in storage at the end of the year. utilization factor (%) Amount processed by the plant this year divided by current plant capacity. energy (GJ) Amount of energy expended by the plant this year. opening cost ($) Amount spent opening the plant. This value is only positive if the plant became operational this year. expansion cost ($) Amount spent this year expanding the plant capacity. fixed operating cost ($) Amount spent for keeping the plant operational this year. variable operating cost ($) Amount spent this year to process the input material. storage cost ($) Amount spent this year on storage. total cost ($) Sum of all previous plant costs.","title":"Plants report"},{"location":"reports/#sample-charts","text":"Bar plot with total plant costs per year, grouped by plant type (in Python): import pandas as pd import seaborn as sns; sns.set() data = pd.read_csv(\"plants_report.csv\") sns.barplot(x=\"year\", y=\"total cost ($)\", hue=\"plant type\", data=data.groupby([\"plant type\", \"year\"]) .sum() .reset_index()); Map showing plant locations (in Python): import pandas as pd import geopandas as gp # Plot base map world = gp.read_file(gp.datasets.get_path('naturalearth_lowres')) ax = world.plot(color='white', edgecolor='50', figsize=(13,6)) ax.set_ylim([23, 50]) ax.set_xlim([-128, -65]) # Plot plant locations data = pd.read_csv(\"nimh_plants.csv\") points = gp.points_from_xy(data[\"longitude (deg)\"], data[\"latitude (deg)\"]) gp.GeoDataFrame(data, geometry=points).plot(ax=ax);","title":"Sample charts"},{"location":"reports/#plant-outputs-report","text":"Report showing amount of products produced, sent and disposed of by each plant, as well as disposal costs. Generated by RELOG.write_plant_outputs_report(solution, filename) . Column Description plant type Plant type. location name Location name. year What year this row corresponds to. This reports includes one row for each year. product name Product being produced. amount produced (tonne) Amount of product produced this year. amount sent (tonne) Amount of product produced by this plant and sent to another plant for further processing this year. amount disposed (tonne) Amount produced produced by this plant and immediately disposed of locally this year. disposal cost ($) Disposal cost for this year.","title":"Plant outputs report"},{"location":"reports/#sample-charts_1","text":"Bar plot showing total amount produced for each product, grouped by year (in Python): import pandas as pd import seaborn as sns; sns.set() data = pd.read_csv(\"plant_outputs_report.csv\") sns.barplot(x=\"amount produced (tonne)\", y=\"product name\", hue=\"year\", data=data.groupby([\"product name\", \"year\"]) .sum() .reset_index());","title":"Sample charts"},{"location":"reports/#plant-emissions-report","text":"Report showing amount of emissions produced by each plant. Generated by RELOG.write_plant_emissions_report(solution, filename) . Column Description plant type Plant type. location name Location name. year Year. emission type Type of emission. amount (tonne) Amount of emission produced by the plant this year.","title":"Plant emissions report"},{"location":"reports/#sample-charts_2","text":"Bar plot showing total emission by plant type, grouped type of emissions (in Python): import pandas as pd import seaborn as sns; sns.set() data = pd.read_csv(\"plant_emissions_report.csv\") sns.barplot(x=\"plant type\", y=\"emission amount (tonne)\", hue=\"emission type\", data=data.groupby([\"plant type\", \"emission type\"]) .sum() .reset_index());","title":"Sample charts"},{"location":"reports/#products-report","text":"Report showing primary product amounts, locations and marginal costs. Generated by RELOG.write_products_report(solution, filename) . Column Description product name Product name. location name Name of the collection center. latitude (deg) Latitude of the collection center. longitude (deg) Longitude of the collection center. year What year this row corresponds to. This reports includes one row for each year. amount (tonne) Amount of product available at this collection center. marginal cost ($/tonne) Cost to process one additional tonne of this product coming from this collection center.","title":"Products report"},{"location":"reports/#transportation-report","text":"Report showing amount of product sent from initial locations to plants, and from one plant to another. Includes the distance between each pair of locations, amount-distance shipped, transportation costs and energy expenditure. Generated by RELOG.write_transportation_report(solution, filename) . Column Description source type If product is being shipped from an initial location, equals Origin . If product is being shipped from a plant, equals plant type. source location name Name of the location where the product is being shipped from. source latitude (deg) Latitude of the source location. source longitude (deg) Longitude of the source location. destination type Type of plant the product is being shipped to. destination location name Name of the location where the product is being shipped to. destination latitude (deg) Latitude of the destination location. destination longitude (deg) Longitude of the destination location. product Product being shipped. year Year. distance (km) Distance between source and destination. amount (tonne) Total amount of product being shipped between the two locations this year. amount-distance (tonne-km) Total amount being shipped this year times distance. transportation cost ($) Cost to transport this amount of product between the two locations for this year. transportation energy (GJ) Energy expended transporting this amount of product between the two locations.","title":"Transportation report"},{"location":"reports/#sample-charts_3","text":"Bar plot showing total amount-distance for each product type, grouped by year (in Python): import pandas as pd import seaborn as sns; sns.set() data = pd.read_csv(\"transportation_report.csv\") sns.barplot(x=\"product\", y=\"amount-distance (tonne-km)\", hue=\"year\", data=data.groupby([\"product\", \"year\"]) .sum() .reset_index()); Map of transportation lines (in Python): import pandas as pd import geopandas as gp from shapely.geometry import Point, LineString import matplotlib.pyplot as plt from matplotlib import collections # Plot base map world = gp.read_file(gp.datasets.get_path('naturalearth_lowres')) ax = world.plot(color='white', edgecolor='50', figsize=(14,7)) ax.set_ylim([23, 50]) ax.set_xlim([-128, -65]) # Draw transportation lines data = pd.read_csv(\"transportation_report.csv\") lines = [[(row[\"source longitude (deg)\"], row[\"source latitude (deg)\"]), (row[\"destination longitude (deg)\"], row[\"destination latitude (deg)\"]) ] for (index, row) in data.iterrows()] ax.add_collection(collections.LineCollection(lines, linewidths=0.25, zorder=1, alpha=0.5, color=\"50\")) # Draw source points points = gp.points_from_xy(data[\"source longitude (deg)\"], data[\"source latitude (deg)\"]) gp.GeoDataFrame(data, geometry=points).plot(ax=ax, color=\"0.5\", markersize=1); # Draw destination points points = gp.points_from_xy(data[\"destination longitude (deg)\"], data[\"destination latitude (deg)\"]) gp.GeoDataFrame(data, geometry=points).plot(ax=ax, color=\"red\", markersize=50);","title":"Sample charts"},{"location":"reports/#transportation-emissions-report","text":"Report showing emissions for each trip between initial locations and plants, and between pairs of plants. Generated by RELOG.write_transportation_emissions_report(solution, filename) . Column Description source type If product is being shipped from an initial location, equals Origin . If product is being shipped from a plant, equals plant type. source location name Name of the location where the product is being shipped from. source latitude (deg) Latitude of the source location. source longitude (deg) Longitude of the source location. destination type Type of plant the product is being shipped to. destination location name Name of the location where the product is being shipped to. destination latitude (deg) Latitude of the destination location. destination longitude (deg) Longitude of the destination location. product Product being shipped. year Year. distance (km) Distance between source and destination. shipped amount (tonne) Total amount of product being shipped between the two locations this year. shipped amount-distance (tonne-km) Total amount being shipped this year times distance. emission type Type of emission. emission amount (tonne) Amount of emission produced by transportation segment this year.","title":"Transportation emissions report"},{"location":"reports/#sample-charts_4","text":"Bar plot showing total emission amount by emission type, grouped by type of product being transported (in Python): import pandas as pd import seaborn as sns; sns.set() data = pd.read_csv(\"transportation_emissions_report.csv\") sns.barplot(x=\"emission type\", y=\"emission amount (tonne)\", hue=\"product\", data=data.groupby([\"product\", \"emission type\"]) .sum() .reset_index());","title":"Sample charts"},{"location":"usage/","text":"Usage 1. Installation To use RELOG, the first step is to install the Julia programming language on your machine. Note that RELOG was developed and tested with Julia 1.5 and may not be compatible with newer versions. After Julia is installed, launch the Julia console, type ] to switch to package manger mode, then run: (@v1.5) pkg> add https://github.com/ANL-CEEESA/RELOG.git After the package and all its dependencies have been installed, please run the RELOG test suite, as shown below, to make sure that the package has been correctly installed: (@v1.5) pkg> test RELOG To update the package to a newer version, type ] to enter the package manager mode, then run: (@v1.5) pkg> update RELOG 2. Modeling the problem The two main model components in RELOG are products and plants . A product is any material that needs to be recycled, any intermediary product produced during the recycling process, or any product recovered at the end of the process. For example, in a NiMH battery recycling study case, products could include (i) the original batteries to be recycled; (ii) the cathode and anode parts of the battery; (iii) rare-earth elements and (iv) scrap metals. The model assumes that some products are initially available at user-specified locations (described by their latitude, longitude and the amount available), while other products only become available during the recycling process. Products that are initially available must be sent to a plant for processing during the same time period they became available. Transporting products from one location to another incurs a transportation cost ( $/km/tonne ), spends some amount of energy ( J/km/tonne ) and may generate multiple types of emissions ( tonne/tonne ). All these parameters are user-specified and may be product- and time-specific. A plant is a facility that converts one type of product to another. RELOG assumes that each plant receives a single type of product as input and converts this input into multiple types of products. Multiple types of plants, with different inputs, outputs and performance characteristics, may be specified. In the NiMH battery recycling study case, for example, one type of plant could be a disassembly plant , which converts batteries into cathode and anode . Another type of plant could be anode recycling plant , which converts anode into rare-earth elements and scrap metals . To process each tonne of input material, plants incur a variable operating cost ( $/tonne ), spend some amount of energy ( GJ/tonne ), and produce multiple types of emissions ( tonne/tonne ). Plants also incur a fixed operating cost ( $ ) regardless of the amount of material they process. All these parameters are user-specified and may be region- and time-specific. Plants can be built at user-specified potential locations. Opening a plant incurs a one-time opening cost ( $ ) which may be region- and time-specific. Plants also have a limited capacity (in tonne ), which indicates the maximum amount of input material they are able to process per year. When specifying potential locations for each type of plant, it is also possible to specify the minimum and maximum capacity of the plants that can be built at that particular location. Different plants sizes may have different opening costs and fixed operating costs. After a plant is built, it can be further expanded in the following years, up to its maximum capacity. Products received by a plant can be either processed immediately or stored for later processing. Plants have a maximum storage capacity ( tonne ). Storage costs ( $/tonne ) can also be specified. All products generated by a plant can either be sent to another plant for further processing, or disposed of locally for either a profit or a loss ( $/tonne ). To model environmental regulations, it is also possible to specify the maximum amount of each product that can be disposed of at each location. All user parameters specified above must be provided to RELOG as a JSON file, which is fully described in the data format page . 3. Running the optimization After creating a JSON file describing the reverse manufacturing process and the input data, the following example illustrates how to use the package to find the optimal set of decisions: # Import package using RELOG # Solve optimization problem solution = RELOG.solve(\"/home/user/instance.json\") # Write full solution in JSON format RELOG.write(solution, \"solution.json\") # Write simplified reports in CSV format RELOG.write_plants_report(solution, \"plants.csv\") RELOG.write_transportation_report(solution, \"transportation.csv\") For a complete description of the file formats above, and for a complete list of available reports, see the data format page . 4. What-If Analysis Fundamentally, RELOG decides when and where to build plants based on a deterministic optimization problem that minimizes costs for a particular input file provided by the user. In practical situations, it may not be possible to perfectly estimate some (or most) entries in this input file in advance, such as costs, demands and emissions. In this situation, it may be interesting to evaluate how well does the facility location plan produced by RELOG work if costs, demands and emissions turn out to be different. To simplify this what-if analysis, RELOG provides the resolve method, which updates a previous solution based on a new scenario, but keeps some of the previous decisions fixed. More precisely, given an optimal solution produced by RELOG and a new input file describing the new scenario, the resolve method reoptimizes the supply chain and produces a new solution which still builds the same set of plants as before, in exactly the same locations and with the same capacities, but that may now utilize the plants differently, based on the new data. For example, in the new solution, plants that were previously used at full capacity may now be utilized at half-capacity instead. As another example, regions that were previously served by a certain plant may now be served by a different one. The following snippet shows how to use the method: # Import package using RELOG # Optimize for the average scenario solution_avg, model_avg = RELOG.solve(\"input_avg.json\", return_model=true) # Write reports for the average scenario RELOG.write_plants_report(solution_avg, \"plants_avg.csv\") RELOG.write_transportation_report(solution_avg, \"transportation_avg.csv\") # Re-optimize for the high-demand scenario, keeping plants fixed solution_high = RELOG.resolve(model_avg, \"input_high.json\") # Write reports for the high-demand scenario RELOG.write_plants_report(solution_high, \"plants_high.csv\") RELOG.write_transportation_report(solution_high, \"transportation_high.csv\") To use the resolve method, the new input file should be very similar to the original one. Only the following entries are allowed to change: Products: Transportation costs, energy, emissions and initial amounts (latitude, longitude and amount). Plants: Energy and emissions. Plant's location: Latitude and longitude. Plant's storage: Cost. Plant's capacity: Opening cost, fixed operating cost and variable operating cost. 5. Advanced options 5.1 Changing the solver By default, RELOG internally uses Cbc , an open-source and freely-available Mixed-Integer Linear Programming solver developed by the COIN-OR Project . For larger-scale test cases, a commercial solver such as Gurobi, CPLEX or XPRESS is recommended. The following snippet shows how to switch from Cbc to Gurobi, for example: using RELOG, Gurobi, JuMP gurobi = optimizer_with_attributes(Gurobi.Optimizer, \"TimeLimit\" => 3600, \"MIPGap\" => 0.001) RELOG.solve(\"instance.json\", output=\"solution.json\", optimizer=gurobi) 5.2 Multi-period heuristics For large-scale instances, it may be too time-consuming to find an exact optimal solution to the multi-period version of the problem. For these situations, RELOG includes a heuristic solution method, which proceeds as follows: First, RELOG creates a single-period version of the problem, in which most values are replaced by their averages. This single-period problem is typically much easier to solve. After solving the simplified problem, RELOG resolves the multi-period version of the problem, but considering only candidate plant locations that were selected by the optimal solution to the single-period version of the problem. All remaining candidate plant locations are removed. To solve an instance using this heuristic, use the option heuristic=true , as shown below. using RELOG solution = RELOG.solve(\"/home/user/instance.json\", heuristic=true)","title":"Usage"},{"location":"usage/#usage","text":"","title":"Usage"},{"location":"usage/#1-installation","text":"To use RELOG, the first step is to install the Julia programming language on your machine. Note that RELOG was developed and tested with Julia 1.5 and may not be compatible with newer versions. After Julia is installed, launch the Julia console, type ] to switch to package manger mode, then run: (@v1.5) pkg> add https://github.com/ANL-CEEESA/RELOG.git After the package and all its dependencies have been installed, please run the RELOG test suite, as shown below, to make sure that the package has been correctly installed: (@v1.5) pkg> test RELOG To update the package to a newer version, type ] to enter the package manager mode, then run: (@v1.5) pkg> update RELOG","title":"1. Installation"},{"location":"usage/#2-modeling-the-problem","text":"The two main model components in RELOG are products and plants . A product is any material that needs to be recycled, any intermediary product produced during the recycling process, or any product recovered at the end of the process. For example, in a NiMH battery recycling study case, products could include (i) the original batteries to be recycled; (ii) the cathode and anode parts of the battery; (iii) rare-earth elements and (iv) scrap metals. The model assumes that some products are initially available at user-specified locations (described by their latitude, longitude and the amount available), while other products only become available during the recycling process. Products that are initially available must be sent to a plant for processing during the same time period they became available. Transporting products from one location to another incurs a transportation cost ( $/km/tonne ), spends some amount of energy ( J/km/tonne ) and may generate multiple types of emissions ( tonne/tonne ). All these parameters are user-specified and may be product- and time-specific. A plant is a facility that converts one type of product to another. RELOG assumes that each plant receives a single type of product as input and converts this input into multiple types of products. Multiple types of plants, with different inputs, outputs and performance characteristics, may be specified. In the NiMH battery recycling study case, for example, one type of plant could be a disassembly plant , which converts batteries into cathode and anode . Another type of plant could be anode recycling plant , which converts anode into rare-earth elements and scrap metals . To process each tonne of input material, plants incur a variable operating cost ( $/tonne ), spend some amount of energy ( GJ/tonne ), and produce multiple types of emissions ( tonne/tonne ). Plants also incur a fixed operating cost ( $ ) regardless of the amount of material they process. All these parameters are user-specified and may be region- and time-specific. Plants can be built at user-specified potential locations. Opening a plant incurs a one-time opening cost ( $ ) which may be region- and time-specific. Plants also have a limited capacity (in tonne ), which indicates the maximum amount of input material they are able to process per year. When specifying potential locations for each type of plant, it is also possible to specify the minimum and maximum capacity of the plants that can be built at that particular location. Different plants sizes may have different opening costs and fixed operating costs. After a plant is built, it can be further expanded in the following years, up to its maximum capacity. Products received by a plant can be either processed immediately or stored for later processing. Plants have a maximum storage capacity ( tonne ). Storage costs ( $/tonne ) can also be specified. All products generated by a plant can either be sent to another plant for further processing, or disposed of locally for either a profit or a loss ( $/tonne ). To model environmental regulations, it is also possible to specify the maximum amount of each product that can be disposed of at each location. All user parameters specified above must be provided to RELOG as a JSON file, which is fully described in the data format page .","title":"2. Modeling the problem"},{"location":"usage/#3-running-the-optimization","text":"After creating a JSON file describing the reverse manufacturing process and the input data, the following example illustrates how to use the package to find the optimal set of decisions: # Import package using RELOG # Solve optimization problem solution = RELOG.solve(\"/home/user/instance.json\") # Write full solution in JSON format RELOG.write(solution, \"solution.json\") # Write simplified reports in CSV format RELOG.write_plants_report(solution, \"plants.csv\") RELOG.write_transportation_report(solution, \"transportation.csv\") For a complete description of the file formats above, and for a complete list of available reports, see the data format page .","title":"3. Running the optimization"},{"location":"usage/#4-what-if-analysis","text":"Fundamentally, RELOG decides when and where to build plants based on a deterministic optimization problem that minimizes costs for a particular input file provided by the user. In practical situations, it may not be possible to perfectly estimate some (or most) entries in this input file in advance, such as costs, demands and emissions. In this situation, it may be interesting to evaluate how well does the facility location plan produced by RELOG work if costs, demands and emissions turn out to be different. To simplify this what-if analysis, RELOG provides the resolve method, which updates a previous solution based on a new scenario, but keeps some of the previous decisions fixed. More precisely, given an optimal solution produced by RELOG and a new input file describing the new scenario, the resolve method reoptimizes the supply chain and produces a new solution which still builds the same set of plants as before, in exactly the same locations and with the same capacities, but that may now utilize the plants differently, based on the new data. For example, in the new solution, plants that were previously used at full capacity may now be utilized at half-capacity instead. As another example, regions that were previously served by a certain plant may now be served by a different one. The following snippet shows how to use the method: # Import package using RELOG # Optimize for the average scenario solution_avg, model_avg = RELOG.solve(\"input_avg.json\", return_model=true) # Write reports for the average scenario RELOG.write_plants_report(solution_avg, \"plants_avg.csv\") RELOG.write_transportation_report(solution_avg, \"transportation_avg.csv\") # Re-optimize for the high-demand scenario, keeping plants fixed solution_high = RELOG.resolve(model_avg, \"input_high.json\") # Write reports for the high-demand scenario RELOG.write_plants_report(solution_high, \"plants_high.csv\") RELOG.write_transportation_report(solution_high, \"transportation_high.csv\") To use the resolve method, the new input file should be very similar to the original one. Only the following entries are allowed to change: Products: Transportation costs, energy, emissions and initial amounts (latitude, longitude and amount). Plants: Energy and emissions. Plant's location: Latitude and longitude. Plant's storage: Cost. Plant's capacity: Opening cost, fixed operating cost and variable operating cost.","title":"4. What-If Analysis"},{"location":"usage/#5-advanced-options","text":"","title":"5. Advanced options"},{"location":"usage/#51-changing-the-solver","text":"By default, RELOG internally uses Cbc , an open-source and freely-available Mixed-Integer Linear Programming solver developed by the COIN-OR Project . For larger-scale test cases, a commercial solver such as Gurobi, CPLEX or XPRESS is recommended. The following snippet shows how to switch from Cbc to Gurobi, for example: using RELOG, Gurobi, JuMP gurobi = optimizer_with_attributes(Gurobi.Optimizer, \"TimeLimit\" => 3600, \"MIPGap\" => 0.001) RELOG.solve(\"instance.json\", output=\"solution.json\", optimizer=gurobi)","title":"5.1 Changing the solver"},{"location":"usage/#52-multi-period-heuristics","text":"For large-scale instances, it may be too time-consuming to find an exact optimal solution to the multi-period version of the problem. For these situations, RELOG includes a heuristic solution method, which proceeds as follows: First, RELOG creates a single-period version of the problem, in which most values are replaced by their averages. This single-period problem is typically much easier to solve. After solving the simplified problem, RELOG resolves the multi-period version of the problem, but considering only candidate plant locations that were selected by the optimal solution to the single-period version of the problem. All remaining candidate plant locations are removed. To solve an instance using this heuristic, use the option heuristic=true , as shown below. using RELOG solution = RELOG.solve(\"/home/user/instance.json\", heuristic=true)","title":"5.2 Multi-period heuristics"}]}
\ No newline at end of file
diff --git a/0.5/search/worker.js b/0.5/search/worker.js
deleted file mode 100644
index 9cce2f7..0000000
--- a/0.5/search/worker.js
+++ /dev/null
@@ -1,130 +0,0 @@
-var base_path = 'function' === typeof importScripts ? '.' : '/search/';
-var allowSearch = false;
-var index;
-var documents = {};
-var lang = ['en'];
-var data;
-
-function getScript(script, callback) {
- console.log('Loading script: ' + script);
- $.getScript(base_path + script).done(function () {
- callback();
- }).fail(function (jqxhr, settings, exception) {
- console.log('Error: ' + exception);
- });
-}
-
-function getScriptsInOrder(scripts, callback) {
- if (scripts.length === 0) {
- callback();
- return;
- }
- getScript(scripts[0], function() {
- getScriptsInOrder(scripts.slice(1), callback);
- });
-}
-
-function loadScripts(urls, callback) {
- if( 'function' === typeof importScripts ) {
- importScripts.apply(null, urls);
- callback();
- } else {
- getScriptsInOrder(urls, callback);
- }
-}
-
-function onJSONLoaded () {
- data = JSON.parse(this.responseText);
- var scriptsToLoad = ['lunr.js'];
- if (data.config && data.config.lang && data.config.lang.length) {
- lang = data.config.lang;
- }
- if (lang.length > 1 || lang[0] !== "en") {
- scriptsToLoad.push('lunr.stemmer.support.js');
- if (lang.length > 1) {
- scriptsToLoad.push('lunr.multi.js');
- }
- for (var i=0; i < lang.length; i++) {
- if (lang[i] != 'en') {
- scriptsToLoad.push(['lunr', lang[i], 'js'].join('.'));
- }
- }
- }
- loadScripts(scriptsToLoad, onScriptsLoaded);
-}
-
-function onScriptsLoaded () {
- console.log('All search scripts loaded, building Lunr index...');
- if (data.config && data.config.separator && data.config.separator.length) {
- lunr.tokenizer.separator = new RegExp(data.config.separator);
- }
-
- if (data.index) {
- index = lunr.Index.load(data.index);
- data.docs.forEach(function (doc) {
- documents[doc.location] = doc;
- });
- console.log('Lunr pre-built index loaded, search ready');
- } else {
- index = lunr(function () {
- if (lang.length === 1 && lang[0] !== "en" && lunr[lang[0]]) {
- this.use(lunr[lang[0]]);
- } else if (lang.length > 1) {
- this.use(lunr.multiLanguage.apply(null, lang)); // spread operator not supported in all browsers: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator#Browser_compatibility
- }
- this.field('title');
- this.field('text');
- this.ref('location');
-
- for (var i=0; i < data.docs.length; i++) {
- var doc = data.docs[i];
- this.add(doc);
- documents[doc.location] = doc;
- }
- });
- console.log('Lunr index built, search ready');
- }
- allowSearch = true;
- postMessage({config: data.config});
- postMessage({allowSearch: allowSearch});
-}
-
-function init () {
- var oReq = new XMLHttpRequest();
- oReq.addEventListener("load", onJSONLoaded);
- var index_path = base_path + '/search_index.json';
- if( 'function' === typeof importScripts ){
- index_path = 'search_index.json';
- }
- oReq.open("GET", index_path);
- oReq.send();
-}
-
-function search (query) {
- if (!allowSearch) {
- console.error('Assets for search still loading');
- return;
- }
-
- var resultDocuments = [];
- var results = index.search(query);
- for (var i=0; i < results.length; i++){
- var result = results[i];
- doc = documents[result.ref];
- doc.summary = doc.text.substring(0, 200);
- resultDocuments.push(doc);
- }
- return resultDocuments;
-}
-
-if( 'function' === typeof importScripts ) {
- onmessage = function (e) {
- if (e.data.init) {
- init();
- } else if (e.data.query) {
- postMessage({ results: search(e.data.query) });
- } else {
- console.error("Worker - Unrecognized message: " + e);
- }
- };
-}
diff --git a/0.5/search_index.js b/0.5/search_index.js
new file mode 100644
index 0000000..412e11d
--- /dev/null
+++ b/0.5/search_index.js
@@ -0,0 +1,3 @@
+var documenterSearchIndex = {"docs":
+[{"location":"reports/#Simplified-Solution-Reports","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"","category":"section"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"In addition to the full output format described in data formats, RELOG can also generate a number of simplified reports in tabular data format (CSV), which can be more easily processed by spreadsheet software (such as Microsoft Excel), by data analysis libraries (such as Pandas) or by relational databases (such as SQLite).","category":"page"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"In this page, we also illustrate what types of charts and visualizations can be produced from these tabular data files. The sample charts have been produced using Python, matplotlib, seaborn and geopandas.","category":"page"},{"location":"reports/#Plants-report","page":"Simplified Solution Reports","title":"Plants report","text":"","category":"section"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"Report showing plant costs, capacities, energy expenditure and utilization factors. Generated by RELOG.write_plants_report(solution, filename).","category":"page"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"Column Description\nplant type Plant type.\nlocation name Location name.\nyear What year this row corresponds to. This reports includes one row for each year.\nlatitude (deg) Latitude of the plant.\nlongitude (deg) Longitude of the plant.\ncapacity (tonne) Capacity of the plant at this point in time.\namount received (tonne) Amount of input material received by the plant this year.\namount processed (tonne) Amount of input material processed by the plant this year.\namount in storage (tonne) Amount of input material in storage at the end of the year.\nutilization factor (%) Amount processed by the plant this year divided by current plant capacity.\nenergy (GJ) Amount of energy expended by the plant this year.\nopening cost ($) Amount spent opening the plant. This value is only positive if the plant became operational this year.\nexpansion cost ($) Amount spent this year expanding the plant capacity.\nfixed operating cost ($) Amount spent for keeping the plant operational this year.\nvariable operating cost ($) Amount spent this year to process the input material.\nstorage cost ($) Amount spent this year on storage.\ntotal cost ($) Sum of all previous plant costs.","category":"page"},{"location":"reports/#Sample-charts","page":"Simplified Solution Reports","title":"Sample charts","text":"","category":"section"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"Bar plot with total plant costs per year, grouped by plant type (in Python):","category":"page"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"import pandas as pd\nimport seaborn as sns; sns.set()\n\ndata = pd.read_csv(\"plants_report.csv\")\nsns.barplot(x=\"year\",\n y=\"total cost ($)\",\n hue=\"plant type\",\n data=data.groupby([\"plant type\", \"year\"])\n .sum()\n .reset_index());","category":"page"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":" ","category":"page"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"Map showing plant locations (in Python):","category":"page"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"import pandas as pd\nimport geopandas as gp\n\n# Plot base map\nworld = gp.read_file(gp.datasets.get_path('naturalearth_lowres'))\nax = world.plot(color='white', edgecolor='50', figsize=(13,6))\nax.set_ylim([23, 50])\nax.set_xlim([-128, -65])\n\n# Plot plant locations\ndata = pd.read_csv(\"nimh_plants.csv\")\npoints = gp.points_from_xy(data[\"longitude (deg)\"],\n data[\"latitude (deg)\"])\ngp.GeoDataFrame(data, geometry=points).plot(ax=ax);","category":"page"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":" ","category":"page"},{"location":"reports/#Plant-outputs-report","page":"Simplified Solution Reports","title":"Plant outputs report","text":"","category":"section"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"Report showing amount of products produced, sent and disposed of by each plant, as well as disposal costs. Generated by RELOG.write_plant_outputs_report(solution, filename).","category":"page"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"Column Description\nplant type Plant type.\nlocation name Location name.\nyear What year this row corresponds to. This reports includes one row for each year.\nproduct name Product being produced.\namount produced (tonne) Amount of product produced this year.\namount sent (tonne) Amount of product produced by this plant and sent to another plant for further processing this year.\namount disposed (tonne) Amount produced produced by this plant and immediately disposed of locally this year.\ndisposal cost ($) Disposal cost for this year.","category":"page"},{"location":"reports/#Sample-charts-2","page":"Simplified Solution Reports","title":"Sample charts","text":"","category":"section"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"Bar plot showing total amount produced for each product, grouped by year (in Python):","category":"page"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"import pandas as pd\nimport seaborn as sns; sns.set()\n\ndata = pd.read_csv(\"plant_outputs_report.csv\")\nsns.barplot(x=\"amount produced (tonne)\",\n y=\"product name\",\n hue=\"year\",\n data=data.groupby([\"product name\", \"year\"])\n .sum()\n .reset_index());","category":"page"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":" ","category":"page"},{"location":"reports/#Plant-emissions-report","page":"Simplified Solution Reports","title":"Plant emissions report","text":"","category":"section"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"Report showing amount of emissions produced by each plant. Generated by RELOG.write_plant_emissions_report(solution, filename).","category":"page"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"Column Description\nplant type Plant type.\nlocation name Location name.\nyear Year.\nemission type Type of emission.\namount (tonne) Amount of emission produced by the plant this year.","category":"page"},{"location":"reports/#Sample-charts-3","page":"Simplified Solution Reports","title":"Sample charts","text":"","category":"section"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"Bar plot showing total emission by plant type, grouped type of emissions (in Python):","category":"page"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"import pandas as pd\nimport seaborn as sns; sns.set()\n\ndata = pd.read_csv(\"plant_emissions_report.csv\")\nsns.barplot(x=\"plant type\",\n y=\"emission amount (tonne)\",\n hue=\"emission type\",\n data=data.groupby([\"plant type\", \"emission type\"])\n .sum()\n .reset_index());","category":"page"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":" ","category":"page"},{"location":"reports/#Products-report","page":"Simplified Solution Reports","title":"Products report","text":"","category":"section"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"Report showing primary product amounts, locations and marginal costs. Generated by RELOG.write_products_report(solution, filename).","category":"page"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"Column Description\nproduct name Product name.\nlocation name Name of the collection center.\nlatitude (deg) Latitude of the collection center.\nlongitude (deg) Longitude of the collection center.\nyear What year this row corresponds to. This reports includes one row for each year.\namount (tonne) Amount of product available at this collection center.\nmarginal cost ($/tonne) Cost to process one additional tonne of this product coming from this collection center.","category":"page"},{"location":"reports/#Transportation-report","page":"Simplified Solution Reports","title":"Transportation report","text":"","category":"section"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"Report showing amount of product sent from initial locations to plants, and from one plant to another. Includes the distance between each pair of locations, amount-distance shipped, transportation costs and energy expenditure. Generated by RELOG.write_transportation_report(solution, filename).","category":"page"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"Column Description\nsource type If product is being shipped from an initial location, equals Origin. If product is being shipped from a plant, equals plant type.\nsource location name Name of the location where the product is being shipped from.\nsource latitude (deg) Latitude of the source location.\nsource longitude (deg) Longitude of the source location.\ndestination type Type of plant the product is being shipped to.\ndestination location name Name of the location where the product is being shipped to.\ndestination latitude (deg) Latitude of the destination location.\ndestination longitude (deg) Longitude of the destination location.\nproduct Product being shipped.\nyear Year.\ndistance (km) Distance between source and destination.\namount (tonne) Total amount of product being shipped between the two locations this year.\namount-distance (tonne-km) Total amount being shipped this year times distance.\ntransportation cost ($) Cost to transport this amount of product between the two locations for this year.\ntransportation energy (GJ) Energy expended transporting this amount of product between the two locations.","category":"page"},{"location":"reports/#Sample-charts-4","page":"Simplified Solution Reports","title":"Sample charts","text":"","category":"section"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"Bar plot showing total amount-distance for each product type, grouped by year (in Python):","category":"page"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"import pandas as pd\nimport seaborn as sns; sns.set()\n\ndata = pd.read_csv(\"transportation_report.csv\")\nsns.barplot(x=\"product\",\n y=\"amount-distance (tonne-km)\",\n hue=\"year\",\n data=data.groupby([\"product\", \"year\"])\n .sum()\n .reset_index());","category":"page"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":" ","category":"page"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"Map of transportation lines (in Python):","category":"page"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"import pandas as pd\nimport geopandas as gp\nfrom shapely.geometry import Point, LineString\nimport matplotlib.pyplot as plt\nfrom matplotlib import collections\n\n# Plot base map\nworld = gp.read_file(gp.datasets.get_path('naturalearth_lowres'))\nax = world.plot(color='white', edgecolor='50', figsize=(14,7))\nax.set_ylim([23, 50])\nax.set_xlim([-128, -65])\n\n# Draw transportation lines\ndata = pd.read_csv(\"transportation_report.csv\")\nlines = [[(row[\"source longitude (deg)\"], row[\"source latitude (deg)\"]),\n (row[\"destination longitude (deg)\"], row[\"destination latitude (deg)\"])\n ] for (index, row) in data.iterrows()]\nax.add_collection(collections.LineCollection(lines,\n linewidths=0.25,\n zorder=1,\n alpha=0.5,\n color=\"50\"))\n\n# Draw source points\npoints = gp.points_from_xy(data[\"source longitude (deg)\"],\n data[\"source latitude (deg)\"])\ngp.GeoDataFrame(data, geometry=points).plot(ax=ax,\n color=\"0.5\",\n markersize=1);\n\n# Draw destination points\npoints = gp.points_from_xy(data[\"destination longitude (deg)\"],\n data[\"destination latitude (deg)\"])\ngp.GeoDataFrame(data, geometry=points).plot(ax=ax,\n color=\"red\",\n markersize=50);","category":"page"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":" ","category":"page"},{"location":"reports/#Transportation-emissions-report","page":"Simplified Solution Reports","title":"Transportation emissions report","text":"","category":"section"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"Report showing emissions for each trip between initial locations and plants, and between pairs of plants. Generated by RELOG.write_transportation_emissions_report(solution, filename).","category":"page"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"Column Description\nsource type If product is being shipped from an initial location, equals Origin. If product is being shipped from a plant, equals plant type.\nsource location name Name of the location where the product is being shipped from.\nsource latitude (deg) Latitude of the source location.\nsource longitude (deg) Longitude of the source location.\ndestination type Type of plant the product is being shipped to.\ndestination location name Name of the location where the product is being shipped to.\ndestination latitude (deg) Latitude of the destination location.\ndestination longitude (deg) Longitude of the destination location.\nproduct Product being shipped.\nyear Year.\ndistance (km) Distance between source and destination.\nshipped amount (tonne) Total amount of product being shipped between the two locations this year.\nshipped amount-distance (tonne-km) Total amount being shipped this year times distance.\nemission type Type of emission.\nemission amount (tonne) Amount of emission produced by transportation segment this year.","category":"page"},{"location":"reports/#Sample-charts-5","page":"Simplified Solution Reports","title":"Sample charts","text":"","category":"section"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"Bar plot showing total emission amount by emission type, grouped by type of product being transported (in Python):","category":"page"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":"import pandas as pd\nimport seaborn as sns; sns.set()\n\ndata = pd.read_csv(\"transportation_emissions_report.csv\")\nsns.barplot(x=\"emission type\",\n y=\"emission amount (tonne)\",\n hue=\"product\",\n data=data.groupby([\"product\", \"emission type\"])\n .sum()\n .reset_index());","category":"page"},{"location":"reports/","page":"Simplified Solution Reports","title":"Simplified Solution Reports","text":" ","category":"page"},{"location":"usage/#Usage","page":"Usage","title":"Usage","text":"","category":"section"},{"location":"usage/#.-Installation","page":"Usage","title":"1. Installation","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"To use RELOG, the first step is to install the Julia programming language on your machine. Note that RELOG was developed and tested with Julia 1.8 and may not be compatible with newer versions. After Julia is installed, launch the Julia console, then run:","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"using Pkg\nPkg.add(name=\"RELOG\", version=\"0.5\")","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"After the package and all its dependencies have been installed, please run the RELOG test suite, as shown below, to make sure that the package has been correctly installed:","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"Pkg.test(\"RELOG\")","category":"page"},{"location":"usage/#.-Modeling-the-problem","page":"Usage","title":"2. Modeling the problem","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"The two main model components in RELOG are products and plants.","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"A product is any material that needs to be recycled, any intermediary product produced during the recycling process, or any product recovered at the end of the process. For example, in a NiMH battery recycling study case, products could include (i) the original batteries to be recycled; (ii) the cathode and anode parts of the battery; (iii) rare-earth elements and (iv) scrap metals.","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"The model assumes that some products are initially available at user-specified locations (described by their latitude, longitude and the amount available), while other products only become available during the recycling process.\nProducts that are initially available must be sent to a plant for processing during the same time period they became available.\nTransporting products from one location to another incurs a transportation cost ($/km/tonne), spends some amount of energy (J/km/tonne) and may generate multiple types of emissions (tonne/tonne). All these parameters are user-specified and may be product- and time-specific.","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"A plant is a facility that converts one type of product to another. RELOG assumes that each plant receives a single type of product as input and converts this input into multiple types of products. Multiple types of plants, with different inputs, outputs and performance characteristics, may be specified. In the NiMH battery recycling study case, for example, one type of plant could be a disassembly plant, which converts batteries into cathode and anode. Another type of plant could be anode recycling plant, which converts anode into rare-earth elements and scrap metals.","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"To process each tonne of input material, plants incur a variable operating cost ($/tonne), spend some amount of energy (GJ/tonne), and produce multiple types of emissions (tonne/tonne). Plants also incur a fixed operating cost ($) regardless of the amount of material they process. All these parameters are user-specified and may be region- and time-specific.\nPlants can be built at user-specified potential locations. Opening a plant incurs a one-time opening cost ($) which may be region- and time-specific. Plants also have a limited capacity (in tonne), which indicates the maximum amount of input material they are able to process per year. When specifying potential locations for each type of plant, it is also possible to specify the minimum and maximum capacity of the plants that can be built at that particular location. Different plants sizes may have different opening costs and fixed operating costs. After a plant is built, it can be further expanded in the following years, up to its maximum capacity.\nProducts received by a plant can be either processed immediately or stored for later processing. Plants have a maximum storage capacity (tonne). Storage costs ($/tonne) can also be specified.\nAll products generated by a plant can either be sent to another plant for further processing, or disposed of locally for either a profit or a loss ($/tonne). To model environmental regulations, it is also possible to specify the maximum amount of each product that can be disposed of at each location.","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"All user parameters specified above must be provided to RELOG as a JSON file, which is fully described in the data format page.","category":"page"},{"location":"usage/#.-Running-the-optimization","page":"Usage","title":"3. Running the optimization","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"After creating a JSON file describing the reverse manufacturing process and the input data, the following example illustrates how to use the package to find the optimal set of decisions:","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"# Import package\nusing RELOG\n\n# Solve optimization problem\nsolution = RELOG.solve(\"/home/user/instance.json\")\n\n# Write full solution in JSON format\nRELOG.write(solution, \"solution.json\")\n\n# Write simplified reports in CSV format\nRELOG.write_plants_report(solution, \"plants.csv\")\nRELOG.write_transportation_report(solution, \"transportation.csv\")","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"For a complete description of the file formats above, and for a complete list of available reports, see the data format page.","category":"page"},{"location":"usage/#.-What-If-Analysis","page":"Usage","title":"4. What-If Analysis","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"Fundamentally, RELOG decides when and where to build plants based on a deterministic optimization problem that minimizes costs for a particular input file provided by the user. In practical situations, it may not be possible to perfectly estimate some (or most) entries in this input file in advance, such as costs, demands and emissions. In this situation, it may be interesting to evaluate how well does the facility location plan produced by RELOG work if costs, demands and emissions turn out to be different.","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"To simplify this what-if analysis, RELOG provides the resolve method, which updates a previous solution based on a new scenario, but keeps some of the previous decisions fixed. More precisely, given an optimal solution produced by RELOG and a new input file describing the new scenario, the resolve method reoptimizes the supply chain and produces a new solution which still builds the same set of plants as before, in exactly the same locations and with the same capacities, but that may now utilize the plants differently, based on the new data. For example, in the new solution, plants that were previously used at full capacity may now be utilized at half-capacity instead. As another example, regions that were previously served by a certain plant may now be served by a different one.","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"The following snippet shows how to use the method:","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"# Import package\nusing RELOG\n\n# Optimize for the average scenario\nsolution_avg, model_avg = RELOG.solve(\"input_avg.json\", return_model=true)\n\n# Write reports for the average scenario\nRELOG.write_plants_report(solution_avg, \"plants_avg.csv\")\nRELOG.write_transportation_report(solution_avg, \"transportation_avg.csv\")\n\n# Re-optimize for the high-demand scenario, keeping plants fixed\nsolution_high = RELOG.resolve(model_avg, \"input_high.json\")\n\n# Write reports for the high-demand scenario\nRELOG.write_plants_report(solution_high, \"plants_high.csv\")\nRELOG.write_transportation_report(solution_high, \"transportation_high.csv\")","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"To use the resolve method, the new input file should be very similar to the original one. Only the following entries are allowed to change:","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"Products: Transportation costs, energy, emissions and initial amounts (latitude, longitude and amount).\nPlants: Energy and emissions.\nPlant's location: Latitude and longitude.\nPlant's storage: Cost.\nPlant's capacity: Opening cost, fixed operating cost and variable operating cost.","category":"page"},{"location":"usage/#.-Advanced-options","page":"Usage","title":"5. Advanced options","text":"","category":"section"},{"location":"usage/#.1-Changing-the-solver","page":"Usage","title":"5.1 Changing the solver","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"By default, RELOG internally uses Cbc, an open-source and freely-available Mixed-Integer Linear Programming solver developed by the COIN-OR Project. For larger-scale test cases, a commercial solver such as Gurobi, CPLEX or XPRESS is recommended. The following snippet shows how to switch from Cbc to Gurobi, for example:","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"using RELOG, Gurobi, JuMP\n\ngurobi = optimizer_with_attributes(\n Gurobi.Optimizer,\n \"TimeLimit\" => 3600,\n \"MIPGap\" => 0.001,\n)\n\nRELOG.solve(\n \"instance.json\",\n output=\"solution.json\",\n optimizer=gurobi,\n)","category":"page"},{"location":"usage/#.2-Multi-period-heuristics","page":"Usage","title":"5.2 Multi-period heuristics","text":"","category":"section"},{"location":"usage/","page":"Usage","title":"Usage","text":"For large-scale instances, it may be too time-consuming to find an exact optimal solution to the multi-period version of the problem. For these situations, RELOG includes a heuristic solution method, which proceeds as follows:","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"First, RELOG creates a single-period version of the problem, in which most values are replaced by their averages. This single-period problem is typically much easier to solve.\nAfter solving the simplified problem, RELOG resolves the multi-period version of the problem, but considering only candidate plant locations that were selected by the optimal solution to the single-period version of the problem. All remaining candidate plant locations are removed.","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"To solve an instance using this heuristic, use the option heuristic=true, as shown below.","category":"page"},{"location":"usage/","page":"Usage","title":"Usage","text":"using RELOG\n\nsolution = RELOG.solve(\n \"/home/user/instance.json\",\n heuristic=true,\n)","category":"page"},{"location":"model/#Optimization-Model","page":"Optimization Model","title":"Optimization Model","text":"","category":"section"},{"location":"model/","page":"Optimization Model","title":"Optimization Model","text":"In this page, we describe the precise mathematical optimization model used by RELOG to find the optimal logistics plan. This model is a variation of the classical Facility Location Problem, which has been widely studied in the operations research literature. To simplify the exposition, we present the simplified case where there is only one type of plant.","category":"page"},{"location":"model/#Mathematical-Description","page":"Optimization Model","title":"Mathematical Description","text":"","category":"section"},{"location":"model/#Sets","page":"Optimization Model","title":"Sets","text":"","category":"section"},{"location":"model/","page":"Optimization Model","title":"Optimization Model","text":"Symbol Description\nL Set of locations holding the original material to be recycled\nM Set of materials recovered during the reverse manufacturing process\nP Set of potential plants to open\nT = 1 ldots t^max Set of time periods","category":"page"},{"location":"model/#Constants","page":"Optimization Model","title":"Constants","text":"","category":"section"},{"location":"model/#Plants","page":"Optimization Model","title":"Plants","text":"","category":"section"},{"location":"model/","page":"Optimization Model","title":"Optimization Model","text":"Symbol Description Unit\nc^textdisp_pmt Cost of disposing one tonne of material m at plant p during time t $/tonne/km\nc^textexp_pt Cost of adding one tonne of capacity to plant p at time t $/tonne\nc^textopen_pt Cost of opening plant p at time t, at minimum capacity $\nc^textf-base_pt Fixed cost of keeping plant p open during time period t $\nc^textf-exp_pt Increase in fixed cost for each additional tonne of capacity $/tonne\nc^textvar_pt Variable cost of processing one tonne of input at plant p at time t $/tonne\nc^textstore_pt Cost of storing one tonne of original material at plant p at time t $/tonne\nm^textmin_p Minimum capacity of plant p tonne\nm^textmax_p Maximum capacity of plant p tonne\nm^textdisp_pmt Maximum amount of material m that plant p can dispose of during time t tonne\nm^textstore_p Maximum amount of original material that plant p can store for later processing. tonne","category":"page"},{"location":"model/#Products","page":"Optimization Model","title":"Products","text":"","category":"section"},{"location":"model/","page":"Optimization Model","title":"Optimization Model","text":"Symbol Description Unit\nalpha_pm Amount of material m recovered by plant t for each tonne of original material tonne/tonne\nm^textinitial_lt Amount of original material to be recycled at location l during time t tonne","category":"page"},{"location":"model/#Transportation","page":"Optimization Model","title":"Transportation","text":"","category":"section"},{"location":"model/","page":"Optimization Model","title":"Optimization Model","text":"Symbol Description Unit\nc^texttr_t Transportation cost during time t $/tonne/km\nd_lp Distance between plant p and location l km","category":"page"},{"location":"model/#Decision-variables","page":"Optimization Model","title":"Decision variables","text":"","category":"section"},{"location":"model/","page":"Optimization Model","title":"Optimization Model","text":"Symbol Description Unit\nq_mpt Amount of material m recovered by plant p during time t tonne\nu_pt Binary variable that equals 1 if plant p starts operating at time t Boolean\nw_pt Extra capacity (amount above the minimum) added to plant p during time t tonne\nx_pt Binary variable that equals 1 if plant p is operational at time t Boolean\ny_lpt Amount of product sent from location l to plant p during time t tonne\nz^textdisp_mpt Amount of material m disposed of by plant p during time t tonne\nz^textstore_pt Amount of original material in storage at plant p by the end of time period t tonne\nz^textproc_mpt Amount of original material processed by plant p during time period t tonne","category":"page"},{"location":"model/#Objective-function","page":"Optimization Model","title":"Objective function","text":"","category":"section"},{"location":"model/","page":"Optimization Model","title":"Optimization Model","text":"RELOG minimizes the overall capital, production and transportation costs:","category":"page"},{"location":"model/","page":"Optimization Model","title":"Optimization Model","text":"beginalign*\n textminimize \n sum_t in T sum_p in P left\n c^textopen_pt u_pt +\n c^textf-base_pt x_pt +\n sum_i=1^t c^textf-exp_pt w_pi +\n c^textexp_pt w_pt\n right + \n \n sum_t in T sum_p in P left\n c^textstore_pt z^textstore_pt +\n c^textproc_pt z^textproc_pt\n right + \n \n sum_t in T sum_l in L sum_p in P\n c^texttr_t d_lp y_lpt\n \n \n sum_t in T sum_p in P sum_m in M c^textdisp_pmt z_pmt\nendalign*","category":"page"},{"location":"model/","page":"Optimization Model","title":"Optimization Model","text":"In the first line, we have (i) opening costs, if plant starts operating at time t, (ii) fixed operating costs, if plant is operational, (iii) additional fixed operating costs coming from expansion performed in all previous time periods up to the current one, and finally (iv) the expansion costs during the current time period. In the second line, we have storage and variable processing costs. In the third line, we have transportation costs. In the fourth line, we have the disposal costs.","category":"page"},{"location":"model/#Constraints","page":"Optimization Model","title":"Constraints","text":"","category":"section"},{"location":"model/","page":"Optimization Model","title":"Optimization Model","text":"All original materials must be sent to a plant:","category":"page"},{"location":"model/","page":"Optimization Model","title":"Optimization Model","text":"beginalign*\n sum_p in P y_lpt = m^textinitial_lt \n forall l in L t in T\nendalign*","category":"page"},{"location":"model/","page":"Optimization Model","title":"Optimization Model","text":"Amount received equals amount processed plus stored. Furthermore, all original material should be processed by the end of the simulation.","category":"page"},{"location":"model/","page":"Optimization Model","title":"Optimization Model","text":"beginalign*\n sum_l in L y_lpt + z^textstore_pt-1\n = z^textproc_pt + z^textstore_pt\n forall p in P t in T \n z^textstore_p0 = 0\n forall p in P \n z^textstore_pt^max = 0\n forall p in P\nendalign*","category":"page"},{"location":"model/","page":"Optimization Model","title":"Optimization Model","text":"Plants have a limited processing capacity. Furthermore, if a plant is closed, it has zero processing capacity:","category":"page"},{"location":"model/","page":"Optimization Model","title":"Optimization Model","text":"beginalign*\n z^textproc_pt leq m^textmin_p x_p + sum_i=1^t w_p\n forall p in P t in T\nendalign*","category":"page"},{"location":"model/","page":"Optimization Model","title":"Optimization Model","text":"Plants have limited storage capacity. Furthermore, if a plant is closed, is has zero storage capacity:","category":"page"},{"location":"model/","page":"Optimization Model","title":"Optimization Model","text":"beginalign*\n z^textstore_pt leq m^textstore_p x_p\n forall p in P t in T\nendalign*","category":"page"},{"location":"model/","page":"Optimization Model","title":"Optimization Model","text":"Plants can only be expanded up to their maximum capacity. Furthermore, if a plant is closed, it cannot be expanded:","category":"page"},{"location":"model/","page":"Optimization Model","title":"Optimization Model","text":"beginalign*\n sum_i=1^t w_p leq m^textmax_p x_p\n forall p in P t in T\nendalign*","category":"page"},{"location":"model/","page":"Optimization Model","title":"Optimization Model","text":"Amount of recovered material is proportional to amount processed: ","category":"page"},{"location":"model/","page":"Optimization Model","title":"Optimization Model","text":"beginalign*\n q_mpt = alpha_pm z^textproc_pt\n forall m in M p in P t in T\nendalign*","category":"page"},{"location":"model/","page":"Optimization Model","title":"Optimization Model","text":"Because we only consider a single type of plant, all recovered material must be immediately disposed of. In RELOG's full model, recovered materials may be sent to another plant for further processing.","category":"page"},{"location":"model/","page":"Optimization Model","title":"Optimization Model","text":"beginalign*\n q_mpt = z_mpt\n forall m in M p in P t in T\nendalign*","category":"page"},{"location":"model/","page":"Optimization Model","title":"Optimization Model","text":"A plant is operational at time t if it was operational at time t-1 or it was built at time t. This constraint also prevents a plant from being built multiple times.","category":"page"},{"location":"model/","page":"Optimization Model","title":"Optimization Model","text":"beginalign*\n x_pt = x_pt-1 + u_pt\n forall p in P t in T setminus 1 \n x_p1 = u_p1\n forall p in P\nendalign*","category":"page"},{"location":"model/","page":"Optimization Model","title":"Optimization Model","text":"Variable bounds:","category":"page"},{"location":"model/","page":"Optimization Model","title":"Optimization Model","text":"beginalign*\n q_mpt geq 0\n forall m in M p in P t in T \n u_pt in 01\n forall p in P t in T \n w_pt geq 0\n forall p in P t in T \n x_pt in 01\n forall p in P t in T \n y_lpt geq 0\n forall l in L p in P t in T \n z^textstore_pt geq 0\n p in P t in T \n z^textdisp_mpt z^textproc_mpt geq 0\n forall m in M p in P t in T\nendalign*","category":"page"},{"location":"format/#Input-and-Output-Data-Formats","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"","category":"section"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"In this page, we describe the input and output JSON formats used by RELOG. In addition to these, RELOG can also produce simplified reports in tabular data format.","category":"page"},{"location":"format/#Input-Data-Format-(JSON)","page":"Input and Output Data Formats","title":"Input Data Format (JSON)","text":"","category":"section"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"RELOG accepts as input a JSON file with three sections: parameters, products and plants. Below, we describe each section in more detail.","category":"page"},{"location":"format/#Parameters","page":"Input and Output Data Formats","title":"Parameters","text":"","category":"section"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"The parameters section describes details about the simulation itself.","category":"page"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"Key Description\ntime horizon (years) Number of years in the simulation.\nbuilding period (years) List of years in which we are allowed to open new plants. For example, if this parameter is set to [1,2,3], we can only open plants during the first three years. By default, this equals [1]; that is, plants can only be opened during the first year.","category":"page"},{"location":"format/#Example","page":"Input and Output Data Formats","title":"Example","text":"","category":"section"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"{\n \"parameters\": {\n \"time horizon (years)\": 2,\n \"building period (years)\": [1]\n }\n}","category":"page"},{"location":"format/#Products","page":"Input and Output Data Formats","title":"Products","text":"","category":"section"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"The products section describes all products and subproducts in the simulation. The field instance[\"Products\"] is a dictionary mapping the name of the product to a dictionary which describes its characteristics. Each product description contains the following keys:","category":"page"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"Key Description\ntransportation cost ($/km/tonne) The cost to transport this product. Must be a time series.\ntransportation energy (J/km/tonne) The energy required to transport this product. Must be a time series. Optional.\ntransportation emissions (tonne/km/tonne) A dictionary mapping the name of each greenhouse gas, produced to transport one tonne of this product along one kilometer, to the amount of gas produced (in tonnes). Must be a time series. Optional.\ninitial amounts A dictionary mapping the name of each location to its description (see below). If this product is not initially available, this key may be omitted. Must be a time series.","category":"page"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"Each product may have some amount available at the beginning of each time period. In this case, the key initial amounts maps to a dictionary with the following keys:","category":"page"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"Key Description\nlatitude (deg) The latitude of the location.\nlongitude (deg) The longitude of the location.\namount (tonne) The amount of the product initially available at the location. Must be a time series.","category":"page"},{"location":"format/#Example-2","page":"Input and Output Data Formats","title":"Example","text":"","category":"section"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"{\n \"products\": {\n \"P1\": {\n \"initial amounts\": {\n \"C1\": {\n \"latitude (deg)\": 7.0,\n \"longitude (deg)\": 7.0,\n \"amount (tonne)\": [934.56, 934.56]\n },\n \"C2\": {\n \"latitude (deg)\": 7.0,\n \"longitude (deg)\": 19.0,\n \"amount (tonne)\": [198.95, 198.95]\n },\n \"C3\": {\n \"latitude (deg)\": 84.0,\n \"longitude (deg)\": 76.0,\n \"amount (tonne)\": [212.97, 212.97]\n }\n },\n \"transportation cost ($/km/tonne)\": [0.015, 0.015],\n \"transportation energy (J/km/tonne)\": [0.12, 0.11],\n \"transportation emissions (tonne/km/tonne)\": {\n \"CO2\": [0.052, 0.050],\n \"CH4\": [0.003, 0.002]\n }\n },\n \"P2\": {\n \"transportation cost ($/km/tonne)\": [0.022, 0.020]\n },\n \"P3\": {\n \"transportation cost ($/km/tonne)\": [0.0125, 0.0125]\n },\n \"P4\": {\n \"transportation cost ($/km/tonne)\": [0.0175, 0.0175]\n }\n }\n}","category":"page"},{"location":"format/#Processing-plants","page":"Input and Output Data Formats","title":"Processing plants","text":"","category":"section"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"The plants section describes the available types of reverse manufacturing plants, their potential locations and associated costs, as well as their inputs and outputs. The field instance[\"Plants\"] is a dictionary mapping the name of the plant to a dictionary with the following keys:","category":"page"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"Key Description\ninput The name of the product that this plant takes as input. Only one input is accepted per plant.\noutputs (tonne/tonne) A dictionary specifying how many tonnes of each product is produced for each tonnes of input. For example, if the plant outputs 0.5 tonnes of P2 and 0.25 tonnes of P3 for each tonnes of P1 provided, then this entry should be {\"P2\": 0.5, \"P3\": 0.25}. If the plant does not output anything, this key may be omitted.\nenergy (GJ/tonne) The energy required to process 1 tonne of the input. Must be a time series. Optional.\nemissions (tonne/tonne) A dictionary mapping the name of each greenhouse gas, produced to process each tonne of input, to the amount of gas produced (in tonne). Must be a time series. Optional.\nlocations A dictionary mapping the name of the location to a dictionary which describes the site characteristics (see below).","category":"page"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"Each type of plant is associated with a set of potential locations where it can be built. Each location is represented by a dictionary with the following keys:","category":"page"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"Key Description\nlatitude (deg) The latitude of the location, in degrees.\nlongitude (deg) The longitude of the location, in degrees.\ndisposal A dictionary describing what products can be disposed locally at the plant.\nstorage A dictionary describing the plant's storage.\ncapacities (tonne) A dictionary describing what plant sizes are allowed, and their characteristics.","category":"page"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"The storage dictionary should contain the following keys:","category":"page"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"Key Description\ncost ($/tonne) The cost to store a tonne of input product for one time period. Must be a time series.\nlimit (tonne) The maximum amount of input product this plant can have in storage at any given time.","category":"page"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"The keys in the disposal dictionary should be the names of the products. The values are dictionaries with the following keys:","category":"page"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"Key Description\ncost ($/tonne) The cost to dispose of the product. Must be a time series.\nlimit (tonne) The maximum amount that can be disposed of. If an unlimited amount can be disposed, this key may be omitted. Must be a time series.","category":"page"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"The keys in the capacities (tonne) dictionary should be the amounts (in tonnes). The values are dictionaries with the following keys:","category":"page"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"Key Description\nopening cost ($) The cost to open a plant of this size.\nfixed operating cost ($) The cost to keep the plant open, even if the plant doesn't process anything. Must be a time series.\nvariable operating cost ($/tonne) The cost that the plant incurs to process each tonne of input. Must be a time series.","category":"page"},{"location":"format/#Example-3","page":"Input and Output Data Formats","title":"Example","text":"","category":"section"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"{\n \"plants\": {\n \"F1\": {\n \"input\": \"P1\",\n \"outputs (tonne/tonne)\": {\n \"P2\": 0.2,\n \"P3\": 0.5\n },\n \"energy (GJ/tonne)\": [0.12, 0.11],\n \"emissions (tonne/tonne)\": {\n \"CO2\": [0.052, 0.050],\n \"CH4\": [0.003, 0.002]\n },\n \"locations\": {\n \"L1\": {\n \"latitude (deg)\": 0.0,\n \"longitude (deg)\": 0.0,\n \"disposal\": {\n \"P2\": {\n \"cost ($/tonne)\": [-10.0, -12.0],\n \"limit (tonne)\": [1.0, 1.0]\n }\n },\n \"storage\": {\n \"cost ($/tonne)\": [5.0, 5.3],\n \"limit (tonne)\": 100.0,\n },\n \"capacities (tonne)\": {\n \"100\": {\n \"opening cost ($)\": [500, 530],\n \"fixed operating cost ($)\": [300.0, 310.0],\n \"variable operating cost ($/tonne)\": [5.0, 5.2],\n },\n \"500\": {\n \"opening cost ($)\": [750, 760],\n \"fixed operating cost ($)\": [400.0, 450.0],\n \"variable operating cost ($/tonne)\": [5.0, 5.2]\n }\n }\n }\n }\n }\n }\n}","category":"page"},{"location":"format/#Geographic-database","page":"Input and Output Data Formats","title":"Geographic database","text":"","category":"section"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"Instead of specifying locations using latitudes and longitudes, it is also possible to specify them using unique identifiers, such as the name of a US state, or the county FIPS code. This works anywhere latitude (deg) and longitude (deg) are expected. For example, instead of:","category":"page"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"{\n \"initial amounts\": {\n \"C1\": {\n \"latitude (deg)\": 37.27182,\n \"longitude (deg)\": -119.2704,\n \"amount (tonne)\": [934.56, 934.56]\n },\n }\n}","category":"page"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"is is possible to write:","category":"page"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"{\n \"initial amounts\": {\n \"C1\": {\n \"location\": \"us-state:CA\",\n \"amount (tonne)\": [934.56, 934.56]\n },\n }\n}","category":"page"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"Location names follow the format db:id, where db is the name of the database and id is the identifier for a specific location. RELOG currently includes the following databases:","category":"page"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"Database Description Examples\nus-state List of states of the United States. us-state:IL (State of Illinois)\n2018-us-county List of United States counties, as of 2018. IDs are 5-digit FIPS codes. 2018-us-county:17043 (DuPage county in Illinois)","category":"page"},{"location":"format/#Current-limitations","page":"Input and Output Data Formats","title":"Current limitations","text":"","category":"section"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"Each plant can only be opened exactly once. After open, the plant remains open until the end of the simulation.\nPlants can be expanded at any time, even long after they are open.\nAll material available at the beginning of a time period must be entirely processed by the end of that time period. It is not possible to store unprocessed materials from one time period to the next.\nUp to two plant sizes are currently supported. Variable operating costs must be the same for all plant sizes.","category":"page"},{"location":"format/#Output-Data-Format-(JSON)","page":"Input and Output Data Formats","title":"Output Data Format (JSON)","text":"","category":"section"},{"location":"format/","page":"Input and Output Data Formats","title":"Input and Output Data Formats","text":"To be documented.","category":"page"},{"location":"#RELOG:-Reverse-Logistics-Optimization","page":"Home","title":"RELOG: Reverse Logistics Optimization","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"RELOG is an open-source supply chain optimization package focusing on reverse logistics and reverse manufacturing. The package uses Mixed-Integer Linear Programming to determine where to build recycling plants, what size should these plants have and which customers should be served by which plants. The package supports custom reverse logistics pipelines, with multiple types of plants, multiple types of product and multiple time periods.","category":"page"},{"location":"","page":"Home","title":"Home","text":"\n \n ","category":"page"},{"location":"#Table-of-Contents","page":"Home","title":"Table of Contents","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"Pages = [\"usage.md\", \"format.md\", \"reports.md\", \"model.md\"]\nDepth = 3","category":"page"},{"location":"#Source-Code","page":"Home","title":"Source Code","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"https://github.com/ANL-CEEESA/RELOG","category":"page"},{"location":"#Authors","page":"Home","title":"Authors","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"Alinson S. Xavier, Argonne National Laboratory \nNwike Iloeje, Argonne National Laboratory ","category":"page"},{"location":"#License","page":"Home","title":"License","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"RELOG: Reverse Logistics Optimization\nCopyright © 2020, UChicago Argonne, LLC. All Rights Reserved.\n\nRedistribution and use in source and binary forms, with or without modification, are permitted\nprovided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this list of\n conditions and the following disclaimer.\n2. Redistributions in binary form must reproduce the above copyright notice, this list of\n conditions and the following disclaimer in the documentation and/or other materials provided\n with the distribution.\n3. Neither the name of the copyright holder nor the names of its contributors may be used to\n endorse or promote products derived from this software without specific prior written\n permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR\nIMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR\nCONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\nCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR\nOTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.","category":"page"}]
+}
diff --git a/0.5/sitemap.xml b/0.5/sitemap.xml
deleted file mode 100644
index 7ce0980..0000000
--- a/0.5/sitemap.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
- None
- 2021-10-15
- daily
-
- None
- 2021-10-15
- daily
-
- None
- 2021-10-15
- daily
-
- None
- 2021-10-15
- daily
-
- None
- 2021-10-15
- daily
-
-
\ No newline at end of file
diff --git a/0.5/sitemap.xml.gz b/0.5/sitemap.xml.gz
deleted file mode 100644
index 19525d0..0000000
Binary files a/0.5/sitemap.xml.gz and /dev/null differ
diff --git a/0.5/usage/index.html b/0.5/usage/index.html
index f2d3786..4086de8 100644
--- a/0.5/usage/index.html
+++ b/0.5/usage/index.html
@@ -1,196 +1,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
- Usage - RELOG
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Usage
-
1. Installation
-
To use RELOG, the first step is to install the Julia programming language on your machine. Note that RELOG was developed and tested with Julia 1.5 and may not be compatible with newer versions. After Julia is installed, launch the Julia console, type ]
to switch to package manger mode, then run:
-
(@v1.5) pkg> add https://github.com/ANL-CEEESA/RELOG.git
-
-
After the package and all its dependencies have been installed, please run the RELOG test suite, as shown below, to make sure that the package has been correctly installed:
-
(@v1.5) pkg> test RELOG
-
-
To update the package to a newer version, type ]
to enter the package manager mode, then run:
-
(@v1.5) pkg> update RELOG
-
-
2. Modeling the problem
-
The two main model components in RELOG are products and plants .
-
A product is any material that needs to be recycled, any intermediary product produced during the recycling process, or any product recovered at the end of the process. For example, in a NiMH battery recycling study case, products could include (i) the original batteries to be recycled; (ii) the cathode and anode parts of the battery; (iii) rare-earth elements and (iv) scrap metals.
-
-
-The model assumes that some products are initially available at user-specified locations (described by their latitude, longitude and the amount available), while other products only become available during the recycling process.
-
-
-Products that are initially available must be sent to a plant for processing during the same time period they became available.
-
-
-Transporting products from one location to another incurs a transportation cost ($/km/tonne
), spends some amount of energy (J/km/tonne
) and may generate multiple types of emissions (tonne/tonne
). All these parameters are user-specified and may be product- and time-specific.
-
-
-
A plant is a facility that converts one type of product to another. RELOG assumes that each plant receives a single type of product as input and converts this input into multiple types of products. Multiple types of plants, with different inputs, outputs and performance characteristics, may be specified. In the NiMH battery recycling study case, for example, one type of plant could be a disassembly plant , which converts batteries into cathode and anode . Another type of plant could be anode recycling plant , which converts anode into rare-earth elements and scrap metals .
-
-
-To process each tonne of input material, plants incur a variable operating cost ($/tonne
), spend some amount of energy (GJ/tonne
), and produce multiple types of emissions (tonne/tonne
). Plants also incur a fixed operating cost ($
) regardless of the amount of material they process. All these parameters are user-specified and may be region- and time-specific.
-
-
-Plants can be built at user-specified potential locations. Opening a plant incurs a one-time opening cost ($
) which may be region- and time-specific. Plants also have a limited capacity (in tonne
), which indicates the maximum amount of input material they are able to process per year. When specifying potential locations for each type of plant, it is also possible to specify the minimum and maximum capacity of the plants that can be built at that particular location. Different plants sizes may have different opening costs and fixed operating costs. After a plant is built, it can be further expanded in the following years, up to its maximum capacity.
-
-
-Products received by a plant can be either processed immediately or stored for later processing. Plants have a maximum storage capacity (tonne
). Storage costs ($/tonne
) can also be specified.
-
-
-All products generated by a plant can either be sent to another plant for further processing, or disposed of locally for either a profit or a loss ($/tonne
). To model environmental regulations, it is also possible to specify the maximum amount of each product that can be disposed of at each location.
-
-
-
All user parameters specified above must be provided to RELOG as a JSON file, which is fully described in the data format page .
-
3. Running the optimization
-
After creating a JSON file describing the reverse manufacturing process and the input data, the following example illustrates how to use the package to find the optimal set of decisions:
-
# Import package
+Usage · RELOG To use RELOG, the first step is to install the Julia programming language on your machine. Note that RELOG was developed and tested with Julia 1.8 and may not be compatible with newer versions. After Julia is installed, launch the Julia console, then run:
using Pkg
+Pkg.add(name="RELOG", version="0.5")
After the package and all its dependencies have been installed, please run the RELOG test suite, as shown below, to make sure that the package has been correctly installed:
Pkg.test("RELOG")
The two main model components in RELOG are products and plants .
A product is any material that needs to be recycled, any intermediary product produced during the recycling process, or any product recovered at the end of the process. For example, in a NiMH battery recycling study case, products could include (i) the original batteries to be recycled; (ii) the cathode and anode parts of the battery; (iii) rare-earth elements and (iv) scrap metals.
The model assumes that some products are initially available at user-specified locations (described by their latitude, longitude and the amount available), while other products only become available during the recycling process.
Products that are initially available must be sent to a plant for processing during the same time period they became available.
Transporting products from one location to another incurs a transportation cost ($/km/tonne
), spends some amount of energy (J/km/tonne
) and may generate multiple types of emissions (tonne/tonne
). All these parameters are user-specified and may be product- and time-specific.
A plant is a facility that converts one type of product to another. RELOG assumes that each plant receives a single type of product as input and converts this input into multiple types of products. Multiple types of plants, with different inputs, outputs and performance characteristics, may be specified. In the NiMH battery recycling study case, for example, one type of plant could be a disassembly plant , which converts batteries into cathode and anode . Another type of plant could be anode recycling plant , which converts anode into rare-earth elements and scrap metals .
To process each tonne of input material, plants incur a variable operating cost ($/tonne
), spend some amount of energy (GJ/tonne
), and produce multiple types of emissions (tonne/tonne
). Plants also incur a fixed operating cost ($
) regardless of the amount of material they process. All these parameters are user-specified and may be region- and time-specific.
Plants can be built at user-specified potential locations. Opening a plant incurs a one-time opening cost ($
) which may be region- and time-specific. Plants also have a limited capacity (in tonne
), which indicates the maximum amount of input material they are able to process per year. When specifying potential locations for each type of plant, it is also possible to specify the minimum and maximum capacity of the plants that can be built at that particular location. Different plants sizes may have different opening costs and fixed operating costs. After a plant is built, it can be further expanded in the following years, up to its maximum capacity.
Products received by a plant can be either processed immediately or stored for later processing. Plants have a maximum storage capacity (tonne
). Storage costs ($/tonne
) can also be specified.
All products generated by a plant can either be sent to another plant for further processing, or disposed of locally for either a profit or a loss ($/tonne
). To model environmental regulations, it is also possible to specify the maximum amount of each product that can be disposed of at each location.
All user parameters specified above must be provided to RELOG as a JSON file, which is fully described in the data format page .
After creating a JSON file describing the reverse manufacturing process and the input data, the following example illustrates how to use the package to find the optimal set of decisions:
# Import package
using RELOG
# Solve optimization problem
@@ -201,14 +11,7 @@ RELOG.write(solution, "solution.json")
# Write simplified reports in CSV format
RELOG.write_plants_report(solution, "plants.csv")
-RELOG.write_transportation_report(solution, "transportation.csv")
-
-For a complete description of the file formats above, and for a complete list of available reports, see the data format page .
-4. What-If Analysis
-Fundamentally, RELOG decides when and where to build plants based on a deterministic optimization problem that minimizes costs for a particular input file provided by the user. In practical situations, it may not be possible to perfectly estimate some (or most) entries in this input file in advance, such as costs, demands and emissions. In this situation, it may be interesting to evaluate how well does the facility location plan produced by RELOG work if costs, demands and emissions turn out to be different.
-To simplify this what-if analysis, RELOG provides the resolve
method, which updates a previous solution based on a new scenario, but keeps some of the previous decisions fixed. More precisely, given an optimal solution produced by RELOG and a new input file describing the new scenario, the resolve
method reoptimizes the supply chain and produces a new solution which still builds the same set of plants as before, in exactly the same locations and with the same capacities, but that may now utilize the plants differently, based on the new data. For example, in the new solution, plants that were previously used at full capacity may now be utilized at half-capacity instead. As another example, regions that were previously served by a certain plant may now be served by a different one.
-The following snippet shows how to use the method:
-# Import package
+RELOG.write_transportation_report(solution, "transportation.csv")
For a complete description of the file formats above, and for a complete list of available reports, see the data format page .
Fundamentally, RELOG decides when and where to build plants based on a deterministic optimization problem that minimizes costs for a particular input file provided by the user. In practical situations, it may not be possible to perfectly estimate some (or most) entries in this input file in advance, such as costs, demands and emissions. In this situation, it may be interesting to evaluate how well does the facility location plan produced by RELOG work if costs, demands and emissions turn out to be different.
To simplify this what-if analysis, RELOG provides the resolve
method, which updates a previous solution based on a new scenario, but keeps some of the previous decisions fixed. More precisely, given an optimal solution produced by RELOG and a new input file describing the new scenario, the resolve
method reoptimizes the supply chain and produces a new solution which still builds the same set of plants as before, in exactly the same locations and with the same capacities, but that may now utilize the plants differently, based on the new data. For example, in the new solution, plants that were previously used at full capacity may now be utilized at half-capacity instead. As another example, regions that were previously served by a certain plant may now be served by a different one.
The following snippet shows how to use the method:
# Import package
using RELOG
# Optimize for the average scenario
@@ -223,147 +26,21 @@ solution_high = RELOG.resolve(model_avg, "input_high.json")
# Write reports for the high-demand scenario
RELOG.write_plants_report(solution_high, "plants_high.csv")
-RELOG.write_transportation_report(solution_high, "transportation_high.csv")
-
-To use the resolve
method, the new input file should be very similar to the original one. Only the following entries are allowed to change:
-
-Products: Transportation costs, energy, emissions and initial amounts (latitude, longitude and amount).
-Plants: Energy and emissions.
-Plant's location: Latitude and longitude.
-Plant's storage: Cost.
-Plant's capacity: Opening cost, fixed operating cost and variable operating cost.
-
-5. Advanced options
-5.1 Changing the solver
-By default, RELOG internally uses Cbc , an open-source and freely-available Mixed-Integer Linear Programming solver developed by the COIN-OR Project . For larger-scale test cases, a commercial solver such as Gurobi, CPLEX or XPRESS is recommended. The following snippet shows how to switch from Cbc to Gurobi, for example:
-using RELOG, Gurobi, JuMP
-
-gurobi = optimizer_with_attributes(Gurobi.Optimizer,
- "TimeLimit" => 3600,
- "MIPGap" => 0.001)
-
-RELOG.solve("instance.json",
- output="solution.json",
- optimizer=gurobi)
-
-5.2 Multi-period heuristics
-For large-scale instances, it may be too time-consuming to find an exact optimal solution to the multi-period version of the problem. For these situations, RELOG includes a heuristic solution method, which proceeds as follows:
-
-
-First, RELOG creates a single-period version of the problem, in which most values are replaced by their averages. This single-period problem is typically much easier to solve.
-
-
-After solving the simplified problem, RELOG resolves the multi-period version of the problem, but considering only candidate plant locations that were selected by the optimal solution to the single-period version of the problem. All remaining candidate plant locations are removed.
-
-
-To solve an instance using this heuristic, use the option heuristic=true
, as shown below.
-using RELOG
-
-solution = RELOG.solve("/home/user/instance.json",
- heuristic=true)
-
-
-
-
-
-
-
-
-
-
-
- Copyright © 2020, UChicago Argonne, LLC. All Rights Reserved.
-
- Documentation built with MkDocs .
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- From here you can search these documents. Enter
- your search terms below.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Keys
- Action
-
-
-
-
- ?
- Open this help
-
-
- n
- Next page
-
-
- p
- Previous page
-
-
- s
- Search
-
-
-
-
-
-
-
-
-
-
-
+RELOG.write_transportation_report(solution_high, "transportation_high.csv")
To use the resolve
method, the new input file should be very similar to the original one. Only the following entries are allowed to change:
Products: Transportation costs, energy, emissions and initial amounts (latitude, longitude and amount).Plants: Energy and emissions.Plant's location: Latitude and longitude.Plant's storage: Cost.Plant's capacity: Opening cost, fixed operating cost and variable operating cost.By default, RELOG internally uses Cbc , an open-source and freely-available Mixed-Integer Linear Programming solver developed by the COIN-OR Project . For larger-scale test cases, a commercial solver such as Gurobi, CPLEX or XPRESS is recommended. The following snippet shows how to switch from Cbc to Gurobi, for example:
using RELOG, Gurobi, JuMP
+
+gurobi = optimizer_with_attributes(
+ Gurobi.Optimizer,
+ "TimeLimit" => 3600,
+ "MIPGap" => 0.001,
+)
+
+RELOG.solve(
+ "instance.json",
+ output="solution.json",
+ optimizer=gurobi,
+)
For large-scale instances, it may be too time-consuming to find an exact optimal solution to the multi-period version of the problem. For these situations, RELOG includes a heuristic solution method, which proceeds as follows:
First, RELOG creates a single-period version of the problem, in which most values are replaced by their averages. This single-period problem is typically much easier to solve.
After solving the simplified problem, RELOG resolves the multi-period version of the problem, but considering only candidate plant locations that were selected by the optimal solution to the single-period version of the problem. All remaining candidate plant locations are removed.
To solve an instance using this heuristic, use the option heuristic=true
, as shown below.
using RELOG
+
+solution = RELOG.solve(
+ "/home/user/instance.json",
+ heuristic=true,
+)
Theme
documenter-light documenter-dark
This document was generated with Documenter.jl version 0.27.21 on Friday 26 August 2022 . Using Julia version 1.7.3.