@import url(https://fonts.googleapis.com/css?family=Montserrat&display=swap);
.doc-nav h3 {
  margin: 0;
  padding: 5px;
  font-family: Monaco, 'Source Code Pro', monospace;
  font-size: 14px;
}
.doc-nav .toolbox {
  position: absolute;
  right: 10px;
  top: 5px;
}
.doc-nav .toolbox .item {
    font-size: 14px;
    cursor: pointer;
    color: #337ab7;
}
.doc-nav .toolbox .item:hover {
      text-decoration: underline;
}
.doc-nav .el-tree {
  padding-left: 6px;
}
.doc-nav .el-tree-node {
  color: #333;
}
.doc-nav .el-tree-node .el-tree-node__content {
    height: 24px;
}
.doc-nav .el-tree-node.is-current > .el-tree-node__content {
    background-color: #B03A5B;
    color: #fff;
}
.doc-nav .el-tree-node.is-current > .el-tree-node__content .default-value {
      color: #eee;
}
.doc-nav .doc-nav-item {
  font-family: 'Source Code Pro', monospace;
  font-size: 13px;
  white-space: nowrap;
}
.doc-nav .doc-nav-item .default-value {
    color: #999;
}
.ec-doc-tutorial .doc-nav .el-tree, .ec-doc-api .doc-nav .el-tree {
  padding-left: 0;
  margin-top: 10px;
}
.ec-doc-tutorial .doc-nav .el-tree-node .el-tree-node__content {
  height: 32px;
}
.ec-doc-tutorial .doc-nav .el-tree-node .doc-nav-item {
  margin-left: -10px;
  font-family: "Source Sans Pro", "Helvetica Neue", "Segoe UI", Arial, "PingFang SC", STHeiti, "Microsoft Yahei", sans-serif;
}

.properties-list-panel h5 {
  font-weight: normal;
  color: #999;
  font-size: 30px;
  margin: 5px 0;
  font-size: 14px;
}
.properties-list-panel .properties-list a {
  font-family: Monaco,'Source Code Pro', STHeiti, "Microsoft Yahei", "WenQuanYi Micro Hei", sans-serif;
  font-size: 12px;
  margin-right: 2px;
}
.property-popup-desc {
  max-height: 300px;
  max-width: 500px;
  overflow-y: auto;
  overflow-x: auto;
}
.property-popup-desc .hljs {
    background: transparent;
    padding: 0;
}
.property-popup-desc hr {
    border: none;
    border-bottom: 1px solid #eee;
    width: 80%;
}
.property-popup-desc blockquote {
    font-size: 12px;
    color: #999;
    background-color: #fdfdfd;
    border-left: 2px solid #ddd;
    margin-left: 0px;
    padding: 5px 10px;
}
.property-popup-desc blockquote p {
      margin: 0;
      font-size: 12px;
}
.property-popup-desc blockquote pre {
      font-size: 12px;
}
.property-popup-desc iframe {
    border: none;
    display: block;
    margin-top: 5px;
    max-width: 100%;
}
.property-popup-desc img {
    max-width: 100%;
}
.property-popup-desc p {
    line-height: 1.7em;
    margin: 12px 0 12px 0;
    font-size: 14px;
}
.property-popup-desc pre {
    margin: 5px 0;
    border-radius: 5px;
    background-color: #f5f7fa;
    border: none;
    padding: 10px;
    font-size: 13px;
}
.property-popup-desc .codespan {
    padding: 1px 5px;
    font-size: 14px;
    background-color: #f4f4f4;
    border-radius: 4px;
}
.property-popup-desc code *, .property-popup-desc code {
    font-family: 'Source Code Pro', 'Courier New', monospace;
}
.property-popup-desc ol {
    margin-left: 20px;
}
.property-popup-desc ul li {
    list-style: disc;
    margin: 10px 20px;
    font-size: 14px;
}
.property-popup-desc ol li {
    margin: 1em 0;
    list-style: decimal;
    font-size: 14px;
}
.property-popup-desc a {
    font-family: 'Source Code Pro', STHeiti, "Microsoft Yahei", "WenQuanYi Micro Hei", sans-serif;
}
.property-popup-desc pre {
    font-size: 12px;
}
.property-popup-desc p {
    font-size: 12px;
}
.property-popup-desc ul {
    margin: 0;
    padding: 0;
}
.property-popup-desc ul li {
    font-size: 12px;
    margin: 5px 20px;
    list-style: disc;
}
.property-popup-desc pre {
    padding: 5px;
}
.property-popup-desc .codespan {
    font-size: 12px;
}

.control-color > * {
  display: inline-block;
  vertical-align: middle;
}
.control-color span {
  font-size: 12px;
  font-weight: bold;
}

.control-number .el-input-number {
  width: 120px;
}

.control-vector > div {
  display: inline-block;
  margin-left: 8px;
  font-size: 12px;
  font-weight: bold;
}
.control-vector .control-vector-group > div {
  display: inline-block;
  margin-left: 5px;
}
.control-vector .el-input-number {
  width: 90px;
}
.control-vector label {
  text-transform: uppercase;
  margin-right: 5px;
}

.control-enum-special {
  font-style: italic;
}

.control-percent > div {
  display: inline-block;
}
.control-percent .el-slider {
  width: 200px;
  display: inline-block;
  vertical-align: middle;
}
.control-percent .el-input-number {
  display: inline-block;
  width: 90px;
  margin-left: 10px;
}
.control-percent .el-radio-group {
  margin-right: 10px;
}
.control-percent .el-radio-button--mini .el-radio-button__inner {
  padding: 5px 4px;
  font-size: 10px;
}

.control-percent-vector > div {
  margin-top: 3px;
  font-size: 12px;
  font-weight: bold;
}
.control-percent-vector > div > label {
    text-transform: uppercase;
    margin-right: 5px;
}
.control-percent-vector .control-percent, .control-percent-vector label {
  display: inline-block;
}
.control-percent-vector .control-percent .el-slider {
  width: 100px;
}

.option-control {
  margin-top: 10px;
}

.doc-content-item-card {
  margin-top: 30px;
  margin-left: 15px;
  border-top: 1px solid #ccc;
  position: relative;
  padding: 15px 0;
}
.doc-content-item-card .hierarchy-line {
    position: absolute;
    top: 35px;
    bottom: 0px;
    left: -14px;
    width: 10px;
    border-left: 1px solid #E0E6F1;
    border-bottom: 1px solid #E0E6F1;
}
.doc-content-item-card h4 {
    margin: 0;
    padding: 0;
    font-family: 'Source Code Pro', monospace;
}
.doc-content-item-card h4 > * {
      vertical-align: bottom;
      display: inline-block;
}
.doc-content-item-card h4 .expand-toggle {
      font-size: 18px;
      margin-left: -23px;
      color: #9aadd1;
      cursor: pointer;
      position: relative;
      background-color: #fff;
}
.doc-content-item-card h4 .anchor {
      color: #C592A0;
      font-size: 16px;
      text-decoration: none;
}
.doc-content-item-card h4 .anchor:hover {
        text-decoration: underline;
}
.doc-content-item-card h4 .path-parent {
      font-size: 12px;
      padding: 0;
      font-weight: normal;
}
.doc-content-item-card h4 .path-parent .separator {
        margin: 0 3px;
        color: #B03A5B;
}
.doc-content-item-card h4 .path-parent a {
        color: #C592A0;
        margin: 0;
}
.doc-content-item-card h4 .path-base {
      font-size: 14px;
      padding: 0;
      margin-left: -4px;
      font-weight: normal;
}
.doc-content-item-card h4 .path-base a {
        color: #B03A5B;
        margin: 0;
}
.doc-content-item-card h4 .path-parent a, .doc-content-item-card h4 .path-base a {
      text-decoration: none;
}
.doc-content-item-card h4 .path-parent a:hover, .doc-content-item-card h4 .path-base a:hover {
        text-decoration: underline;
}
.doc-content-item-card h4 .current-flag {
      color: #434343;
      font-size: 20px;
}
.doc-content-item-card h4 .default-value {
      color: #434343;
      font-size: 16px;
      margin-left: 15px;
      vertical-align: bottom;
      font-weight: normal;
}
.doc-content-item-card h4 .control-toggle {
      float: right;
      font-size: 14px;
      cursor: pointer;
      color: #555;
}
.doc-content-item-card h4 .control-toggle i {
        font-family: iconfont;
        font-style: normal;
        vertical-align: middle;
}
.doc-content-item-card h4 .control-toggle:hover {
        color: #999;
}
.doc-content-item-card h4 .control-toggle.active {
        color: #409eff;
}
.doc-content-item-card.level-1 > h4 .anchor {
    font-size: 20px;
}
.doc-content-item-card.level-1 > h4 .path-parent {
    font-size: 16px;
}
.doc-content-item-card.level-1 > h4 .path-base {
    font-size: 20px;
}
.doc-content-item-card.level-2 > h4 .anchor {
    font-size: 16px;
}
.doc-content-item-card.level-2 > h4 .path-parent {
    font-size: 14px;
}
.doc-content-item-card.level-2 > h4 .path-base {
    font-size: 16px;
}
.doc-content-item-card.level-2 > h4 .current-flag {
    font-size: 16px;
}
.doc-content-item-card.level-3 > h4 .anchor {
    font-size: 16px;
}
.doc-content-item-card.level-3 > h4 .path-parent {
    font-size: 13px;
}
.doc-content-item-card.level-3 > h4 .path-base {
    font-size: 16px;
}
.doc-content-item-card.level-3 > h4 .current-flag {
    font-size: 16px;
}
.doc-content-item-card.level-2 {
    border-top: 1px solid #eee;
    margin-top: 10px;
}
.doc-content-item-card.level-2 .guider {
      vertical-align: middle;
      width: 28px;
      margin-left: -39px;
      margin-right: 2px;
      border-top: 1px solid #E0E6F1;
      position: relative;
}
.doc-content-item-card.level-3 {
    border-top: 1px solid #eee;
    margin-top: 10px;
}
.doc-content-item-card.level-3 .guider {
      vertical-align: middle;
      width: 28px;
      margin-left: -39px;
      margin-right: 2px;
      border-top: 1px solid #E0E6F1;
      position: relative;
}
.doc-content-item-card.level-4 {
    border-top: 1px solid #eee;
    margin-top: 10px;
}
.doc-content-item-card.level-4 .guider {
      vertical-align: middle;
      width: 28px;
      margin-left: -39px;
      margin-right: 2px;
      border-top: 1px solid #E0E6F1;
      position: relative;
}
.doc-content-item-card.level-5 {
    border-top: 1px solid #eee;
    margin-top: 10px;
}
.doc-content-item-card.level-5 .guider {
      vertical-align: middle;
      width: 28px;
      margin-left: -39px;
      margin-right: 2px;
      border-top: 1px solid #E0E6F1;
      position: relative;
}
.doc-content-item-card.level-6 {
    border-top: 1px solid #eee;
    margin-top: 10px;
}
.doc-content-item-card.level-6 .guider {
      vertical-align: middle;
      width: 28px;
      margin-left: -39px;
      margin-right: 2px;
      border-top: 1px solid #E0E6F1;
      position: relative;
}
.doc-content-item-card.level-7 {
    border-top: 1px solid #eee;
    margin-top: 10px;
}
.doc-content-item-card.level-7 .guider {
      vertical-align: middle;
      width: 28px;
      margin-left: -39px;
      margin-right: 2px;
      border-top: 1px solid #E0E6F1;
      position: relative;
}
.doc-content-item-card.level-8 {
    border-top: 1px solid #eee;
    margin-top: 10px;
}
.doc-content-item-card.level-8 .guider {
      vertical-align: middle;
      width: 28px;
      margin-left: -39px;
      margin-right: 2px;
      border-top: 1px solid #E0E6F1;
      position: relative;
}
.doc-content-item-card.level-9 {
    border-top: 1px solid #eee;
    margin-top: 10px;
}
.doc-content-item-card.level-9 .guider {
      vertical-align: middle;
      width: 28px;
      margin-left: -39px;
      margin-right: 2px;
      border-top: 1px solid #E0E6F1;
      position: relative;
}
.doc-content-item-card.level-10 {
    border-top: 1px solid #eee;
    margin-top: 10px;
}
.doc-content-item-card.level-10 .guider {
      vertical-align: middle;
      width: 28px;
      margin-left: -39px;
      margin-right: 2px;
      border-top: 1px solid #E0E6F1;
      position: relative;
}
.doc-content-item-card.level-11 {
    border-top: 1px solid #eee;
    margin-top: 10px;
}
.doc-content-item-card.level-11 .guider {
      vertical-align: middle;
      width: 28px;
      margin-left: -39px;
      margin-right: 2px;
      border-top: 1px solid #E0E6F1;
      position: relative;
}
.doc-content-item-card .prop-types {
    margin-top: 5px;
    display: inline-block;
}
.doc-content-item-card .option-control {
    float: right;
}
.doc-content-item-card .prop-type {
    display: inline-block;
    margin-right: 4px;
    border-radius: 4px;
    padding: 3px 5px;
    color: #333;
    background-color: #f9f2f4;
    font-size: 12px;
}
.doc-content-item-card .prop-type-string {
    background-color: #f9f2f4;
}
.doc-content-item-card .prop-type-number {
    background-color: #f9f2f4;
}
.doc-content-item-card .prop-type-boolean {
    background-color: #f9f2f4;
}
.doc-content-item-card .properties-list-panel {
    max-width: 700px;
}
.doc-content-item-card .children {
    padding: 10px;
}
.ec-doc-mobile .doc-content-item-card {
  margin-left: 0;
  margin-top: 10px;
  padding: 10px 10px;
  background: #fff;
  border-top: none;
}
.ec-doc-mobile .doc-content-item-card.level-1 > h4 .anchor {
    font-size: 18px;
}
.ec-doc-mobile .doc-content-item-card.level-1 > h4 .path-parent {
    font-size: 13px;
}
.ec-doc-mobile .doc-content-item-card.level-1 > h4 .path-base {
    font-size: 18px;
}
.ec-doc-mobile .doc-content-item-card.level-1 > h4 .default-value {
    font-size: 14px;
}

/* BASICS */

.CodeMirror {
  /* Set height, width, borders, and global font properties here */
  font-family: monospace;
  height: 300px;
  color: black;
  direction: ltr;
}

/* PADDING */

.CodeMirror-lines {
  padding: 4px 0; /* Vertical padding around content */
}
.CodeMirror pre.CodeMirror-line,
.CodeMirror pre.CodeMirror-line-like {
  padding: 0 4px; /* Horizontal padding of content */
}

.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
  background-color: white; /* The little square between H and V scrollbars */
}

/* GUTTER */

.CodeMirror-gutters {
  border-right: 1px solid #ddd;
  background-color: #f7f7f7;
  white-space: nowrap;
}
.CodeMirror-linenumbers {}
.CodeMirror-linenumber {
  padding: 0 3px 0 5px;
  min-width: 20px;
  text-align: right;
  color: #999;
  white-space: nowrap;
}

.CodeMirror-guttermarker { color: black; }
.CodeMirror-guttermarker-subtle { color: #999; }

/* CURSOR */

.CodeMirror-cursor {
  border-left: 1px solid black;
  border-right: none;
  width: 0;
}
/* Shown when moving in bi-directional text */
.CodeMirror div.CodeMirror-secondarycursor {
  border-left: 1px solid silver;
}
.cm-fat-cursor .CodeMirror-cursor {
  width: auto;
  border: 0 !important;
  background: #7e7;
}
.cm-fat-cursor div.CodeMirror-cursors {
  z-index: 1;
}
.cm-fat-cursor-mark {
  background-color: rgba(20, 255, 20, 0.5);
  -webkit-animation: blink 1.06s steps(1) infinite;
  -moz-animation: blink 1.06s steps(1) infinite;
  animation: blink 1.06s steps(1) infinite;
}
.cm-animate-fat-cursor {
  width: auto;
  border: 0;
  -webkit-animation: blink 1.06s steps(1) infinite;
  -moz-animation: blink 1.06s steps(1) infinite;
  animation: blink 1.06s steps(1) infinite;
  background-color: #7e7;
}
@-moz-keyframes blink {
  0% {}
  50% { background-color: transparent; }
  100% {}
}
@-webkit-keyframes blink {
  0% {}
  50% { background-color: transparent; }
  100% {}
}
@keyframes blink {
  0% {}
  50% { background-color: transparent; }
  100% {}
}

/* Can style cursor different in overwrite (non-insert) mode */
.CodeMirror-overwrite .CodeMirror-cursor {}

.cm-tab { display: inline-block; text-decoration: inherit; }

.CodeMirror-rulers {
  position: absolute;
  left: 0; right: 0; top: -50px; bottom: 0;
  overflow: hidden;
}
.CodeMirror-ruler {
  border-left: 1px solid #ccc;
  top: 0; bottom: 0;
  position: absolute;
}

/* DEFAULT THEME */

.cm-s-default .cm-header {color: blue;}
.cm-s-default .cm-quote {color: #090;}
.cm-negative {color: #d44;}
.cm-positive {color: #292;}
.cm-header, .cm-strong {font-weight: bold;}
.cm-em {font-style: italic;}
.cm-link {text-decoration: underline;}
.cm-strikethrough {text-decoration: line-through;}

.cm-s-default .cm-keyword {color: #708;}
.cm-s-default .cm-atom {color: #219;}
.cm-s-default .cm-number {color: #164;}
.cm-s-default .cm-def {color: #00f;}
.cm-s-default .cm-variable,
.cm-s-default .cm-punctuation,
.cm-s-default .cm-property,
.cm-s-default .cm-operator {}
.cm-s-default .cm-variable-2 {color: #05a;}
.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}
.cm-s-default .cm-comment {color: #a50;}
.cm-s-default .cm-string {color: #a11;}
.cm-s-default .cm-string-2 {color: #f50;}
.cm-s-default .cm-meta {color: #555;}
.cm-s-default .cm-qualifier {color: #555;}
.cm-s-default .cm-builtin {color: #30a;}
.cm-s-default .cm-bracket {color: #997;}
.cm-s-default .cm-tag {color: #170;}
.cm-s-default .cm-attribute {color: #00c;}
.cm-s-default .cm-hr {color: #999;}
.cm-s-default .cm-link {color: #00c;}

.cm-s-default .cm-error {color: #f00;}
.cm-invalidchar {color: #f00;}

.CodeMirror-composing { border-bottom: 2px solid; }

/* Default styles for common addons */

div.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}
div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}
.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }
.CodeMirror-activeline-background {background: #e8f2ff;}

/* STOP */

/* The rest of this file contains styles related to the mechanics of
   the editor. You probably shouldn't touch them. */

.CodeMirror {
  position: relative;
  overflow: hidden;
  background: white;
}

.CodeMirror-scroll {
  overflow: scroll !important; /* Things will break if this is overridden */
  /* 50px is the magic margin used to hide the element's real scrollbars */
  /* See overflow: hidden in .CodeMirror */
  margin-bottom: -50px; margin-right: -50px;
  padding-bottom: 50px;
  height: 100%;
  outline: none; /* Prevent dragging from highlighting the element */
  position: relative;
}
.CodeMirror-sizer {
  position: relative;
  border-right: 50px solid transparent;
}

/* The fake, visible scrollbars. Used to force redraw during scrolling
   before actual scrolling happens, thus preventing shaking and
   flickering artifacts. */
.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
  position: absolute;
  z-index: 6;
  display: none;
}
.CodeMirror-vscrollbar {
  right: 0; top: 0;
  overflow-x: hidden;
  overflow-y: scroll;
}
.CodeMirror-hscrollbar {
  bottom: 0; left: 0;
  overflow-y: hidden;
  overflow-x: scroll;
}
.CodeMirror-scrollbar-filler {
  right: 0; bottom: 0;
}
.CodeMirror-gutter-filler {
  left: 0; bottom: 0;
}

.CodeMirror-gutters {
  position: absolute; left: 0; top: 0;
  min-height: 100%;
  z-index: 3;
}
.CodeMirror-gutter {
  white-space: normal;
  height: 100%;
  display: inline-block;
  vertical-align: top;
  margin-bottom: -50px;
}
.CodeMirror-gutter-wrapper {
  position: absolute;
  z-index: 4;
  background: none !important;
  border: none !important;
}
.CodeMirror-gutter-background {
  position: absolute;
  top: 0; bottom: 0;
  z-index: 4;
}
.CodeMirror-gutter-elt {
  position: absolute;
  cursor: default;
  z-index: 4;
}
.CodeMirror-gutter-wrapper ::selection { background-color: transparent }
.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }

.CodeMirror-lines {
  cursor: text;
  min-height: 1px; /* prevents collapsing before first draw */
}
.CodeMirror pre.CodeMirror-line,
.CodeMirror pre.CodeMirror-line-like {
  /* Reset some styles that the rest of the page might have set */
  -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;
  border-width: 0;
  background: transparent;
  font-family: inherit;
  font-size: inherit;
  margin: 0;
  white-space: pre;
  word-wrap: normal;
  line-height: inherit;
  color: inherit;
  z-index: 2;
  position: relative;
  overflow: visible;
  -webkit-tap-highlight-color: transparent;
  -webkit-font-variant-ligatures: contextual;
  font-variant-ligatures: contextual;
}
.CodeMirror-wrap pre.CodeMirror-line,
.CodeMirror-wrap pre.CodeMirror-line-like {
  word-wrap: break-word;
  white-space: pre-wrap;
  word-break: normal;
}

.CodeMirror-linebackground {
  position: absolute;
  left: 0; right: 0; top: 0; bottom: 0;
  z-index: 0;
}

.CodeMirror-linewidget {
  position: relative;
  z-index: 2;
  padding: 0.1px; /* Force widget margins to stay inside of the container */
}

.CodeMirror-widget {}

.CodeMirror-rtl pre { direction: rtl; }

.CodeMirror-code {
  outline: none;
}

/* Force content-box sizing for the elements where we expect it */
.CodeMirror-scroll,
.CodeMirror-sizer,
.CodeMirror-gutter,
.CodeMirror-gutters,
.CodeMirror-linenumber {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

.CodeMirror-measure {
  position: absolute;
  width: 100%;
  height: 0;
  overflow: hidden;
  visibility: hidden;
}

.CodeMirror-cursor {
  position: absolute;
  pointer-events: none;
}
.CodeMirror-measure pre { position: static; }

div.CodeMirror-cursors {
  visibility: hidden;
  position: relative;
  z-index: 3;
}
div.CodeMirror-dragcursors {
  visibility: visible;
}

.CodeMirror-focused div.CodeMirror-cursors {
  visibility: visible;
}

.CodeMirror-selected { background: #d9d9d9; }
.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }
.CodeMirror-crosshair { cursor: crosshair; }
.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }
.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }

.cm-searching {
  background-color: #ffa;
  background-color: rgba(255, 255, 0, .4);
}

/* Used to force a border model for a node */
.cm-force-border { padding-right: .1px; }

@media print {
  /* Hide the cursor when printing */
  .CodeMirror div.CodeMirror-cursors {
    visibility: hidden;
  }
}

/* See issue #2901 */
.cm-tab-wrap-hack:after { content: ''; }

/* Help users use markselection to safely style text background */
span.CodeMirror-selectedtext { background: none; }

/*

    Name:       dracula
    Author:     Michael Kaminsky (http://github.com/mkaminsky11)

    Original dracula color scheme by Zeno Rocha (https://github.com/zenorocha/dracula-theme)

*/


.cm-s-dracula.CodeMirror, .cm-s-dracula .CodeMirror-gutters {
  background-color: #282a36 !important;
  color: #f8f8f2 !important;
  border: none;
}
.cm-s-dracula .CodeMirror-gutters { color: #282a36; }
.cm-s-dracula .CodeMirror-cursor { border-left: solid thin #f8f8f0; }
.cm-s-dracula .CodeMirror-linenumber { color: #6D8A88; }
.cm-s-dracula .CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }
.cm-s-dracula .CodeMirror-line::selection, .cm-s-dracula .CodeMirror-line > span::selection, .cm-s-dracula .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }
.cm-s-dracula .CodeMirror-line::-moz-selection, .cm-s-dracula .CodeMirror-line > span::-moz-selection, .cm-s-dracula .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }
.cm-s-dracula span.cm-comment { color: #6272a4; }
.cm-s-dracula span.cm-string, .cm-s-dracula span.cm-string-2 { color: #f1fa8c; }
.cm-s-dracula span.cm-number { color: #bd93f9; }
.cm-s-dracula span.cm-variable { color: #50fa7b; }
.cm-s-dracula span.cm-variable-2 { color: white; }
.cm-s-dracula span.cm-def { color: #50fa7b; }
.cm-s-dracula span.cm-operator { color: #ff79c6; }
.cm-s-dracula span.cm-keyword { color: #ff79c6; }
.cm-s-dracula span.cm-atom { color: #bd93f9; }
.cm-s-dracula span.cm-meta { color: #f8f8f2; }
.cm-s-dracula span.cm-tag { color: #ff79c6; }
.cm-s-dracula span.cm-attribute { color: #50fa7b; }
.cm-s-dracula span.cm-qualifier { color: #50fa7b; }
.cm-s-dracula span.cm-property { color: #66d9ef; }
.cm-s-dracula span.cm-builtin { color: #50fa7b; }
.cm-s-dracula span.cm-variable-3, .cm-s-dracula span.cm-type { color: #ffb86c; }

.cm-s-dracula .CodeMirror-activeline-background { background: rgba(255,255,255,0.1); }
.cm-s-dracula .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }

#example-panel {
  position: fixed;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  padding: 10px 0px;
  text-align: left;
  background: #fff;
}
#example-panel h2 {
    font-weight: normal;
    font-size: 20px;
    color: #333;
    padding-left: 20px;
    font-weight: bold;
    margin: 5px 0;
}
#example-panel p.intro {
    color: #aaa;
    padding-left: 20px;
    margin: 5px 0;
    font-size: 12px;
}
#example-panel .preview-and-code {
    position: absolute;
    top: 75px;
    bottom: 0;
    left: 0;
    right: 0;
}
#example-panel .el-alert {
    position: absolute;
    top: 0;
}
#example-panel .preview-main {
    position: relative;
    padding: 0 10px;
    background: #fefefe;
    box-sizing: border-box;
}
#example-panel .example-code {
    position: relative;
}
#example-panel .example-code .codemirror-main {
      position: absolute;
      left: 10px;
      top: 10px;
      right: 10px;
      bottom: 15px;
      box-shadow: -5px -5px 15px rgba(0, 0, 0, 0.1);
}
#example-panel .example-code .codemirror-main .CodeMirror {
        height: 100%;
        overflow-y: scroll;
        border-radius: 6px;
        font-family: 'Source Code Pro', monospace;
        font-size: 13px;
}
#example-panel .example-code .codemirror-main .CodeMirror .CodeMirror-scroll {
          padding: 15px;
}
#example-panel .example-code .codemirror-main .CodeMirror ::-webkit-scrollbar-thumb {
          width: 8px;
          min-height: 15px;
          background: rgba(255, 255, 255, 0.3) !important;
          -webkit-transition: all 0.3s ease-in-out;
          transition: all 0.3s ease-in-out;
          border-radius: 2px;
}
#example-panel .example-code .codemirror-main .CodeMirror .option-changed {
          background: rgba(255, 255, 255, 0.1);
}
#example-panel .example-code .codemirror-main .CodeMirror .CodeMirror-cursor {
          display: none;
}
#example-panel .toolbar {
    position: absolute;
    top: 15px;
    right: 10px;
}
#example-panel .toolbar .example-list {
      width: 180px;
}
#example-panel.right-layout {
    bottom: 0;
    top: 40px;
    right: 10px;
}
#example-panel.right-layout .preview-main {
      width: 100%;
      height: 50%;
}
#example-panel.right-layout .example-code {
      width: 100%;
      height: 50%;
}
#example-panel.bottom-layout {
    left: 300px;
    bottom: 0;
    right: 10px;
}
#example-panel.bottom-layout .preview-main {
      width: 50%;
      height: 100%;
      float: left;
}
#example-panel.bottom-layout .example-code {
      width: 50%;
      height: 100%;
      float: left;
}
#example-panel.top-layout {
    left: 300px;
    top: 50px;
    right: 10px;
}
#example-panel.top-layout .preview-main {
      width: 50%;
      height: 100%;
      float: left;
}
#example-panel.top-layout .example-code {
      width: 50%;
      height: 100%;
      float: left;
}
.example-change-layout .layout-title > i {
  font-size: 14px;
  margin-right: 5px;
}
.example-change-layout .layout-mode {
  margin-top: 10px;
}

.doc-main {
  margin-left: 10px;
}
.doc-main .open-option-example {
    position: fixed;
    right: 0;
    top: 50%;
    padding: 10px;
    border-radius: 20px 0 0 20px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    background: #fff;
    cursor: pointer;
    font-size: 12px;
}
.doc-main .open-option-example:hover {
      background: #eee;
}
.doc-main .open-option-example i {
      font-size: 16px;
      vertical-align: middle;
}
.doc-content {
  text-align: left;
  color: #4d555e;
}
.doc-content.option-example-actived.option-example-right-layout {
    margin-right: 45%;
}
.doc-content h2 {
    color: #B03A5B;
    font-size: 34px;
    border-bottom: 1px solid #ccc;
    height: 45px;
    line-height: 45px;
    margin: 0;
    margin-left: 15px;
    font-weight: normal;
    box-sizing: content-box;
}
.doc-content h3 {
    font-weight: normal;
    color: #969696;
    font-size: 28px;
    margin: 20px 0px 20px 15px;
}
.doc-content .page-description {
    padding: 5px 0;
    margin-left: 15px;
}
.doc-content .page-description .hljs {
      background: transparent;
      padding: 0;
}
.doc-content .page-description hr {
      border: none;
      border-bottom: 1px solid #eee;
      width: 80%;
}
.doc-content .page-description blockquote {
      font-size: 12px;
      color: #999;
      background-color: #fdfdfd;
      border-left: 2px solid #ddd;
      margin-left: 0px;
      padding: 5px 10px;
}
.doc-content .page-description blockquote p {
        margin: 0;
        font-size: 12px;
}
.doc-content .page-description blockquote pre {
        font-size: 12px;
}
.doc-content .page-description iframe {
      border: none;
      display: block;
      margin-top: 5px;
      max-width: 100%;
}
.doc-content .page-description img {
      max-width: 100%;
}
.doc-content .page-description p {
      line-height: 1.7em;
      margin: 12px 0 12px 0;
      font-size: 14px;
}
.doc-content .page-description pre {
      margin: 5px 0;
      border-radius: 5px;
      background-color: #f5f7fa;
      border: none;
      padding: 10px;
      font-size: 13px;
}
.doc-content .page-description .codespan {
      padding: 1px 5px;
      font-size: 14px;
      background-color: #f4f4f4;
      border-radius: 4px;
}
.doc-content .page-description code *, .doc-content .page-description code {
      font-family: 'Source Code Pro', 'Courier New', monospace;
}
.doc-content .page-description ol {
      margin-left: 20px;
}
.doc-content .page-description ul li {
      list-style: disc;
      margin: 10px 20px;
      font-size: 14px;
}
.doc-content .page-description ol li {
      margin: 1em 0;
      list-style: decimal;
      font-size: 14px;
}
.doc-content .page-description a {
      font-family: 'Source Code Pro', STHeiti, "Microsoft Yahei", "WenQuanYi Micro Hei", sans-serif;
}
.doc-content .item-description {
    margin: 0;
    padding: 5px 0;
}
.doc-content .item-description .hljs {
      background: transparent;
      padding: 0;
}
.doc-content .item-description hr {
      border: none;
      border-bottom: 1px solid #eee;
      width: 80%;
}
.doc-content .item-description blockquote {
      font-size: 12px;
      color: #999;
      background-color: #fdfdfd;
      border-left: 2px solid #ddd;
      margin-left: 0px;
      padding: 5px 10px;
}
.doc-content .item-description blockquote p {
        margin: 0;
        font-size: 12px;
}
.doc-content .item-description blockquote pre {
        font-size: 12px;
}
.doc-content .item-description iframe {
      border: none;
      display: block;
      margin-top: 5px;
      max-width: 100%;
}
.doc-content .item-description img {
      max-width: 100%;
}
.doc-content .item-description p {
      line-height: 1.7em;
      margin: 12px 0 12px 0;
      font-size: 14px;
}
.doc-content .item-description pre {
      margin: 5px 0;
      border-radius: 5px;
      background-color: #f5f7fa;
      border: none;
      padding: 10px;
      font-size: 13px;
}
.doc-content .item-description .codespan {
      padding: 1px 5px;
      font-size: 14px;
      background-color: #f4f4f4;
      border-radius: 4px;
}
.doc-content .item-description code *, .doc-content .item-description code {
      font-family: 'Source Code Pro', 'Courier New', monospace;
}
.doc-content .item-description ol {
      margin-left: 20px;
}
.doc-content .item-description ul li {
      list-style: disc;
      margin: 10px 20px;
      font-size: 14px;
}
.doc-content .item-description ol li {
      margin: 1em 0;
      list-style: decimal;
      font-size: 14px;
}
.doc-content .item-description a {
      font-family: 'Source Code Pro', STHeiti, "Microsoft Yahei", "WenQuanYi Micro Hei", sans-serif;
}
.doc-content table {
    border: 1px solid #ddd;
    border-collapse: collapse;
}
.doc-content th, .doc-content td {
    padding: 10px;
    border: 1px solid #eee;
}
.ec-doc-tutorial .page-description h2 {
  font-weight: normal;
  font-size: 22px;
  margin-left: 0;
  margin-top: 40px;
}
.ec-doc-mobile .doc-main {
  margin-left: 0;
}
.ec-doc-mobile .doc-content {
  background: #f2f2f2;
  margin-bottom: 100px;
}
.ec-doc-mobile .page-description {
  padding: 5px 10px;
  background: #fff;
}
.ec-doc-mobile h2 {
  font-size: 22px;
  font-weight: normal;
  padding: 20px 10px;
  border-bottom: none;
}
.ec-doc-mobile h3 {
  font-size: 20px;
  padding-left: 10px;
}

.doc-search {
  padding: 5px;
}
.doc-search .search-input {
    width: 100%;
}
.el-autocomplete-suggestion.search-input-popper {
  width: auto !important;
  min-width: 300px;
}
.el-autocomplete-suggestion.search-input-popper li {
    line-height: 28px;
    padding: 0 10px;
}
.doc-path-suggestion-item {
  font-family: Monaco,Consolas,Courier new,monospace;
  font-size: 12px;
}

.doc-search-result-item-card {
  margin: 30px 10px;
  border-top: 1px solid #ccc;
}
.doc-search-result-item-card h4 {
    margin: 10px 0;
}
.doc-search-result-item-card h4 > * {
      vertical-align: middle;
      display: inline-block;
}
.doc-search-result-item-card h4 a.path {
      font-family: Montserrat, sans-serif;
      font-size: 18px;
      padding-left: 5px;
      padding: 0;
      font-weight: normal;
      color: #B03A5B;
}
.doc-search-result-item-card .item-description mark, .doc-search-result-item-card h4 mark {
    background-color: #fc0;
    border-radius: 3px;
    padding: 2px;
}
.doc-search-result-item-card .other-result {
    font-size: 12px;
    padding: 0 0 10px 0;
}
.doc-search-result-item-card .other-result > div {
      font-family: Montserrat, sans-serif;
}
.doc-search-result-item-card.needs-show-more .item-description {
    max-height: 200px;
    overflow-y: hidden;
}
.doc-search-result-item-card.needs-show-more .show-more-button {
    display: block;
}
.doc-search-result-item-card .show-more-button {
    display: none;
    text-align: center;
    cursor: pointer;
}
.doc-search-result-item-card .hljs {
    background: transparent;
    padding: 0;
}
.doc-search-result-item-card hr {
    border: none;
    border-bottom: 1px solid #eee;
    width: 80%;
}
.doc-search-result-item-card blockquote {
    font-size: 12px;
    color: #999;
    background-color: #fdfdfd;
    border-left: 2px solid #ddd;
    margin-left: 0px;
    padding: 5px 10px;
}
.doc-search-result-item-card blockquote p {
      margin: 0;
      font-size: 12px;
}
.doc-search-result-item-card blockquote pre {
      font-size: 12px;
}
.doc-search-result-item-card iframe {
    border: none;
    display: block;
    margin-top: 5px;
    max-width: 100%;
}
.doc-search-result-item-card img {
    max-width: 100%;
}
.doc-search-result-item-card p {
    line-height: 1.7em;
    margin: 12px 0 12px 0;
    font-size: 14px;
}
.doc-search-result-item-card pre {
    margin: 5px 0;
    border-radius: 5px;
    background-color: #f5f7fa;
    border: none;
    padding: 10px;
    font-size: 13px;
}
.doc-search-result-item-card .codespan {
    padding: 1px 5px;
    font-size: 14px;
    background-color: #f4f4f4;
    border-radius: 4px;
}
.doc-search-result-item-card code *, .doc-search-result-item-card code {
    font-family: 'Source Code Pro', 'Courier New', monospace;
}
.doc-search-result-item-card ol {
    margin-left: 20px;
}
.doc-search-result-item-card ul li {
    list-style: disc;
    margin: 10px 20px;
    font-size: 14px;
}
.doc-search-result-item-card ol li {
    margin: 1em 0;
    list-style: decimal;
    font-size: 14px;
}
.doc-search-result-item-card a {
    font-family: 'Source Code Pro', STHeiti, "Microsoft Yahei", "WenQuanYi Micro Hei", sans-serif;
}
.doc-search-result-item-card iframe, .doc-search-result-item-card pre, .doc-search-result-item-card image {
    display: none;
}
.ec-doc-mobile .doc-search-result-item-card {
  margin: 30px 0;
}

.doc-search-result h3 {
  font-weight: normal;
  font-size: 24px;
  margin: 20px 20px 20px 0;
}
.doc-search-result .result-summary {
  padding: 10px 0;
  color: #999;
}
.doc-search-result .result-summary .searching {
    color: #B03A5B;
}
.ec-doc-mobile .doc-search-result {
  padding: 0 10px;
}

@font-face {
  font-family: 'iconfont';
  src: url(../css/icon.eot);
  src: url(../css/icon.eot#iefix) format("embedded-opentype"), url(../css/icon.ttf) format("truetype"), url(../css/icon.woff) format("woff"), url(../css/icon.svg) format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: 'Source Code Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../css/SourceCodePro-Regular.woff) format("woff");
}
.ec-doc {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", "Helvetica Neue", Helvetica, Arial, sans-serif;
  height: 100%;
}
.ec-doc ul, .ec-doc ol {
    margin: 0;
    padding: 0;
}
.ec-doc a {
    color: #337ab7;
    text-decoration: none;
    margin: 0 3px;
}
.ec-doc a:hover {
      text-decoration: underline;
}
.ec-doc > .el-aside {
    border-right: 1px solid #ddd;
    position: relative;
}
.ec-doc > .el-aside .doc-type-nav {
      border-bottom: 1px solid #eee;
      margin-bottom: 10px;
      margin-left: 5px;
}
.ec-doc > .el-aside .doc-type-nav a {
        display: inline-block;
        line-height: 35px;
        width: 20%;
        text-align: center;
        box-sizing: border-box;
        text-decoration: none;
        color: #000;
        cursor: pointer;
        font-size: 14px;
}
.ec-doc > .el-aside .doc-type-nav a.selected {
          border-top: 3px solid #B03A5B;
}
.ec-doc > .el-aside .doc-nav {
      position: absolute;
      top: 90px;
      bottom: 0;
      left: 0;
      right: 0;
      overflow-y: scroll;
}
.ec-doc > .el-main {
    text-align: center;
}
.ec-doc > .el-main > div {
      margin: 0 auto;
      text-align: left;
      min-width: 100%;
}
.ec-doc.ec-doc-locale-zh .doc-type-nav a {
  width: 20%;
}
.el-select-dropdown.el-popper {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.ec-doc-mobile {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", "Helvetica Neue", Helvetica, Arial, sans-serif;
  position: relative;
}
.ec-doc-mobile ul, .ec-doc-mobile ol {
    margin: 0;
    padding: 0;
}
.ec-doc-mobile a {
    color: #337ab7;
    text-decoration: none;
    margin: 0 3px;
}
.ec-doc-mobile a:hover {
      text-decoration: underline;
}
.ec-doc-mobile .top-bar {
    position: sticky;
    top: 0;
    height: 90px;
    left: 0;
    right: 0;
    background: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid #ddd;
    z-index: 10;
}
.ec-doc-mobile .doc-type-nav {
    border-bottom: 1px solid #eee;
    margin-bottom: 10px;
    margin-left: 5px;
}
.ec-doc-mobile .doc-type-nav a {
      display: inline-block;
      line-height: 30px;
      width: 22%;
      text-align: center;
      box-sizing: border-box;
      text-decoration: none;
      color: #000;
      cursor: pointer;
      font-size: 14px;
}
.ec-doc-mobile .doc-type-nav a.selected {
        border-top: 3px solid #B03A5B;
}
.ec-doc-mobile .doc-mobile-toolbar {
    display: flex;
    flex-direction: row;
}
.ec-doc-mobile .doc-mobile-toolbar .open-nav {
      margin: 6px 5px;
}
.ec-doc-mobile .doc-mobile-toolbar .doc-search {
      flex: 1;
}
.ec-doc-mobile .doc-breadcrumb {
    position: fixed;
    text-align: center;
    left: 50%;
    transform: translate(-50%, 0);
    bottom: 20px;
    border-radius: 4px;
    padding: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    background: #337ab7;
}
.ec-doc-mobile .doc-breadcrumb a {
      display: inline-block;
      color: #fff;
}
.el-drawer .doc-nav {
  position: absolute;
  top: 10px;
  bottom: 0;
  left: 0;
  right: 0;
  overflow-y: scroll;
}

/**
 * GitHub Gist Theme
 * Author : Anthony Attard - https://github.com/AnthonyAttard
 * Author : Louis Barranqueiro - https://github.com/LouisBarranqueiro
 */

.hljs {
  display: block;
  background: white;
  padding: 0.5em;
  color: #333333;
  overflow-x: auto;
}

.hljs-comment,
.hljs-meta {
  color: #969896;
}

.hljs-variable,
.hljs-template-variable,
.hljs-strong,
.hljs-emphasis,
.hljs-quote {
  color: #df5000;
}

.hljs-keyword,
.hljs-selector-tag,
.hljs-type {
  color: #d73a49;
}

.hljs-literal,
.hljs-symbol,
.hljs-bullet,
.hljs-attribute {
  color: #0086b3;
}

.hljs-section,
.hljs-name {
  color: #63a35c;
}

.hljs-tag {
  color: #333333;
}

.hljs-title,
.hljs-attr,
.hljs-selector-id,
.hljs-selector-class,
.hljs-selector-attr,
.hljs-selector-pseudo {
  color: #6f42c1;
}

.hljs-addition {
  color: #55a532;
  background-color: #eaffea;
}

.hljs-deletion {
  color: #bd2c00;
  background-color: #ffecec;
}

.hljs-link {
  text-decoration: underline;
}

.hljs-number {
  color: #005cc5;
}

.hljs-string {
  color: #032f62;
}

