/* Micro Reset */


html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  box-sizing: border-box;
}

*, *:before, *:after {
  box-sizing: inherit;
}

body {
  margin: 0;
  padding: 0;
}

button, input, select, textarea, label {
  margin: 0;
  padding: 0;
  font-family: inherit;
  font-size: inherit;
}

img {
  max-width: 100%;
}

/* Typography */

body {
  line-height: 1.75;
}

h1, h2, h3, h4, h5, h6 {
  padding: 0;
  margin: 60px 0 30px;
  line-height: 1.25;
  text-align: center;
}

h1 {
  font-size: 32px;
  font-weight: normal;
}

h2 {
  font-size: 22px;
  font-weight: bold;
}

h3, h4, h5, h6 {
  font-size: 19px;
  font-weight: bold;
  text-align: left;
}

blockquote {
  margin: 1em 0;
  padding: 0 2em;
  border-left: 3px solid #ddd;
}

/* Code */

pre, code {
  font-size: .9em;
}

pre code {
  display: block;
  border: 1px solid #ddd;
  box-shadow: 5px 5px 5px #eee;
  padding: 1em;
  overflow-x: auto;
  line-height: 1.75;
}

code {
  background: #f9f9f9;
}

pre code {
  background: none;
}

/* Lists */

ul, ol {
  padding: 0 0 0 20px;
}

li {
  margin: 4px 0;
  padding: 0;
}

/* Links */

a {
  color: black;
  text-decoration: none;
  padding-bottom: 2px;
  border-bottom: 1px solid;
}

a:hover {
}

sup a {
  border-bottom: none;
}

/* Miscellanea */

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid;
  margin: 50px auto;
  padding: 0;
  max-width: 300px;
}

.copyright {
  text-align: center;
}

.post-nav {
  display: flex;
  justify-content: space-between;
  font-weight: bold;
}

.nav-next {
  margin-left: 1em;
  text-align: right;
}

.nav-prev {
  margin-right: 1em;
}

.comments {
  margin-top: 20px;
}
/* Layout */

body {
  width: 960px;
  margin: 0 auto;
  padding: 30px 0;
}

.masthead {
  width: 260px;
  padding: 20px 50px 20px 10px;
  float: left;
}

.main {
  width: 700px;
  padding: 32px 10px 20px 50px;
  margin-left: 260px;
  border-left: 3px solid black;
  min-height: calc(100vh - 60px);
}

/* Masthead */

.masthead h1 {
  margin-top: 0;
  margin-bottom: 34px;
  padding: 0;
  text-align: right;
  font-size: 46px;
  line-height: 58px;
}

.masthead h1 a {
  border-bottom: none;
}

.masthead .tagline {
  font-style: italic;
  text-align: right;
}

.masthead .menu {
  margin-right: 20px;
  direction: rtl;
}

.masthead .menu a {
  direction: ltr;
}

.masthead .menu ul ul {
  list-style: none;
  margin-left: 10px;
  margin-right: 10px;
}

.masthead .menu li li::before {
  content: "•\00a\000a0\00a0"
}

#menu-check {
  display: none;
}

#menu-label {
  display: none;
}

/* Main */

.main .title h1 {
  margin-top: 0;
  margin-bottom: 40px;
}

.title h3 {
  font-weight: normal;
  text-align: center;
}

.subtitle {
  font-size: .9em;
  color: #666;
}

/* Footnotes */

.footnotes {
  font-size: .9em;
}

/* Tables */

table {
  margin: auto;
  border-top: 1px solid #666;
  border-bottom: 1px solid #666;
}

table thead th {
  border-bottom: 1px solid #666;
}

th, td {
  padding: 5px;
}

thead, tfoot, tr:nth-child(even) {
  background: #f8f8f8;
}

/**
 * Utility Styles
 */

.unselectable {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/**
 * -------------------------------------------------------------------------
 *  Media Queries
 * -------------------------------------------------------------------------
 *
 * The @viewport tag does the same thing as
 *
 *   <meta name="viewport" content="width=device-width">
 *
 * but in the future W3C standard way. The -ms- prefix is required for
 * IE10+ to render responsive styling in Windows 8 "snapped" views;
 * IE10+ does not honour the meta tag.
 */

@-ms-viewport {
  width: device-width;
}

@viewport {
  width: device-width;
}

/* Tablet screens and smaller */

@media screen and (max-width: 960px) {

  body {
    width: auto;
    max-width: 700px;
  }

  .masthead {
    width: auto;
    float: none;
    padding: 20px 0 60px;
    text-align: center;
    margin-left: 10px;
    margin-right: 10px;
    border-bottom: 3px solid black;
  }

  .main {
    width: auto;
    padding: 40px 10px;
    margin-left: 0;
    border-left: none;
    min-height: auto;
  }

  .masthead h1 {
    text-align: center;
  }

  .masthead .tagline {
    text-align: center;
  }

  .masthead .menu {
    direction: ltr;
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
  }

  .masthead .menu ul {
    text-align: left;
    margin: 0;
    padding: 0;
  }

  .masthead .menu ul ul {
    margin: 0;
  }

  .masthead .menu li {
    border-bottom: 1px solid;
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .masthead .menu li:first-child {
    border-top: 1px solid;
  }

  .masthead .menu li li:last-child {
    border-bottom: none;
  }

  .masthead .menu a {
    display: block;
    padding: 15px 20px;
    border-bottom: none;
  }

  .masthead .menu li li a {
    padding-left: 30px;
  }

  .masthead .menu li li::before {
    content: none;
  }

  .masthead .menu li li a::before {
    content: "•\00a0\00a0\00a0";
  }

  #menu-label {
    display: inline-block;
    padding: 0 20px;
    height: 50px;
    border: 1px solid;
    cursor: pointer;
    line-height: 50px;
    color: #333;
    font-size: 20px;
    margin-top: 10px;
  }

  #menu-label:hover, #menu-label:focus {
    border: 1px solid #888;
  }

  #menu-label .icon {
    padding-right: 8px;
    width: 30px;
  }

  #menu-check ~ label .close-icon {
    display: none;
  }

  #menu-check ~ label .open-icon {
    display: inline-block;
  }

  #menu-check:checked ~ label .close-icon {
    display: inline-block;
  }

  #menu-check:checked ~ label .open-icon {
    display: none;
  }

  #menu-check ~ ul {
    display: none;
  }

  #menu-check:checked ~ ul {
    display: block;
    margin-top: 50px;
    margin-bottom: 0;
  }
}

/* Landscape phone screens and smaller */

@media screen and (max-width: 720px) {
}

/* Portrait phone screens */

@media screen and (max-width: 480px) {

  body {
    font-size: 16px;
  }

  h1 {
    font-size: 28px;
  }

  h2 {
    font-size: 18px;
  }

  h3, h4, h5, h6 {
    font-size: 16px;
  }

  pre, code {
    font-size: 12px;
  }

  .masthead {
    padding-top: 0;
  }

}

.post-content a {
  color: #191919;
   padding: 2px 0 1px 0;
   text-decoration: none;
   background-image: linear-gradient(
     transparent 0%,
     transparent calc(50% - 9px),
     #ffdb00 calc(50% - 9px),
     #ffdb00 100%
   );
   transition: background-position 120ms ease-in-out, padding 120ms ease-in-out;
   background-size: 100% 200%;
   background-position: 0 0;
   word-break: break-word;
}

.post-content a:hover {
 background-image: linear-gradient(
   transparent 0%,
   transparent calc(50% - 9px),
   #ffdb00 calc(50% - 9px),
   #ffdb00 100%
 );
 background-position: 0 100%;
}

/* Photos */

.page-photos figure{max-width:80%;margin:0 auto 3rem;}
.page-photos figure img{box-shadow: 0 12px 40px rgba(0,0,0,.15);border-radius: 8px;}

/* valine 1.4.5 评论样式 */
.v *{box-sizing:border-box;}
.v .cancel-reply{cursor:pointer;fill:#a9a9b3;text-align:right;position:absolute;right:12px;top:12px;margin:0;padding:0;z-index:99;}
.v .cancel-reply:hover{fill:#4a4b50;}
.v.hide-avatar .vimg{display:none}
.v a{position:relative;cursor:pointer;color:#1abc9c;display:inline-block;text-decoration:none;}
.v code,.v pre{background-color:#f6f6f6;color:#555;padding:.2em .4em;border-radius:3px;font-size:85%;margin:0;font-family:monospace}
.v pre{padding:10px;overflow:auto;line-height:1.45}
.v pre code{padding:0;background:transparent;white-space:pre-wrap;word-break:keep-all}
.v blockquote{margin:.5rem 0;padding:0 0 0 1rem;border-left:8px solid hsla(0,0%,93%,.5)}
.v .vinput{border:none;resize:none;outline:none;padding:10px 5px;max-width:100%;font-size:.775rem}
.v input[type=checkbox],.v input[type=radio]{display:inline-block;vertical-align:middle;margin-top:-2px}
.v .vwrap{border:1px solid #dcdcdc;border-radius:4px;margin-bottom:3rem;overflow:hidden;position:relative;padding:0 0 27px;}
.v .vwrap input{background:transparent;outline: none;}
.v .vwrap .vedit{position:relative;}
.v .vwrap .vedit .vctrl{font-size:12px;bottom:8px;right:0;position:absolute;}
.v .vwrap .vedit .vctrl span{padding:0 10px 0 0;font-size:18px;display:inline-block;vertical-align:middle;cursor:pointer}
.v .vwrap .vedit .vemojis{display:none;font-size:18px;text-align:justify;max-height:145px;overflow:auto;margin-bottom:10px;box-shadow:0 0 1px #f0f0f0}
.v .vwrap .vedit .vemojis i{font-style:normal;padding:7px 0;width:38px;cursor:pointer;text-align:center;display:inline-block;vertical-align:middle}
.v .vinput{padding:10px 15px;}
.v .vwrap .vheader{width: 80%;bottom:0;position:absolute;background:transparent;}
.v .vwrap .vheader .vinput{width:40%;border-top:1px solid #dcdcdc;border-radius:0 !important;-webkit-appearance:none !important;margin:0;}
.v .vwrap .vheader .vinput.vnick{width:20%;}
.v .vwrap .vrow{font-size:0;position:absolute;right:0;bottom:0;width:20%;}
.v .vwrap .vrow .vcol{font-size:.725rem;vertical-align:middle;}
.v .vwrap .vrow .vcol.text-right{text-align:right}
.v .vwrap .vrow .vcol svg{margin-right:2px;overflow:hidden;fill:currentColor;vertical-align:middle}
.v .vwrap .vrow .vcol.vcol-20{width:20%}
.v .vwrap .vrow .vcol.vcol-40{width:40%}
.v .vwrap .vrow .vcol.vcol-60{width:60%}
.v .vwrap .vrow .vcol.vcol-80{width:100%}
.v .vwrap .vrow .vcol.split{width:50%}
.v .vwrap .vmark{position:absolute;background:rgba(0,0,0,.65);width:100%;height:100%;left:0;top:0}
.v .vwrap .vmark .valert{padding-top:3rem}
.v .vwrap .vmark .valert .vtext{padding:1rem 0}
.v .vwrap .vmark .valert .vcode{width:4.6875rem;border-radius:.3125rem;padding:.5rem;background:#dedede}

.v .vpower,.v .vpower a{text-align: right;font-size: 0.75rem;}
.v .vcount{display:none !important;font-size:0;padding:5px}
.v .vinfo .vcol{font-size:.875rem;display:inline-block;width:50%;vertical-align:middle}
.v .vinfo .vcount .vnum{font-weight:600;font-size:1.25rem}
.v ol,.v ul{padding:0;margin-left:1.25rem}
.v .txt-center{text-align:center}
.v .veditor{width:100%;min-height:7rem;font-size:.875rem;background:transparent;resize:none;}
.v .vbtn{color: #fff;transition-duration:.4s;text-align:center;border:0;display:inline-block;background:#1abc9c;margin-bottom:0;font-weight:400;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;white-space:nowrap;font-size:.875rem;height:36px;line-height:36px;user-select:none;outline:none;width:100%;border-radius:0;padding:0}
.v .vempty{padding:1.25rem;text-align:center;}
.v .vcards{width:100%}
.v .vcards .vcard{padding-top:0.5rem;position:relative;display:block}
.v .vcards .vcard:after{content:"";clear:both;display:block}
.v .vcards .vcard .vimg{width:3.125rem;height:3.125rem;float:left;border-radius:50%;margin: 10px .7rem 0 0;}
.v .vcards .vcard .vhead{margin-top:0}
.v .vcards .vcard .vhead .vnick{position:relative;font-size:1rem;margin-right:.875rem;cursor:pointer;color:#1abc9c;text-decoration:none;display:inline-block}
.v .vcards .vcard .vh{overflow:hidden;padding-bottom:.5rem;}
.v .vcards .vcard .vh .vtime{font-size:.75rem;margin-right:.875rem}
.v .vcards .vcard .vh .vmeta{line-height:1;position:relative;margin-bottom:14px;}
.v .vcards .vcard .vh .vh .vmeta{margin-bottom:0;}
.v .vcards .vcard .vh .vmeta .vat{font-size:.8125rem;color:#fe5186;cursor:pointer;float:right}
.v .vcards .vcard:last-child .vh{border-bottom:none}
.v .vcards .vcard .vcontent{word-wrap:break-word;word-break:break-all;text-align:justify;font-size:1rem;line-height:2;position:relative;margin-bottom:.75rem;padding-top:.625rem;}
.v .vcards .vcard .vh .vcontent{padding-top:0}
.v .vh .vh .vat{margin-top:-20px;}
.v .vcards .vcard .vcontent p{margin: 0;}
.v .vcards .vcard .vcontent frame,.v .vcards .vcard .vcontent iframe,.v .vcards .vcard .vcontent img{max-width:100%;border:none;}
.v .vcards .vcard .vcontent.expand{cursor:pointer;max-height:11.25rem;overflow:hidden}
.v .vcards .vcard .vcontent.expand:before{display:block;content:"";position:absolute;width:100%;left:0;top:0;bottom:3.15rem;pointer-events:none;background:linear-gradient(180deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.9))}
.v .vcards .vcard .vcontent.expand:after{display:block;content:"点击展开";text-align:center;color:#828586;position:absolute;width:100%;height:3.15rem;line-height:3.15rem;left:0;bottom:0;pointer-events:none;background:hsla(0,0%,100%,.6)}
.v .vcards .vcard .vquote .vimg{width:2.225rem;height:2.225rem}
.v .vpage .vmore{margin:1rem 0}
//美化评论
.v .vwrap{padding: 0 0 44px;}.v .veditor{min-height:7rem;resize:none;}.v .vwrap .vedit{padding-top:0}.v .vwrap .vheader{width: 80%;bottom:0;position: absolute;background: #f7f7f7;}.v .vinput{padding:10px 15px;}.v .vwrap .vheader .vinput{border-bottom:0px}.v .vwrap .vedit .vctrl{margin-top:-44px;right:0;position:absolute;margin-right:-3px;}.v .vwrap .vcontrol{    position:absolute;right:0;bottom:0;width:20%;padding-top:0px;}.v .vwrap .vcontrol .col.col-80{width: 100%;}.v .vbtn.vsubmit{border-radius: 0;padding: 0;color: #fff;line-height: 44px;width:100%;border: none;background:#1abc9c;}.v .vwrap .vedit .vctrl span.vpreview-btn,.v .vwrap .vcontrol .col.col-20,.v .vlist .vcard .vhead .vsys{display:none;}
@media screen and (max-width: 520px){
  .v .vwrap .vheader .vinput{width: 33.33%;padding:10px 5px;}
}
@media screen and (max-width:684px){.v .vwrap .vheader .vinput{padding:10px 5px;}.v .vcards .vcard .vimg{width:2.5rem;height:2.5rem}.v .vwrap .vmark .valert{padding-top:5.5rem}.v .vwrap .vmark .valert .vtext{padding:1rem 0}}
@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
@keyframes pulse{50%{background:#dcdcdc}}
.v .vloading{position:fixed;padding:20px;bottom:1rem;right:1rem;}
.v .vloading:before{box-sizing:border-box;content:"";position:absolute;display:inline-block;width:25px;height:25px;border:2px solid #42b983;border-top-color:transparent;border-bottom-color:transparent;border-radius:50%;animation:spin 1s infinite linear}
.v .vwrap .vedit .vctrl span.vpreview-btn,.v .vrow .vcol.vcol-30,.v .vcards .vcard .vhead .vsys,.v .vh .vh .vtime{display:none;}
.v .vwrap .vemojis {display: none;font-size: 18px;text-align: justify;max-height: 145px;overflow: auto;padding-bottom: 10px;-webkit-box-shadow: 0 0 1px #f0f0f0;box-shadow: 0 0 1px #f0f0f0;}
.v .vwrap .vemojis i {font-style: normal;padding-top: 7px;width:42px;cursor: pointer;text-align: center;display: inline-block;vertical-align: middle;}
.v .emoji,.v .vemoji{max-height:32px;vertical-align: middle;margin: 0 1px;display: inline-block;}
.v .vcontent .vemoji{max-height:26px;}
textarea[id='veditor']::placeholder{color:#b3b3b3;font-size:15px;text-align:center;line-height:3rem;}
.dark-theme .v .vwrap{border:1px solid #4a4b50;}
.dark-theme .v .vwrap .vheader .vinput{border-top:1px solid #4a4b50}
.dark-theme .v .vwrap input{color:#dcdcdc;background:#292a2d}
.dark-theme .v .veditor{color:#fff;}
.dark-theme .v .vbtn{color:#dcdcdc;background:#4a4b50;}
.dark-theme .v .vcards .vcard .vcontent.expand:before{background:linear-gradient(180deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.1))}
.dark-theme .v .vcards .vcard .vcontent.expand:after{background:hsla(0,0%,6%,.86)}
.dark-theme .v .cancel-reply{fill:#4a4b50;}
.dark-theme .v .cancel-reply:hover{fill:#a9a9b3;}



.post-preview{max-width:780px;height:210px;margin:1em auto;position:relative;display:flex;background:#fff;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.25),0 0 1px rgba(0,0,0,.25);}.post-preview--meta{width:75%;padding:25px;overflow:hidden;}.post-preview--middle {line-height:28px;}.post-preview--title {font-size:18px;margin:0!important;}.post-preview--title a{text-decoration:none;}.post-preview--date{font-size:14px;color:#999;}.post-preview--excerpt{font-size:14px;line-height:1.825;}.post-preview--excerpt p{margin-bottom:0;}  .post-preview--image {height:210px!important;width:auto;float:right;border-top-right-radius: 2px!important;border-bottom-right-radius:2px!important;border-top-left-radius:0!important;border-bottom-left-radius:0!important;}
@media (max-width:550px) {.post-preview {width:95%;}.post-preview--excerpt{display:none;}.post-preview--middle {line-height:19px;}}
.rating{display:block;line-height:15px;}.rating-star{display:inline-block;width:75px;height:15px;background-repeat:no-repeat;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAAClCAYAAAAUAAAYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA5xJREFUeNrs3T9rFEEcxvG7qEQIglaCICKkin9AUEtBKxU7wS61VlYivgWj70TtNFj5BqzE7qxEWwsxKIoYn4UtluFmbm8nczvzm+/BjxyuDwNzu3uXD0+46f7LC5PA45Hm+WTYw1x2LRDc0jzTXB+wqMlsaLPutz8fDFjYZHYauAz3NBvt83XNnyUWNpn1nVm3OsHmsb3EomazzZnVXKMPNcc0xzUnNKc0Rzv/77fms+Z7O3vt9b1eU7bZrNN68l5zcolX4ofmsuZXTdnmMvyi2dR86Bmcac62P6vKrnVubpc0bxYE32nOab45N8YqsvPeDfcD4SOav4HjprPuu+H5BTt9LXDMfNbdLPfT678Fx6vKupt1o/O8+R3pkOaJ5/iktqx7z/qp+aq5q/nY+fczmheaK03Gs7D5rLtZdzSvA6/Ebc2u55j57HQB0TzW7AzkjiKzny6+2hlKNE8juMNcFqKBaIZndRlCNBBNgmx7ZkE0fbLtZkE0EA1EM17WuQwhGogGooFoss6296y52cNO+J6HLJoPaFdbsvA9zGerIxrPh85eWYgGooFoDiQbuAxp0UA0EVmdWbRo+ma1WbRoIBqIZtzsnHdDWjQQDUQD0WSbde5ZS2UhmtqJJtSEiVkXooFoIJre2VATJmZdiKZ2ogk1YSb8oVMvDeUPnSAaiCaPJkzMuhANRAPRQDQpsqEmTMy6EI11oolpwkA0EA1EcyDZmCYMRAPR+LMxTZjqiCamCQPRQDQQzehNGIgGooFoIJpVZ2OaMBBN7USTqgkD0UA0EE3vbKomDERTO9GkasKYJJpUTRiIBqKBaEZvwkA0EA1EA9GkyKZqwkA01olmrCYMRAPRQDR9LkO+0QmiKbAJUyTRjNWEgWggGohm9CYMRAPRQDQQzZDsWE0YiMYC0eTYhIFoIJrKiCbHJgxEY4FocmzCZEs0OTZhIBqIpjKiybEJA9FANBANROPL5tiEgWhKIJoSmzAQDURjjGhKbMJANCUQTYlNmNGIpsQmDEQD0RgjmhKbMBANRAPR1Es0JTZhIJpciMZaEwaigWgKJBprTRiIJheisdaESUo01powEA1EUyDRWGvCQDQQDURjm2isNWEgmlURzWw2q4pZIBqIJkOiCVyGJpkFolkV0ejMMvel28mIRptl7ku3IRqIpjCimfNuaJpZIBqIBqIpm2ice5Z5ZonJupvVkMRu4JW4qXnrOWY++1+AAQBw9BJSCTeN9wAAAABJRU5ErkJggg==);overflow:hidden;}.allstar10{background-position:0px 0px;}.allstar9{background-position:0px -15px;}.allstar8{background-position:0px -30px;}.allstar7{background-position:0px -45px;}.allstar6{background-position:0px -60px;}.allstar5{background-position:0px -75px;}.allstar4{background-position:0px -90px;}.allstar3{background-position:0px -105px;}.allstar2{background-position:0px -120px;}.allstar1{background-position:0px -135px;}.allstar0{background-position:0px -150px;}.rating-average{color:#777;display:inline-block;font-size:13px;margin-left:10px;}