/* vietnamese */
@font-face {
  font-family: 'Nunito Sans';
  font-style: italic;
  font-weight: 300;
  src: local('Nunito Sans Light Italic'), local('NunitoSans-LightItalic'), url(https://fonts.gstatic.com/s/nunitosans/v3/pe01MImSLYBIv1o4X1M8cce4G3JoY1wIUrt9w6fk2A.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Nunito Sans';
  font-style: italic;
  font-weight: 300;
  src: local('Nunito Sans Light Italic'), local('NunitoSans-LightItalic'), url(https://fonts.gstatic.com/s/nunitosans/v3/pe01MImSLYBIv1o4X1M8cce4G3JoY10IUrt9w6fk2A.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Nunito Sans';
  font-style: italic;
  font-weight: 300;
  src: local('Nunito Sans Light Italic'), local('NunitoSans-LightItalic'), url(https://fonts.gstatic.com/s/nunitosans/v3/pe01MImSLYBIv1o4X1M8cce4G3JoY1MIUrt9w6c.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Nunito Sans';
  font-style: italic;
  font-weight: 700;
  src: local('Nunito Sans Bold Italic'), local('NunitoSans-BoldItalic'), url(https://fonts.gstatic.com/s/nunitosans/v3/pe01MImSLYBIv1o4X1M8cce4G2JvY1wIUrt9w6fk2A.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Nunito Sans';
  font-style: italic;
  font-weight: 700;
  src: local('Nunito Sans Bold Italic'), local('NunitoSans-BoldItalic'), url(https://fonts.gstatic.com/s/nunitosans/v3/pe01MImSLYBIv1o4X1M8cce4G2JvY10IUrt9w6fk2A.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Nunito Sans';
  font-style: italic;
  font-weight: 700;
  src: local('Nunito Sans Bold Italic'), local('NunitoSans-BoldItalic'), url(https://fonts.gstatic.com/s/nunitosans/v3/pe01MImSLYBIv1o4X1M8cce4G2JvY1MIUrt9w6c.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 300;
  src: local('Nunito Sans Light'), local('NunitoSans-Light'), url(https://fonts.gstatic.com/s/nunitosans/v3/pe03MImSLYBIv1o4X1M8cc8WAc5iU1ECVZl_86Y.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 300;
  src: local('Nunito Sans Light'), local('NunitoSans-Light'), url(https://fonts.gstatic.com/s/nunitosans/v3/pe03MImSLYBIv1o4X1M8cc8WAc5jU1ECVZl_86Y.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 300;
  src: local('Nunito Sans Light'), local('NunitoSans-Light'), url(https://fonts.gstatic.com/s/nunitosans/v3/pe03MImSLYBIv1o4X1M8cc8WAc5tU1ECVZl_.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 400;
  src: local('Nunito Sans Regular'), local('NunitoSans-Regular'), url(https://fonts.gstatic.com/s/nunitosans/v3/pe0qMImSLYBIv1o4X1M8cceyI9tAcVwob5A.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 400;
  src: local('Nunito Sans Regular'), local('NunitoSans-Regular'), url(https://fonts.gstatic.com/s/nunitosans/v3/pe0qMImSLYBIv1o4X1M8ccezI9tAcVwob5A.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 400;
  src: local('Nunito Sans Regular'), local('NunitoSans-Regular'), url(https://fonts.gstatic.com/s/nunitosans/v3/pe0qMImSLYBIv1o4X1M8cce9I9tAcVwo.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 700;
  src: local('Nunito Sans Bold'), local('NunitoSans-Bold'), url(https://fonts.gstatic.com/s/nunitosans/v3/pe03MImSLYBIv1o4X1M8cc8GBs5iU1ECVZl_86Y.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 700;
  src: local('Nunito Sans Bold'), local('NunitoSans-Bold'), url(https://fonts.gstatic.com/s/nunitosans/v3/pe03MImSLYBIv1o4X1M8cc8GBs5jU1ECVZl_86Y.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 700;
  src: local('Nunito Sans Bold'), local('NunitoSans-Bold'), url(https://fonts.gstatic.com/s/nunitosans/v3/pe03MImSLYBIv1o4X1M8cc8GBs5tU1ECVZl_.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 900;
  src: local('Nunito Sans Black'), local('NunitoSans-Black'), url(https://fonts.gstatic.com/s/nunitosans/v3/pe03MImSLYBIv1o4X1M8cc8-BM5iU1ECVZl_86Y.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 900;
  src: local('Nunito Sans Black'), local('NunitoSans-Black'), url(https://fonts.gstatic.com/s/nunitosans/v3/pe03MImSLYBIv1o4X1M8cc8-BM5jU1ECVZl_86Y.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 900;
  src: local('Nunito Sans Black'), local('NunitoSans-Black'), url(https://fonts.gstatic.com/s/nunitosans/v3/pe03MImSLYBIv1o4X1M8cc8-BM5tU1ECVZl_.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
body {
  font-family: 'Nunito Sans', sans-serif;
  padding: 0;
  margin: 0;
  font-size: 15px;
  color: #353852;
}
a {
  color: inherit;
  transition: color 0.2s ease-in-out;
}
h1, h2, h3, h4, h5, h6 {
  color: #625682;
  font-weight: 900;
}
h2 {
  font-size: 32px;
}
h3 {
  font-size: 20px;
}
h3 em, h2 em, h1 em {
  font-weight: 900;
  font-style: normal;
}
.container {
  max-width: 650px;
  padding: 0 18px;
  margin: 0 auto;
}
hr {
  background: none;
  border: none;
  border-bottom: 1px solid #ddd;
  width: 150px;
  margin: 50px auto;
}
.logo-span {
  color: #9C9FBF;
  font-weight: 700;
}
.logo-span span {
  color: #2E2F5D;
}
.blog-header p {
  margin: 10px 0 18px 0;
  font-size: 16px;
  color: #888;
}
.site-title {
  color: #333;
  font-size: 18px;
  margin: 0;
  text-decoration: none;
}
.blog-header {
  /* max-width: 390px; */
  margin: 30px auto;
  /* text-align: center; */
  border-bottom: 1px solid #eee;
}
.post-content {
  /* margin: 0 auto; */
  font-size: 18px;
  font-weight: 300;
}
.post-content .post-title {
  font-size: 48px;
  margin-bottom: 10px;
}
@media (max-width: 800px) {
  .post-content .post-title {
    font-size: 36px;
  }
}
.post-content .post-date {
  font-size: 18px;
  color: #aaa;
  margin-bottom :0;
}
.post-content header {
  margin-bottom: 20px;
}
.post-content .language-selector {
  margin: 10px 0 0 0;
  padding: 0;
  list-style: none;
}
.post-content .language-selector > li {
  display: inline-block;
}
.post-content .language-selector > li a {
  cursor: pointer;
  display: inline-block;
  font-size: 17px;
  border: 1px solid #eee;
  border-radius: 5px;
  padding: 2px 30px;
  text-decoration: none;
}
.post-content .language-selector > li:not(:first-child) a {
  margin-left: 15px;
}
.post-content .language-selector > li.selected-lang a {
  color: #ccc;
}
p {
  line-height: 1.6;
  margin: 0 0 30px 0;
}
.post-content img {
  max-width: 100%;
  margin: 0 0 20px 0;
}
.post-content .post-main-image {
  max-height: 150px;
  margin: 0 0 20px 60px;
  float: right;
}
@media (max-width: 650px) {
  .post-content .post-main-image {
    max-height: 150px;
    margin: 10px 0 30px 0;
    display: block;
    float: none;
  }
}
.youtube-container {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  margin-bottom: 35px;
}
.youtube-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.list-blog {
  /* text-align: center; */
  margin-top: 20px;
  margin-bottom: 30px;
}
.list-blog .blog-links {
  max-width: 800px;
  margin: 0 auto;
}
.list-blog .blog-links > a {
  display: block;
  margin: 25px 0;
  padding: 18px 20px;
  text-decoration: none;
  border-left: 3px solid #F6F5F7;
  border-top: 3px solid white;
  box-shadow: 2px 2px 0 #F6F5F7;
  border-radius: 5px;
  transition: border-left-color 0.25s ease-in-out, box-shadow 0.25s ease-in-out, transform 0.25s ease-in-out;
}
.list-blog .blog-links > a > strong {
  font-size: 20px;
  color: #645682;
}
.list-blog .blog-links > a > p.date {
  font-size: 15px;
  margin-top: 5px;
  margin-bottom: 0;
  color: #777;
}
.list-blog .blog-links > a > .excerpt {
  font-size: 16px;
  margin: 15px 0;
  color: rgb(51, 71, 91);
}
.list-blog .blog-links > a > .read-more {
  font-weight: 700;
  font-size: 15px;
  margin: 0;
  color: #645682;
}
.list-blog .blog-links > a:hover, .list-blog .blog-links > a:focus {
  box-shadow: 14px 10px 0 rgba(0, 0, 0, 0.05);
  transform: translateY(-2px);
  border-left-color: #625682;
}

.footer {
  text-align: center;
  margin-top: 40px;
}
.footer .home-link {
  display: inline-block;
  font-size: 20px;
  cursor: pointer;
  background-color: #625682;
  color: white;
  padding: 8px 15px;
  text-align: center;
  text-decoration: none;
  border-radius: 5px;
  border: none;
  font-weight: 600;
  padding: 10px 25px;
  text-transform: uppercase;
  text-shadow: 1px 2px rgba(0, 0, 0, 0.1);
  letter-spacing: 0.6px;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.15);
  background: linear-gradient( 0deg, #60648D, #625682);
  transition: border-left-color 0.25s ease-in-out, box-shadow 0.25s ease-in-out, transform 0.25s ease-in-out;
}
.footer .home-link:hover, .footer .home-link:focus {
  box-shadow: 14px 10px 0 rgba(0, 0, 0, 0.05);
  transform: translateY(-2px);
}
.footer .home-link * {
  color: white;
}
.footer .copyright {
  font-size: 12px;
  margin-top: 20px;
  color: #ccc;
}
.post-content p {
  text-align: justify;
}
.post-content strong {
  font-weight: 700;
  font-size: 19px;
}
.post-content p, .post-content li, .post-content table {
  line-height: 1.8;
  color: #444;
  color: rgb(51, 71, 91);
}
.post-content-zh p, .post-content-zh li, .post-content-zh table {
  font-family: 'Merriweather', 'Nunito Sans', sans-serif;
}
.post-content ul, .post-content ol, .post-content code, .post-content table {
  margin: 0 0 30px 0;
}
.post-content li {
  margin-bottom: 10px;
}
.post-content a {
  color: #625682;
  font-weight: bold;
}
.post-content a:hover {
  color: #9388B0;
}
.post-content .highlighter-rouge code {
  font-size: 16px;
}
.post-content code {
  background: #eee;
  padding: 15px 20px;
  display: inline-block;
  border-radius: 5px;
  line-height: 1.5;
}
.post-content p code, .post-content li code, .post-content table code {
  background: #eee;
  padding: 0 5px;
  margin: 0 2px;
  display: inline-block;
  border-radius: 2px;
}
.post-content li ul, .post-content li ol {
  margin-top: 5px;
}
.post-content table th, .post-content table td {
  text-align: left;
  min-width: 180px;
  padding: 5px 0;
  padding-left: 10px;
}
.post-content table th:first-child, .post-content table td:first-child {
  padding-left: 0;
}
.post-content .list-with-two-columns {
  column-count: 2;
}
.post-content blockquote {
  margin-left: 40px;
  position: relative;
  font-style: italic;
}
.post-content blockquote::before {
  position: absolute;
  display: block;
  left: -40px;
  top: -10px;
  content: '“';
  font-size: 50px;
  color: #aaa;
}

.post-content h2 {
  position: relative;
  margin-bottom: 25px;
}

.floating-table-of-contents {
  position: fixed;
  left: 20px;
  top: 30px;
  list-style: none;
  margin: 0;
  padding: 0;
  overflow-y: auto;
  max-height: 90vh;
}
.floating-table-of-contents li {
  padding-bottom: 8px;
  font-size: 12px;
}
.floating-table-of-contents li a {
  text-decoration: none;
  color: #aaa;
  font-family: 'Nunito Sans', sans-serif;
}
.floating-table-of-contents li a:hover {
  color: #2E2F5D;
}
.floating-table-of-contents-hider {
  position: absolute;
  top: 0;
  left: 0;
  height: 2200px;
  width: 255px;
  content: '';
  background: linear-gradient(180deg, white 95%, rgba(255, 255, 255, 0));
  pointer-events: none;
}

@media (max-width: 1200px) {
  .floating-table-of-contents, .floating-table-of-contents-hider {
    display: none;
  }
}
@media (max-height: 630px) {
  .floating-table-of-contents, .floating-table-of-contents-hider {
    display: none;
  }
}
