/*
 * Bolo - A stable and beautiful blogging system based in Solo.
 * Copyright (c) 2020, https://github.com/adlered
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */

/*bundle*/
#back-to-top{position:fixed;padding:8px 0;transition:.4s ease opacity,.4s ease width,.4s ease transform,.4s ease border-radius;opacity:0;line-height:24px;outline:0;transform:translateY(120px)}#back-to-top.fade-in{opacity:1}#back-to-top.rise-up{transform:translateY(0)}.ins-section-container{position:relative;background:#f7f7f7}.ins-section{font-size:14px;line-height:16px}.ins-section .ins-search-item,.ins-section .ins-section-header{padding:8px 15px}.ins-section .ins-section-header{color:#9a9a9a;}.ins-section .ins-slug{margin-left:5px;color:#9a9a9a}.ins-section .ins-slug:before{content:'('}.ins-section .ins-slug:after{content:')'}.ins-section .ins-search-item .ins-search-preview,.ins-section .ins-search-item header{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ins-section .ins-search-item header .ins-title{margin-left:8px}.ins-section .ins-search-item .ins-search-preview{height:15px;font-size:12px;color:#9a9a9a;margin:5px 0 0 20px}.ins-section .ins-search-item.active,.ins-section .ins-search-item:hover{color:#fff;background:#3273dc}.ins-section .ins-search-item.active .ins-search-preview,.ins-section .ins-search-item.active .ins-slug,.ins-section .ins-search-item:hover .ins-search-preview,.ins-section .ins-search-item:hover .ins-slug{color:#fff}.pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pace-inactive{display:none}.pace .pace-progress{background:#3273dc;position:fixed;z-index:2000;top:0;right:100%;width:100%;height:2px}.searchbox{display:none;perspective:50em;top:0;left:0;width:100%;height:100%;z-index:100;background:rgba(0,0,0,.7);transform-origin:0;perspective-origin:top center}.searchbox.show{display:block}.searchbox,.searchbox .searchbox-container{position:fixed}.searchbox .searchbox-container{overflow:hidden}.searchbox .searchbox-selectable{cursor:pointer}.searchbox .searchbox-input-wrapper{position:relative}.searchbox .searchbox-input-wrapper .searchbox-input{font-weight: 400 !important;width:100%;border:none;outline:0;font-size:16px;box-shadow:0 1px 2px 0 rgba(0,0,0,0.05);font-weight:200;border-radius:0;background:#fff;line-height:20px;box-sizing:border-box;padding:12px 28px 12px 20px;border-bottom:1px solid #e2e2e2}.searchbox .searchbox-input-wrapper .searchbox-close{top:50%;right:6px;width:20px;height:20px;line-height:20px;font-size:16px;margin-top:-11px;position:absolute;text-align:center;display:inline-block}.searchbox .searchbox-input-wrapper .searchbox-close:hover{color:#3273dc}.searchbox .searchbox-result-wrapper{left:0;right:0;top:45px;bottom:0;overflow-y:auto;position:absolute}.searchbox .searchbox-container{border-radius:2px;left:50%;top:100px;width:540px;z-index:101;bottom:100px;margin-left:-270px;box-sizing:border-box}@media screen and (max-width:559px),screen and (max-height:479px){.searchbox .searchbox-container{top:0;left:0;margin:0;width:100%;height:100%;background:#f7f7f7}}

.ant-tag {
    font-family: Chinese Quote, -apple-system, BlinkMacSystemFont, Segoe UI, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Helvetica Neue, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
    font-size: 14px;
    font-variant: tabular-nums;
    line-height: 1.5;
    color: rgba(0, 0, 0, .65);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 5px 15px;
    list-style: none;
    display: inline-block;
    border-radius: 2px;
    border: 1px solid #d9d9d9;
    background: #fafafa;
    font-size: 12px;
    -webkit-transition: all .3s cubic-bezier(.215, .61, .355, 1);
    transition: all .3s cubic-bezier(.215, .61, .355, 1);
    opacity: 1;
    margin-right: 8px;
    cursor: pointer;
    white-space:nowrap;
    opacity: .8;
    font-weight: 400;
    text-transform: uppercase;
}

.ant-tag:hover {
    opacity:1;
    border-color:#91d5ff
}

.ant-tag, .ant-tag a, .ant-tag a:hover {
    color:rgba(0, 0, 0, .65)
}

.ant-tag-pink {
    color: #eb2f96;
    background: #fff0f6;
    border-color:#ffadd2
}

.ant-tag-pink-inverse {
    background: #eb2f96;
    border-color: #eb2f96;
    color:#fff
}

.ant-tag-magenta {
    color: #eb2f96;
    background: #fff0f6;
    border-color:#ffadd2
}

.ant-tag-magenta-inverse {
    background: #eb2f96;
    border-color: #eb2f96;
    color:#fff
}

.ant-tag-red {
    color: #f5222d;
    background: #fff1f0;
    border-color:#ffa39e
}

.ant-tag-red-inverse {
    background: #f5222d;
    border-color: #f5222d;
    color:#fff
}

.ant-tag-volcano {
    color: #fa541c;
    background: #fff2e8;
    border-color:#ffbb96
}

.ant-tag-volcano-inverse {
    background: #fa541c;
    border-color: #fa541c;
    color:#fff
}

.ant-tag-orange {
    color: #fa8c16;
    background: #fff7e6;
    border-color:#ffd591
}

.ant-tag-orange-inverse {
    background: #fa8c16;
    border-color: #fa8c16;
    color:#fff
}

.ant-tag-yellow {
    color: #fadb14;
    background: #feffe6;
    border-color:#fffb8f
}

.ant-tag-yellow-inverse {
    background: #fadb14;
    border-color: #fadb14;
    color:#fff
}

.ant-tag-gold {
    color: #faad14;
    background: #fffbe6;
    border-color:#ffe58f
}

.ant-tag-gold-inverse {
    background: #faad14;
    border-color: #faad14;
    color:#fff
}

.ant-tag-cyan {
    color: #13c2c2;
    background: #e6fffb;
    border-color:#87e8de
}

.ant-tag-cyan-inverse {
    background: #13c2c2;
    border-color: #13c2c2;
    color:#fff
}

.ant-tag-lime {
    color: #a0d911;
    background: #fcffe6;
    border-color:#eaff8f
}

.ant-tag-lime-inverse {
    background: #a0d911;
    border-color: #a0d911;
    color:#fff
}

.ant-tag-green {
    color: #52c41a;
    background: #f6ffed;
    border-color:#b7eb8f
}

.ant-tag-green-inverse {
    background: #52c41a;
    border-color: #52c41a;
    color:#fff
}

.ant-tag-blue {
    color: #1890ff;
    background: #e6f7ff;
    border-color:#91d5ff
}

.ant-tag-blue-inverse {
    background: #1890ff;
    border-color: #1890ff;
    color:#fff
}

.ant-tag-geekblue {
    color: #2f54eb;
    background: #f0f5ff;
    border-color:#adc6ff
}

.ant-tag-geekblue-inverse {
    background: #2f54eb;
    border-color: #2f54eb;
    color:#fff
}

.ant-tag-purple {
    color: #722ed1;
    background: #f9f0ff;
    border-color:#d3adf7
}

.ant-tag-purple-inverse {
    background: #722ed1;
    border-color: #722ed1;
    color:#fff
}

/*style*/
/* ---------------------------------
 *       Override CSS Framework
 * --------------------------------- */
 html {
  font-size: 14px;
}
.section {
  padding: 2rem 1.5rem;
}
body,
button,
input,
select,
textarea {
  font-family: 'PingFangSC-Regular', 'Ubuntu', sans-serif;
}
.tag:not(body),
.button,
.file-cta,
.file-name,
.input,
.pagination-ellipsis,
.pagination-link,
.pagination-next,
.pagination-previous,
.select select,
.textarea {
  border-radius: 2px;
}
@media screen and (min-width: 1280px) {
  .is-1-column .container,
  .is-2-column .container {
    max-width: 960px;
    width: 960px;
  }
}
@media screen and (min-width: 1472px) {
  .is-2-column .container {
    max-width: 1152px;
    width: 1152px;
  }
  .is-1-column .container {
    max-width: 960px;
    width: 960px;
  }
}
@media screen and (max-width: 768px) {
  .section {
    padding: 4.5rem 1rem;
  }
}
@media screen and (min-width: 769px) {
  .column-main.is-sticky,
  .column-left.is-sticky,
  .column-right.is-sticky,
  .column-right-shadow.is-sticky {
    align-self: flex-start;
    position: -webkit-sticky;
    position: sticky;
    top: 0.75rem;
  }
  .column-right-shadow.is-sticky {
    top: 1.5rem;
  }
}
.tag.is-grey {
  background: #e7e7e7;
}
.card {
  border-radius: 2px;
  box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05);
}
@media screen and (max-width: 769px) {
  .card-image img {
    height: 80% !important;
  }
}
.card-normal .card {
  border-radius: 2px;
  box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05);
  display: flex;
}
.card-normal .card + .card,
.card-normal .card + .column-right-shadow {
  margin-top: 1.5rem;
}
.card-normal .card.card-transparent {
  box-shadow: none;
  background: transparent;
}
.card-normal .card .card-image {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  flex: 8;
}
.card-normal .card .card-image img {
  max-height: 150px;
  top: 50%;
  transform: translateX(-5%) translateY(-50%);
  position: relative;
  border-radius: 2px;
  box-shadow: 3px 4px 12px 0 rgba(0,0,0,0.2);
}
.card-normal .card:hover .card-image img {
  -webkit-filter: brightness(0.85);
  filter: brightness(0.85);
}
.card-normal .card .card-content {
  flex: 12;
  padding: 1rem;
}
img.thumbnail {
  object-fit: cover;
  width: 100%;
  height: 100%;
  box-shadow: 3px 4px 12px 0 rgba(0,0,0,0.2);
  border-radius: 2px;
}
.navbar-logo img,
.footer-logo img {
  max-height: 1.75rem;
}
.navbar-main {
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}
.navbar-main .navbar-item {
  padding-right: 1.5rem;
}
.navbar-main .navbar-item.is-active {
  color: #3273dc;
  background-color: transparent;
}
.navbar-main .navbar-item .navbar-dropdown {
  border-radius: 2px;
  box-shadow: 0 8px 8px rgba(10,10,10,0.1);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}
.navbar-main .navbar-item .sub-menu {
  color: #4a4a4a;
  padding: 1rem;
}
.navbar-main .navbar-item .sub-menu:after {
  content: '\2022';
  position: absolute;
  color: #3273dc;
}
@media screen and (max-width: 769px) {
  .navbar-main {
    left: 0;
    position: fixed;
    right: 0;
    z-index: 30;
    top: 0;
  }
  .navbar-main .navbar-item {
    padding: 0.55rem 0.75rem;
  }
  .navbar-main .navbar-item .navbar-dropdown {
    box-shadow: none;
  }
}
.footer {
  background: #fff;
}
.footer .field .button {
  background: transparent;
}
.widget .media {
  border: none;
}
.widget .media + .media {
  margin-top: 0;
}
.widget .menu-list li ul {
  margin-right: 0;
}
.widget .menu-list a.level {
  display: flex;
}
.pagination {
  width: 100%;
}
.pagination .pagination-link:not(.is-current),
.pagination .pagination-previous,
.pagination .pagination-next {
  background: #fff;
  border: none;
}
.pagination .pagination-link,
.pagination .pagination-previous,
.pagination .pagination-next {
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}
.post-navigation {
  width: 100%;
}
.post-navigation .level-item {
  margin-bottom: 0;
}
.timeline {
  margin-left: 1rem;
  padding-left: 1.5rem;
  padding-top: 1rem;
  border-left: 1px solid #dbdbdb;
}
.timeline .media {
  position: relative;
}
.timeline .media:before,
.timeline .media:last-child:after {
  content: '';
  display: block;
  position: absolute;
  left: calc(-5px - 1.5rem);
}
.timeline .media:before {
  width: 9px;
  height: 9px;
  top: 1.3rem;
  background: #dbdbdb;
  border-radius: 50%;
}
.timeline .media:first-child:before {
  top: 0.3rem;
}
.timeline .media:last-child:after {
  top: calc(1.3rem + 9px);
  width: 9px;
  bottom: 0;
  background: #fff;
}
.timeline .media:first-child:last-child:after {
  top: calc(0.3rem + 9px);
}
.article .article-meta {
  margin-bottom: 0.5rem !important;
}
.article .content {
  font-size: 1.1rem;
}
.article .content blockquote.pullquote {
  float: right;
  max-width: 50%;
  font-size: 1.15rem;
  position: relative;
}
.article .content a {
  word-wrap: break-word;
}
.article .content p {
  line-height: 1.9rem;
}
.article blockquote {
  border-left: 0.4rem solid #4b8af3;
  background-color: #e9f5fe;
}
.rtl {
  direction: rtl;
}
.rtl .level .level-item:not(:last-child),
.rtl .level.is-mobile .level-item:not(:last-child) {
  margin-left: 0.75rem;
  margin-right: 0;
}
.donate {
  position: relative;
}
.donate .qrcode {
  display: none;
  position: absolute;
  z-index: 99;
  bottom: 2.5em;
  line-height: 0;
  overflow: hidden;
  border-radius: 2px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1), 0 0 1px rgba(0,0,0,0.2);
  overflow: hidden;
}
.donate .qrcode img {
  max-width: 280px;
}
.donate:hover .qrcode {
  display: block;
}
.donate:first-child:not(:last-child) .qrcode {
  left: -0.75rem;
}
.donate:last-child:not(:first-child) .qrcode {
  right: -0.75rem;
}
@media screen and (max-width: 768px) {
  #toc {
    display: none;
    position: fixed;
    margin: 1rem;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100;
    max-height: calc(100vh - 2rem);
    overflow-y: auto;
  }
  #toc-mask {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99;
    background: rgba(0,0,0,0.7);
  }
  #toc.is-active,
  #toc-mask.is-active {
    display: block;
  }
}
/* ---------------------------------
 *         Custom modifiers
 * --------------------------------- */
.is-borderless {
  border: none;
}
.is-size-7 {
  font-size: 0.85rem !important;
}
.is-7by1 {
  padding-top: 42.8%;
}
.is-7by1 img {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.is-overflow-x-auto {
  overflow-x: auto !important;
}
.is-flex-grow {
  flex-grow: 1 !important;
}
.is-flex-wrap {
  flex-wrap: wrap !important;
}
.is-flex-start {
  justify-content: start !important;
}
.is-flex-center {
  justify-content: center !important;
}
.is-flex-middle {
  align-items: center !important;
}
.has-order-1 {
  order: 1;
}
.has-order-2 {
  order: 2;
}
.has-order-3 {
  order: 3;
}
.has-mr-6 {
  margin-right: 0.5em !important;
}
.has-mb-6 {
  margin-bottom: 0.5em !important;
}
.has-mr-7 {
  margin-right: 0.25em !important;
}
.has-link-grey,
.has-link-black-ter {
  transition: 0.2s ease;
}
.has-link-grey:hover,
.has-link-black-ter:hover {
  color: #3273dc !important;
}
.has-link-grey {
  color: #7a7a7a !important;
}
@media screen and (max-width: 768px) {
  .has-text-centered-mobile {
    text-align: center !important;
  }
  .is-flex-center-mobile {
    justify-content: center !important;
  }
  .has-mt-5-mobile {
    margin-top: 1em !important;
  }
}
/* ---------------------------------
 *         Font icon fixes
 * --------------------------------- */
.fa,
.fab,
.fal,
.far,
.fas {
  line-height: inherit;
  font-size: 14px;
}
/* ---------------------------------
 *        Fix content elements
 * --------------------------------- */
.content h1,
.content h2,
.content h3,
.content h4,
.content h5,
.content h6 {
  font-weight: 400;
}
.content h1 {
  font-size: 1.55em;
}
.content h2 {
  font-size: 1.5em;
}
.content h3 {
  font-size: 1.25em;
}
.content h4 {
  font-size: 1.125em;
}
.content h5 {
  font-size: 1em;
}
.content code,
.content pre {
  font-size: 0.95em;
  font-family: 'Fira Sans', monospace, "Microsoft YaHei";
}
.content blockquote footer strong + cite {
  margin-left: 0.5em;
}
/* ---------------------------------
 *        Fix code highlight
 * --------------------------------- */
figure.highlight {
  padding: 0;
  width: 100%;
  position: relative;
  margin: 1em 0 1em !important;
}
figure.highlight.folded .highlight-body {
  height: 0;
}
figure.highlight pre,
figure.highlight table tr:hover {
  color: inherit;
  background: transparent;
}
figure.highlight table {
  width: auto;
}
figure.highlight pre {
  padding: 0;
  overflow: visible;
}
figure.highlight pre .line {
  line-height: 1.5rem;
}
figure.highlight figcaption,
figure.highlight .gutter {
  background: rgba(200,200,200,0.15);
}
figure.highlight figcaption {
  padding: 0.3em 0.75em;
  text-align: left;
  font-style: normal;
  font-size: 0.8em;
}
figure.highlight figcaption:after {
  clear: both;
  content: " ";
  display: table;
}
figure.highlight figcaption span {
  font-weight: 500;
  font-family: 'Fira Sans', monospace, "Microsoft YaHei";
}
figure.highlight figcaption .fold,
figure.highlight figcaption a {
  color: #9a9a9a;
}
figure.highlight figcaption a {
  float: right;
  margin-left: 0.5em;
}
figure.highlight figcaption .fold {
  margin-right: 0.5em;
  cursor: pointer;
}
figure.highlight .highlight-body {
  overflow: auto;
}
figure.highlight .gutter {
  text-align: right;
}
figure.highlight .tag,
figure.highlight .title,
figure.highlight .number,
figure.highlight .section {
  display: inherit;
  font: inherit;
  margin: inherit;
  padding: inherit;
  background: inherit;
  height: inherit;
  text-align: inherit;
  vertical-align: inherit;
  min-width: inherit;
  border-radius: inherit;
}
/* ---------------------------------
 *          Overflow Table
 * --------------------------------- */
.table-overflow {
  overflow-x: auto;
}
.table-overflow table {
  width: auto !important;
}
.table-overflow table th {
  word-break: keep-all;
}
/* ---------------------------------
 *            Fix Video
 * --------------------------------- */
.video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 25px;
  height: 0;
}
.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/* ---------------------------------
 *        Fix Gist Snippet
 * --------------------------------- */
.gist table tr:hover {
  background: transparent;
}
.gist table td {
  border: none;
}
.gist .file {
  all: initial;
}
/* ---------------------------------
 *        Fix iframe and video
 * --------------------------------- */
iframe,
video {
  height: none;
}
.post-article {
  word-wrap: break-word;
  line-height: 1.8;
  letter-spacing: 0.013rem;
}
.post-article a {
  position: relative;
  white-space: normal;
  color: #4b8af3;
  background: transparent;
  text-decoration: none;
  font-weight: 500;
  word-break: break-all;
}
.post-article a::after {
  position: absolute;
  bottom: -0.2rem;
  left: 100%;
  width: 0;
  border-bottom: 0.13rem solid #4b8af3;
  content: "";
  -webkit-transition: width 350ms, left 350ms;
  -moz-transition: width 350ms, left 350ms;
  -ms-transition: width 350ms, left 350ms;
  -o-transition: width 350ms, left 350ms;
  transition: width 350ms, left 350ms;
}
.post-article a:hover::after {
  left: 0;
  width: 100%;
  -webkit-transition: width 350ms;
  -moz-transition: width 350ms;
  -ms-transition: width 350ms;
  -o-transition: width 350ms;
  transition: width 350ms;
}
p {
  margin-top: 0;
  margin-bottom: 1.25rem;
  text-align: justify;
  display: block;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
}
.comment-item-content img {
  width: 100%;
}
.ceta .is-active {
  border-bottom: #4b8af3 solid 2px;
  font-weight: 600;

}
.ceta .tabs a {
  border-bottom-style: none;
}
.ceta .tabs a:hover {
  color: #4b8af3;
  font-weight: 500;
}

.widget .media + .media {
  margin-bottom: 0
}

.media+.media {
  padding-top: 0;
}

.card .media:not(:last-child) {
   margin-bottom: 0
}

.profile .title {
  line-height: 0.2;
}
.profile .level {
  margin-bottom: 2em;
}
.profile .level:first-child {
  margin-top: 0;
  margin-bottom: 0;
}
.profile .level:last-child {
  margin-top: 1em;
  margin-bottom: 0;
}
.intro {
  margin-top: 20px;
}
.intro i{
  font-size: 20px;
  color: #8e8787;
}
.searchbox .searchbox-result-wrapper {
  overflow-y: visible !important;
}


/*theme*/
/* default for no-preference */

:root {
  --color: #333;
  --background: #f7f7f7;
  --cardbgcolor: #fff;
  --cardtitlecolor: #333333;
  --navbarcolor: #333333;
  --navbarbgcolor: rgba(255, 255, 255, 0.7);
  --img-default-filter: none;
  --img-hover-filter: none;
  --btn-bg-color: #f5f5f5;
  --btn-color: #333;
  --btn-hover-color: #eee;
  --link-color: #1485FE;
  --link-hover-color: #1485FE;


  /*code highlight*/
  --code-bg-color: #2c2a2a;
  --code-default-color: #A2A1A1;
  --code-line-numbers-bg-color: #403E3E;
  --code-line-numbers-color: #888;

  --code-keyworks-color: #c9c;
  --code-class-color: #f2777a;
  --code-cdata-color: hsl(313, 67%, 36%);
  --code-symbol-color: hsl(33, 83%, 45%);
  --code-variable-color: hsl(281, 89%, 64%);
  --code-regex-color: #e90;
  --code-deleted-color: red;
  --code-toolbar-bg-color: #454545;
  --code-toolbar-color: #1485FE;
  --code-line-numbers-rows-color: #888;

  /*toc*/
  --toc-dot-color: #1485FE;
  --toc-dot-active-bg-color: #ebedef;
  --toc-dot-active-color: #1485FE;
  --toc-vertical-line-color: #888;
  --toc-item-bg-hover: #1485FE;

}

/* Light mode */
@media (prefers-color-scheme: light) {
  :root {
      --color: #333333;
      --background: #f7f7f7;
      --cardbgcolor: #fff;
      --cardcolor: #333;
      --cardtitlecolor: #333333;
      --navbarcolor: #333333;
      --navbarbgcolor: rgba(255, 255, 255, 0.7);
      --img-default-filter: none;
      --img-hover-filter: none;
      --link-color: #1485FE;
      --link-hover-color: #1485FE;

      /*code highlight*/
      --code-bg-color: #F1F3F3;
      --code-default-color: #A2A1A1;
      --code-line-numbers-bg-color: #EBEDED;
      --code-line-numbers-color: #888;

      --code-keyworks-color: #7012cc;
      --code-class-color: #f2777a;
      --code-cdata-color: hsl(313, 67%, 36%);
      --code-symbol-color: hsl(33, 83%, 45%);
      --code-variable-color: hsl(281, 89%, 64%);
      --code-regex-color: #e90;
      --code-deleted-color: red;
      --code-toolbar-bg-color: #EBEDED;
      --code-toolbar-color: #1485FE;
      --code-line-numbers-rows-color: #888;
      /*toc*/
      --toc-dot-color: #1485FE;
      --toc-dot-active-color: #1485FE;
      --toc-dot-active-bg-color: #ebedef;
      --toc-vertical-line-color: #1485FE;
      --toc-item-bg-hover: #1485FE;
  }
}

/* Dark mode */
@media (prefers-color-scheme: dark) {
  :root {
      --color: #CCC;
      --background: #2c2a2a !important;
      --cardbgcolor: #343232 !important;
      --cardcolor: #bcbcbc;
      --cardtitlecolor: #bcbcbc;
      --navbarcolor: #bcbcbc;
      --navbarbgcolor: rgba(52, 50, 50, 0.7);
      /*--img-default-filter: grayscale(100%);*/
      img-default-filter: none;
      --img-hover-filter: none;
      --btn-bg-color: #2c2a2a;
      --btn-color: #bcbcbc;
      --btn-hover-color: #333;
      --link-color: #1485FE;
      --link-hover-color: #1485FE;

      /*code highlight*/
      --code-bg-color: #2c2a2a;
      --code-default-color: #A2A1A1;
      --code-line-numbers-bg-color: #403E3E;
      --code-line-numbers-color: #888;

      --code-keyworks-color: #c9c;
      --code-class-color: #f2777a;
      --code-cdata-color: hsl(313, 67%, 36%);
      --code-symbol-color: hsl(33, 83%, 45%);
      --code-variable-color: hsl(281, 89%, 64%);
      --code-regex-color: #e90;
      --code-deleted-color: red;
      --code-toolbar-bg-color: #454545;
      --code-toolbar-color: #fff;
      --code-line-numbers-rows-color: #888;

      /*toc*/
      --toc-dot-color: #1485FE;
      --toc-dot-active-bg-color: rgba(255, 255, 255, 0.2);
      --toc-dot-active-color: #1485FE;
      --toc-vertical-line-color: #888;
      --toc-bg-bg-hover: #321;
  }
}

html {
  background: var(--background);
  color: var(--color);
}

body > .footer, body > .navbar {
  background-color: var(--cardbgcolor);
  color: var(--cardcolor);
}

a:hover {
  color: var(--link-color);
}

.content a {
  color: var(--link-color);
}

.content a:hover {
  color: var(--link-hover-color);
  font-weight: 400;
}

.card {
  background-color: var(--cardbgcolor);
  color: var(--cardcolor);
}

.card .card-image img,
img.thumbnail {
  filter: var(--img-default-filter);
}

.card .card-image img:hover,
img.thumbnail:hover {
  filter: var(--img-hover-filter);
}

.card .title {
  color: var(--color) !important;
}

.navbar-dropdown {
  background-color: var(--background);
}

/* pre,
blockquote {
  background-color: var(--code-bg-color) !important;
  color: var(--color) !important;
} */

.card .content,
  /*.card .title a{*/
  /*    color: var(--cardtitlecolor) !important;*/
  /*}*/
.pagination .pagination-link:not(.is-current),
.pagination .pagination-previous,
.pagination .pagination-next {
  background-color: var(--cardbgcolor);
  color: var(--cardcolor);
}

.navbar-item, .navbar-link,
.navbar-main .navbar-item .sub-menu {
  color: var(--navbarcolor);

}

.has-link-black-ter {
  color: var(--cardtitlecolor) !important;
}


.button {
  background-color: var(--btn-bg-color) !important;
  color: var(--btn-color) !important;
}

.button:hover {
  background-color: var(--btn-hover-color) !important;
}

body > footer > div > div > div.level-end > div > a > i {
  background-color: transparent;
  color: var(--color);
}

.level .level-item.button {
  background-color: var(--cardbgcolor) !important;
  border-color: var(--cardbgcolor) !important;
  color: var(--color) !important;
}

.menu-list .level {
  color: var(--color);
}


.menu-list a:hover {
  background-color: var(--background);
  opacity: 0.6;
  color: var(--link-hover-color);
}

.tag:not(body) {
  background-color: var(--background) !important;
  color: var(--color) !important;
}

.content .tag {
  background-color: transparent !important;
  color: var(--code-class-color) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
h7,
strong {
  color: var(--color) !important;
}

.is-active a {
  color: var(--color) !important;
}

a.navbar-item:hover {
  background-color: var(--cardbgcolor);
  color: #3273dc;
}

/*code {
  color: var(--color);
  background-color: var(--code-bg-color)
}

code[class*="language-"],
pre[class*="language-"] {
  color: var(--color);
  background-color: var(--code-bg-color) !important;
}

pre[class*="language-"],
:not(pre) > code[class*="language-"] {
  background: var(--background);
}*/

:not(pre) > code[class*="language-"] {
  border: red;
}

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
  color: var(--code-cdata-color);
}

.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol {
  color: var(--code-symbol-color);
}

.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
  color: var(--code-class-color);
}

.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string,
.token.variable {
  color: var(--code-variable-color);
}

.token.atrule,
.token.attr-value,
.token.keyword {
  color: var(--code-keyworks-color);
}

.token.regex,
.token.important {
  color: var(--code-regex-color);
}

.token.deleted {
  color: var(--code-deleted-color);
}


.line-numbers .line-numbers-rows {
  background-color: var(--code-line-numbers-bg-color) !important;
}

.line-numbers-rows > span:before {
  color: var(--code-line-numbers-color) !important;
}

.line-highlight {
  background: rgba(21, 21, 21, 0.2) !important;
  background: -webkit-linear-gradient(left, rgba(21, 21, 21, 0.2) 70%, rgba(21, 21, 21, 0)) !important;
  background: linear-gradient(to right, rgba(21, 21, 21, 0.2) 70%, rgba(21, 21, 21, 0)) !important;
}

div.code-toolbar > .toolbar a,
div.code-toolbar > .toolbar button,
div.code-toolbar > .toolbar span {
  background: var(--code-toolbar-bg-color) !important;
  /*box-shadow: 0 2px 0 0 rgba(0,0,0,0.2);*/
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

div.code-toolbar > .toolbar a:hover,
div.code-toolbar > .toolbar a:focus,
div.code-toolbar > .toolbar button:hover,
div.code-toolbar > .toolbar button:focus,
div.code-toolbar > .toolbar span:hover,
div.code-toolbar > .toolbar span:focus {
  color: var(--code-toolbar-color) !important;
}

.line-numbers-rows > span:before {
  color: var(--code-line-numbers-rows-color);
}

.content table thead td,
.content table thead th {
  color: var(--color);
}

#toc ul li a,
#toc ul li ul li a,
#toc ul li ul li ul li a {
  color: var(--color);
}

#toc .active {
  color: var(--toc-dot-active-color) !important;
}

#toc > ul li::before {
  background-color: var(--toc-dot-color)
}

#toc a:hover {
  color: var(--toc-dot-active-color) !important;
  background-color: var(--toc-dot-active-bg-color);
}

#toc > ul:before {
  background-color: var(--toc-vertical-line-color);
}


.navbar-burger {
  color: var(--color);
}

.navbar-menu {
  background-color: var(--cardbgcolor);
}

body > .navbar {
  background-color: var(--navbarbgcolor);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}

.content table thead td,
.content table thead th {
  border: 1px solid var(--background);

}

.content table td,
.content table th {
  border: 1px solid var(--background);
}

table {
  border: 2px solid var(--btn-hover-color);
}

thead, tbody, tr, th {
  border: 1px solid var(--background);
}

footer .title {
  color: var(--color);
}

footer .button {
  background-color: var(--cardbgcolor) !important;
}

/*@import url("https://fonts.googleapis.com/css?family=Fira+Sans:400,500,600,700,800");*/
.blog-slider {
  position: relative;
  width: 100%;
  margin: auto;
  padding: 25px;
  border-radius: 2px;
  height: 250px;
  transition: all .3s;
}
@media screen and (max-width: 992px) {
  .blog-slider {
    /*max-width: 680px;*/
    /*height: 400px;*/
  }
}
@media screen and (max-width: 769px) {
  .blog-slider {
    /*min-height: 500px;*/
    height: auto;
    /*margin: 80px auto;*/
    margin-top: 80px;
  }
}
/*@media screen and (max-height: 500px) and (min-width: 992px) {*/
/*  .blog-slider {*/
/*    height: 350px;*/
/*  }*/
/*}*/
.blog-slider__item {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .blog-slider__item {
    flex-direction: column;
  }
}
.blog-slider__item.swiper-slide-active .blog-slider__img img {
  opacity: 1;
  transition-delay: .3s;
}
.blog-slider__item.swiper-slide-active .blog-slider__content > * {
  opacity: 1;
  transform: none;
}
.blog-slider__item.swiper-slide-active .blog-slider__content > *:nth-child(1) {
  transition-delay: 0.3s;
}
.blog-slider__item.swiper-slide-active .blog-slider__content > *:nth-child(2) {
  transition-delay: 0.4s;
}
.blog-slider__item.swiper-slide-active .blog-slider__content > *:nth-child(3) {
  transition-delay: 0.5s;
}
.blog-slider__item.swiper-slide-active .blog-slider__content > *:nth-child(4) {
  transition-delay: 0.6s;
}
.blog-slider__item.swiper-slide-active .blog-slider__content > *:nth-child(5) {
  transition-delay: 0.7s;
}
.blog-slider__item.swiper-slide-active .blog-slider__content > *:nth-child(6) {
  transition-delay: 0.8s;
}
.blog-slider__item.swiper-slide-active .blog-slider__content > *:nth-child(7) {
  transition-delay: 0.9s;
}
.blog-slider__item.swiper-slide-active .blog-slider__content > *:nth-child(8) {
  transition-delay: 1s;
}
.blog-slider__item.swiper-slide-active .blog-slider__content > *:nth-child(9) {
  transition-delay: 1.1s;
}
.blog-slider__item.swiper-slide-active .blog-slider__content > *:nth-child(10) {
  transition-delay: 1.2s;
}
.blog-slider__item.swiper-slide-active .blog-slider__content > *:nth-child(11) {
  transition-delay: 1.3s;
}
.blog-slider__item.swiper-slide-active .blog-slider__content > *:nth-child(12) {
  transition-delay: 1.4s;
}
.blog-slider__item.swiper-slide-active .blog-slider__content > *:nth-child(13) {
  transition-delay: 1.5s;
}
.blog-slider__item.swiper-slide-active .blog-slider__content > *:nth-child(14) {
  transition-delay: 1.6s;
}
.blog-slider__item.swiper-slide-active .blog-slider__content > *:nth-child(15) {
  transition-delay: 1.7s;
}
.blog-slider__img {
  width: 300px;
  flex-shrink: 0;
  height: 200px;
  background-image: linear-gradient(147deg, #fffcf9, #cde8f6);
  box-shadow: 3px 4px 12px 0 rgba(0,0,0,0.2);
  border-radius: 2px;
  transform: translateX(-40px);
  overflow: hidden;
}
.blog-slider__img:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /*background-image: linear-gradient(147deg, #fff9fb 0%, #fd3838 74%);*/
  border-radius: 2px;
  opacity: 0.2;
}
.blog-slider__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: 0;
  border-radius: 2px;
  transition: all .3s;
}
@media screen and (max-width: 768px) {
  .blog-slider__img {
    transform: translateY(-50%);
    width: 90%;
  }
}
@media screen and (max-width: 576px) {
  .blog-slider__img {
    width: 95%;
  }
}
/*@media screen and (max-height: 500px) and (min-width: 992px) {*/
/*  .blog-slider__img {*/
/*    height: 270px;*/
/*  }*/
/*}*/
.blog-slider__content {
  padding-right: 25px;
}
@media screen and (max-width: 768px) {
  .blog-slider__content {
    margin-top: -80px;
    text-align: center;
    padding: 0 30px;
  }
}
@media screen and (max-width: 576px) {
  .blog-slider__content {
    padding: 0;
  }
}
.blog-slider__content > * {
  opacity: 0;
  transform: translateY(25px);
  transition: all .4s;
}
.blog-slider__code {
  color: #7b7992;
  margin-bottom: 10px;
  display: block;
  font-weight: 500;
}
.blog-slider__title {
  /*color: #0d0925;*/
  margin-bottom: 10px;
}
.blog-slider__title a{
}
.blog-slider__text {
  /*color: #4e4a67;*/
  margin-bottom: 20px;
  line-height: 1.5em;
}
.blog-slider__button {
  display: inline-flex;
  background-image: linear-gradient(149deg, #6c2bfe, #7e8dfd 49.58%);
  padding: 8px 25px;
  border-radius: 2px;
  color: #fff;
  box-shadow: 3px 4px 12px 0 rgba(0,0,0,0.2);
  text-decoration: none;
  font-weight: 500;
  justify-content: center;
  text-align: center;
  letter-spacing: 1px;
}
@media screen and (max-width: 576px) {
  .blog-slider__button {
    /*width: 100%;*/
  }
}
.blog-slider .swiper-container-horizontal > .swiper-pagination-bullets, .blog-slider .swiper-pagination-custom, .blog-slider .swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%;
}
.blog-slider__pagination {
  position: absolute;
  z-index: 21;
  right: 20px;
  width: 11px !important;
  text-align: center;
  left: auto !important;
  top: 50%;
  bottom: auto !important;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .blog-slider__title {
    /*white-space:nowrap;*/
    /*overflow:hidden;*/
    /*text-overflow:ellipsis; /这里的ellipsis的英文名字就是省略的意思/*/
  }
  .blog-slider__pagination {
    transform: translateX(-50%);
    left: 50% !important;
    top: 190px;
    width: 100% !important;
    display: flex;
    justify-content: center;
    align-items: center;
  }

}
.blog-slider__pagination.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 8px 0;
}
.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 10px 4px !important;
}
@media screen and (max-width: 768px) {
  .blog-slider__pagination.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0px 5px;
  }
}
.blog-slider__pagination .swiper-pagination-bullet {
  width: 11px;
  height: 11px;
  display: block;
  border-radius: 10px;
  background: #062744;
  opacity: 0.2;
  transition: all .3s;
}
.blog-slider__pagination .swiper-pagination-bullet-active {
  opacity: 1;
  background: linear-gradient(149deg, #6c2bfe, #7e8dfd 49.58%);
  height: 30px;
  box-shadow: 0px 0px 20px rgba(126, 141, 253, 0.3);
}
@media screen and (max-width: 768px) {
  .blog-slider__pagination .swiper-pagination-bullet-active {
    height: 11px;
    width: 30px;
  }
}

