/*
 * Solo - A small and beautiful blogging system written in Java.
 * Copyright (c) 2010-present, b3log.org
 *
 * 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/>.
 */
@charset "utf-8";
/*
 * skin finding style
 *
 * @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
 * @author <a href="http://88250.b3log.org">Liang Ding</a>
 * @version 2.5.0.1, Feb 9, 2020
 */
@import "../../../scss/toc";
@import "../../../scss/usite";
@import "vditor/src/assets/scss/index";

.user__site {
  float: left;
  margin-left: 10px;

  svg {
    height: 20px;
    width: 20px;
    fill: currentColor;
  }
}

/* start reset */
html {
  height: 100%;
  max-height: 100%;
  font-size: 62.5%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
  height: 100%;
  max-height: 100%;
  font-family: "Merriweather", "Microsoft Yahei", 'Helvetica';
  letter-spacing: 0.01rem;
  font-size: 1.8rem;
  line-height: 1.75em;
  color: #3A4145;
  -webkit-font-feature-settings: 'kern' 1;
  -moz-font-feature-settings: 'kern' 1;
  -o-font-feature-settings: 'kern' 1;
  text-rendering: geometricPrecision;
  margin: 0;
}

::-moz-selection {
  background: #D6EDFF;
}

::selection {
  background: #D6EDFF;
}

a {
  color: #4A4A4A;
  transition: color 0.3s ease;
}

a:hover {
  color: #111;
}

h1, h2, h3,
h4, h5, h6 {
  -webkit-font-feature-settings: 'dlig' 1, 'liga' 1, 'lnum' 1, 'kern' 1;
  -moz-font-feature-settings: 'dlig' 1, 'liga' 1, 'lnum' 1, 'kern' 1;
  -o-font-feature-settings: 'dlig' 1, 'liga' 1, 'lnum' 1, 'kern' 1;
  color: #2E2E2E;
  line-height: 1.15em;
  font-family: "Open Sans", "Microsoft Yahei", 'Helvetica';
  text-rendering: geometricPrecision;
}

h1 {
  font-size: 5rem;
}

h2 {
  font-size: 3.6rem;
}

h3 {
  font-size: 3rem;
}

h4 {
  font-size: 2.5rem;
}

h5 {
  font-size: 2rem;
}

h6 {
  font-size: 2rem;
}

img {
  max-width: 100%;
  height: auto;
}

p, ul, ol, dl {
  -webkit-font-feature-settings: 'liga' 1, 'onum' 1, 'kern' 1;
  -moz-font-feature-settings: 'liga' 1, 'onum' 1, 'kern' 1;
  -o-font-feature-settings: 'liga' 1, 'onum' 1, 'kern' 1;
  margin: 0 0 1.75em 0;
  text-rendering: geometricPrecision;
}

ol, ul {
  padding-left: 3rem;
}

ol ol, ul ul,
ul ol, ol ul {
  padding-left: 2em;
  margin-bottom: 0;
}

dl dt {
  float: left;
  width: 180px;
  overflow: hidden;
  clear: left;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 700;
  margin-bottom: 1em;
}

dl dd {
  margin-left: 200px;
  margin-bottom: 1em
}

li li {
  margin: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: #EFEFEF 1px solid;
  margin: 3.2em 0;
  padding: 0;
}

blockquote {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin: 1.75em 0 1.75em 0;
  padding: 0 0 0 1.75em;
  border-left: #4A4A4A 0.4em solid;
}

blockquote p {
  margin: 0.8em 0;
  font-style: italic;
}

blockquote small {
  display: inline-block;
  margin: 0.8em 0 0.8em 1.5em;
  font-size: 0.9em;
  color: #CCC;
}

blockquote small:before {
  content: "\2014 \00A0";
}

blockquote cite {
  font-weight: 700;
}

blockquote cite a {
  font-weight: normal;
}

mark {
  background-color: #fdffb6;
}

code, tt {
  padding: 1px 3px;
  font-family: Inconsolata, monospace, "Microsoft Yahei", 'Helvetica';
  font-size: 0.85em;
  white-space: pre-wrap;
  border: #E3EDF3 1px solid;
  background: #F7FAFB;
  border-radius: 2px;
}

pre code, pre tt {
  font-size: inherit;
  white-space: pre-wrap;
  background: transparent;
  border: none;
  padding: 0;
}

/* end reset */

/* start function */
.fn-clear:before,
.fn-clear:after {
  display: table;
  content: "";
}

.fn-clear:after {
  clear: both;
}

.fn-left {
  float: left;
}

.fn-right {
  float: right;
}

.fn-none {
  display: none;
}

.fn-vertical {
  display: table-cell;
  vertical-align: middle;
}

.fn-wrap {
  width: 80%;
  max-width: 768px;
  margin: 0 auto;
}

@-webkit-keyframes fade-in-down {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fade-in-down {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@-webkit-keyframes bounce {
  0%, 10%, 25%, 40%, 50% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  20% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
  30% {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
  }
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
  60% {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
  }
}

@-webkit-keyframes upbounce {
  0%, 10%, 25%, 40%, 50% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  20% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
  30% {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
  }
}

@keyframes upbounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
  60% {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
  }
}

/* end function */

/* start common */
@font-face {
  font-family: 'icomoon';
  src: url('fonts/icomoon.eot?hvf32e');
  src: url('fonts/icomoon.eot?hvf32e#iefix') format('embedded-opentype'),
  url('fonts/icomoon.ttf?hvf32e') format('truetype'),
  url('fonts/icomoon.woff?hvf32e') format('woff'),
  url('fonts/icomoon.svg?hvf32e#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-size: 2rem;
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-register:before {
  content: "\e600";
}

.icon-logout:before {
  content: "\e601";
}

.icon-setting:before {
  content: "\e602";
}

.icon-gotop:before {
  content: "\e60a";
}

.icon-twitter:before {
  content: "\e60b";
}

.icon-login:before {
  content: "\e611";
}

.icon-arrow-left:before {
  content: "\f605";
}

.icon-menu:before {
  line-height: 38px;
  content: "\f609";
  font-size: 20px;
}

.icon-wechat:before {
  content: "\e903";
}

.icon-sitemap:before {
  content: "\e900";
}

.icon-list:before {
  content: "\e901";
}

.avatar {
  border-radius: 100%;
  float: left;
  height: 24px;
  margin-right: 9px;
  width: 24px;
}

.avatar-warp {
  width: 10%;
  padding-right: 10px;
  box-sizing: border-box;
}

.avatar-48 {
  box-shadow: 0 0 2px #ddd;
  height: auto;
  width: 48px;
  margin-right: 10px;
  border-radius: 24px;
}

.form {
  width: 100%;
  margin-top: 50px;
}

.form input,
.form textarea,
.form button {
  border: 1px solid #CCCCCC;
  background-color: #FAFAFA;
  border-radius: 3px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075) inset;
  padding: 7px 8px;
  width: 100%;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  font-family: "Microsoft Yahei", 'Helvetica';
  outline: none;
}

.form button {
  width: auto;
  vertical-align: bottom;
}

.form input:focus,
.form textarea:focus {
  background-color: #FFF;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075) inset, 0 0 5px rgba(81, 167, 232, 0.5);
  border: 1px solid #51A7E8;
}

.error-msg {
  font-size: 1.5rem;
  color: #9EABB3;
}

.cmtFromSym {
  font-size: 1rem;
  color: #9EABB3;
}

/* end common */

/* start framework */
.main-header {
  position: relative;
  display: table;
  width: 100%;
  height: 100vh;
  margin-bottom: 5rem;
  text-align: center;
  background: #222 no-repeat center center;
  background-size: cover;
  overflow: hidden;
  background-image: url('../images/header-bg.jpg');
  min-height: 50vh;
}

.site-wrapper {
  position: relative;
  z-index: 10;
  min-height: 100%;
  background: #fff;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
}

.nav-opened .site-wrapper {
  overflow-x: hidden;
  margin-right: 240px;
  transition: margin 0.3s ease;
}

/* end framework */

/* start header */
.page-title a {
  -webkit-animation: fade-in-down 0.6s;
  animation: fade-in-down 0.6s;
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
  margin: 10px 0 10px 0;
  font-size: 5rem;
  letter-spacing: -1px;
  font-weight: 700;
  font-family: "Open Sans", "Microsoft Yahei", 'Helvetica';
  color: #fff;
  text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.9);
  text-decoration: none;
}

.page-description,
.page-description a {
  -webkit-animation: fade-in-down 0.9s;
  animation: fade-in-down 0.9s;
  -webkit-animation-delay: 0.1s;
  animation-delay: 0.1s;
  margin: 0;
  font-size: 2rem;
  line-height: 1.5em;
  font-weight: 400;
  letter-spacing: 0.01rem;
  color: rgba(255, 255, 255, 0.8);
}

.scroll-down {
  display: block;
  position: absolute;
  z-index: 100;
  bottom: 45px;
  left: 50%;
  margin-left: -16px;
  width: 34px;
  height: 34px;
  font-size: 34px;
  text-align: center;
  text-decoration: none;
  color: rgba(255, 255, 255, 0.7);
  -webkit-animation: bounce 4s 2s infinite;
  animation: bounce 4s 2s infinite;
}

.scroll-down:hover {
  color: #fff;
  -webkit-animation: none;
  animation: none;
}

.menu-button {
  position: fixed;
  box-sizing: border-box;
  display: inline-block;
  float: right;
  height: 38px;
  padding: 0 15px;
  opacity: 1;
  font-size: 12px;
  text-transform: uppercase;
  line-height: 46px;
  border-radius: 3px;
  transition: all 0.5s ease;
  right: 20px;
  top: 40px;
  text-decoration: none;
  font-family: 'Open Sans', "Microsoft Yahei", 'Helvetica';
  z-index: 30;
  overflow: hidden;
  background-color: #111;
  border: 1px solid #111;
  color: #fff;
  cursor: pointer;
}

.menu-button:hover {
  background: #fff;
}

.menu-button:focus {
  outline: 0;
}

.nav-closed .menu-button:hover {
  color: #222;
}

.nav-opened .menu-button {
  padding: 0 12px;
  background: #111;
  border-color: #111;
  color: #fff;
  -webkit-transform: translate3D(50px, 0, 0);
  -ms-transform: translate3D(50px, 0, 0);
  transform: translate3D(50px, 0, 0);
  transition: all 0.3s ease;
  right: 287px;
  z-index: 10;
  width: 46px;
  border-radius: 3px 0 0 3px;
}

.menu-button .word {
  float: right;
  margin: -4px 0 0 10px;
}

.nav {
  position: fixed;
  display: flex;
  flex-direction: column;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 5;
  width: 220px;
  padding: 10px 10px 0 10px;
  opacity: 0;
  background: #111;
  margin-bottom: 0;
  text-align: left;
  overflow-y: auto;
  color: #FFF;
  -webkit-transition: -webkit-transform 0.5s ease,
  opacity 0.3s ease 0.7s;
  transition: transform 0.5s ease,
  opacity 0.3s ease 0.7s;
  overflow-x: hidden;

  &::-webkit-scrollbar {
    display: none;
  }
}

.nav ul {
  flex: 1;
  margin: 0;
  padding: 0px 0 5%;
  list-style: none;
  counter-reset: item;
}

.nav li {
  height: 30px;
  line-height: 1.4rem;
}

.nav li:before {
  display: block;
  float: right;
  padding-right: 4%;
  padding-left: 5px;
  text-align: right;
  font-size: 1.2rem;
  vertical-align: bottom;
  color: #B8B8B8;
  content: counter(item, lower-roman);
  counter-increment: item;
  line-height: 2.5rem;
}

.nav a {
  color: #989898;
  text-decoration: none;
  line-height: 1.4;
  font-size: 1.4rem;
}

.nav a:hover,
.nav a.current {
  color: #FFF;
}

.nav li a {
  display: flex;
  padding: 0.6rem 4%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.nav li a:after {
  display: inline-block;
  content: " .......................................................";
  color: rgba(255, 255, 255, 0.2);
  margin-left: 5px;
}

.nav .count {
  font-size: 1rem;
  word-wrap: normal;
  word-break: break-all;
  white-space: nowrap;
}

.nav .page-icon {
  float: left;
  height: 14px;
  width: 14px;
  margin: 3px 4px 0 0;
}

body.nav-closed .nav {
  transform: translate3D(240px, 0, 0);
}

body.nav-opened .nav {
  opacity: 1;
  -webkit-transition: -webkit-transform 0.3s ease,
  opacity 0s ease 0s;
  transition: transform 0.3s ease,
  opacity 0s ease 0s;
  -webkit-transform: translate3D(0, 0, 0);
  -ms-transform: translate3D(0, 0, 0);
  transform: translate3D(0, 0, 0);
}

/* end header */

/* start article */
article.post {
  position: relative;
  margin: 4rem auto;
  padding-bottom: 4rem;
  border-bottom: #EBF2F6 1px solid;
  word-wrap: break-word;
  width: 80%;
}

.post-content--article {
  padding-bottom: 10px;

  &::-webkit-scrollbar {
    display: none;
  }
}

article.post:after {
  display: block;
  content: "";
  width: 7px;
  height: 7px;
  border: #E7EEF2 1px solid;
  position: absolute;
  bottom: -5px;
  left: 50%;
  margin-left: -5px;
  background: #FFF;
  border-radius: 100%;
  box-shadow: #FFF 0 0 0 5px;
}

.post-title a {
  text-decoration: none;
}

.post-tip {
  display: inline-block;
  text-transform: uppercase;
  font-size: 1.3rem;
  white-space: nowrap;
  color: #9EABB3;
  cursor: text;

  &:hover {
    color: #9EABB3;
  }

  &:visited {
    color: #fff;
  }
}

.post-excerpt p {
  margin: 0;
  font-size: 0.9em;
  line-height: 1.7em;
}

.post-meta {
  color: #9eabb3;
  font-family: "Open Sans", "Microsoft Yahei", 'Helvetica';
  font-size: 1.5rem;
  line-height: 2.2rem;
  margin: 1.75rem 0 0 0;
}

.post-meta a {
  color: #9EABB3;
  text-decoration: none;
}

.post-meta a:hover {
  text-decoration: underline;
}

.post-meta time {
  border-left: 1px solid #d5dbde;
  display: inline-block;
  font-size: 1.3rem;
  margin-left: 8px;
  padding-left: 12px;
  text-transform: uppercase;
  white-space: nowrap;
}

.post-author {
  box-sizing: border-box;
  display: block;
  position: absolute;
  bottom: -57px;
  left: 50%;
  margin-left: -40px;
  width: 80px;
  height: 80px;
  border-radius: 100%;
  overflow: hidden;
  padding: 6px;
  background: #fff;
  z-index: 2;
  box-shadow: #E7EEF2 0 0 0 1px;
}

.post-author a {
  background-size: cover;
  background-position: center center;
  width: 68px;
  height: 68px;
  display: block;
  border-radius: 35px;
}

.icon-google:before {
  content: "\e603";
}

.icon-gotop:before {
  content: "\E60A";
  font-weight: bold;
}

.icon-gotop {
  cursor: pointer;
  position: fixed;
  bottom: 30px;
  right: 30px;
  -webkit-animation: upbounce 4s 2s infinite;
  animation: upbounce 4s 2s infinite;
  text-decoration: none;
  z-index: 12;
}

.icon-gotop:hover {
  color: #B8B8B8;
  -webkit-animation: none;
  animation: none;
}

.pagination {
  font-family: "Open Sans", "Microsoft Yahei", 'Helvetica';
  font-size: 1.3rem;
  color: #9eabb3;
  text-align: center;
}

.pagination a {
  color: #9EABB3;
  transition: all 0.2s ease;
  padding: 0 15px;
  border: #bfc8cd 1px solid;
  text-decoration: none;
  display: inline-block;
  border-radius: 4px;
}

.pagination a:hover {
  border-color: #98a0a4;
  color: #889093;
}

ul.comments {
  padding: 0;
  list-style: none;
  margin-top: 100px;
  position: relative;
}

.comments li {
  padding: 10px;
  white-space: normal;
  word-wrap: break-word;
  position: relative;
  border-bottom: #EBF2F6 1px solid;
}

.comments li:hover {
  background-color: #F7F7F7;
}

.comments li img {
  vertical-align: sub;
}

.comments .comment-content {
  margin: 8px 0 0;
}

.comments li.comment-body-ref {
  position: absolute;
  z-index: 10;
  background-color: #EBF2F6;
  border: #d5dbde 1px solid;
  width: 86%;
  left: 69px;
}

.comments .post-meta {
  margin-top: 0;
}

#captcha,
#captchaReply {
  height: 27px;
  display: inline-block;
  vertical-align: inherit;
}

.read-next {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin-top: 10rem;
}

.read-next-story {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  min-width: 50%;
  text-decoration: none;
  position: relative;
  text-align: center;
  color: #fff;
  background: #222 no-repeat center center;
  background-size: cover;
  overflow: hidden;
}

.read-next-story a {
  color: #BBB;
}

.read-next-story a:hover {
  color: #FFF;
}

.read-next-story:hover:before {
  background: rgba(0, 0, 0, 0.8);
  transition: all 0.2s ease;
}

.read-next-story:hover .post:before {
  color: #222;
  background: #fff;
  transition: all 0.2s ease;
}

.read-next-story:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.7);
  transition: all 0.5s ease;
}

.read-next-story .post {
  padding-top: 6rem;
  padding-bottom: 6rem;
  width: 80%;
  position: relative;
  margin: 0 auto;
}

.read-next-story .post:before {
  content: "Read This Next";
  padding: 4px 10px 5px;
  text-transform: uppercase;
  font-size: 1.1rem;
  font-family: "Open Sans", "Microsoft Yahei", 'Helvetica';
  color: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 4px;
  transition: all 0.5s ease;
}

.read-next-story.prev .post:before {
  content: "Read This Before";
}

.read-next-story h2 {
  margin-top: 1rem;
  color: #fff;
}

.read-next-story p {
  margin: 0;
  color: rgba(255, 255, 255, 0.8);
}

.read-next + .site-footer {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0;
}


.article__share {
  margin-top: 10px;
  display: inline-block;
  position: relative;
  float: right;

  .item {
    cursor: pointer;
    display: inline-block;
    float: left;
    text-align: center;
    padding: 5px;
    box-sizing: border-box;
    color: #fdc200;
    transition: all .3s ease;
    opacity: .86;

    svg {
      fill: currentColor;
      height: 16px;
      width: 16px;
      float: left;
    }

    &[data-type="wechat"] {
      color: #3caf36;
    }

    &[data-type="twitter"] {
      color: #18a3fa;
    }

    &[data-type="weibo"] {
      color: #f93;
    }

    &:hover {
      transform: rotate(360deg);
      color: #9EABB3;
    }

    &__qr {
      position: absolute;
      top: 30px;
      left: 33px;
      height: 99px;
      width: 99px;
    }
  }
}

/* end article */

/* start tags */
#tags {
  padding: 0;
}

#tags li {
  list-style: none;
  float: left;
}

#tags li a {
  border: 1px solid #4A4A4A;
  display: inline-block;
  padding: 10px;
  margin: 1rem;
  border-radius: 5px;
  text-decoration: none;
}

#tags li a:hover {
  border: 1px solid #FFF;
  color: #FFF;
  background-color: #4A4A4A;
}

/* end tags */

/* start footer */
.site-footer {
  position: relative;
  margin: 8rem 0 0 0;
  padding: 1rem 15px;
  font-family: "Open Sans", "Microsoft Yahei", 'Helvetica';
  font-size: 1rem;
  line-height: 1.75em;
  color: #BBC7CC;
}

.site-footer a {
  color: #BBC7CC;
  font-weight: bold;
  text-decoration: none;
}

.site-footer a:hover {
  text-decoration: underline;
}

/* end footer */
@media only screen and (max-width: 900px) {

  blockquote {
    margin-left: 0;
  }

  .main-header {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    height: auto;
    min-height: 240px;
    height: 60vh;
    padding: 15% 0;
  }

  .scroll-down {
    display: none;
  }

  .page-title,
  .page-title a {
    font-size: 4rem;
    letter-spacing: -1px;
  }

  .page-description,
  .page-description a {
    font-size: 1.8rem;
    line-height: 1.5em;
  }

  .post {
    font-size: 0.95em
  }

  hr {
    margin: 2.4em 0;
  }

  ol, ul {
    padding-left: 2em;
  }

  h1 {
    font-size: 4.5rem;
  }

  h2 {
    font-size: 3.6rem;
  }

  h3 {
    font-size: 3.1rem;
  }

  h4 {
    font-size: 2.5rem;
  }

  h5 {
    font-size: 2.2rem;
  }

  h6 {
    font-size: 1.8rem;
  }

  .read-next {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 4rem;
  }
}

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

  .main-header {
    margin-bottom: 15px;
    height: 40vh;
  }

  .pagination {
    width: auto;
    margin: 2rem auto;
  }

  .post {
    width: auto;
    margin-top: 2rem;
    margin-bottom: 2rem;
    margin-left: 16px;
    margin-right: 16px;
    padding-bottom: 2rem;
    line-height: 1.65em;
  }

  hr {
    margin: 1.75em 0;
  }

  p, ul, ol, dl {
    font-size: 0.95em;
    margin: 0 0 2.5rem 0;
  }

  .page-title,
  .page-title a {
    font-size: 3rem;
  }

  .post-excerpt p {
    font-size: 0.85em;
  }

  .page-description,
  .page-description a {
    font-size: 1.6rem;
  }

  h1, h2, h3,
  h4, h5, h6 {
    margin: 0 0 0.3em 0;
  }

  h1 {
    font-size: 2.8rem;
    letter-spacing: -1px;
  }

  h2 {
    font-size: 2.4rem;
    letter-spacing: 0;
  }

  h3 {
    font-size: 2.1rem;
  }

  h4 {
    font-size: 1.9rem;
  }

  h5 {
    font-size: 1.8rem;
  }

  h6 {
    font-size: 1.8rem;
  }

  .post-content img {
    padding: 0;
    width: calc(100% + 32px); /* expand with to image + margins */
    min-width: 0;
    max-width: 112%; /* fallback when calc doesn't work */
  }

  .post-meta {
    font-size: 1.3rem;
    margin-top: 1rem;
  }

  .site-footer {
    margin-top: 3rem;
  }

  .read-next {
    margin-top: 2rem;
    margin-bottom: -37px;
  }

  .read-next .post {
    width: 100%;
  }

  .menu-button {
    border: 0;
    top: 0;
    right: 0;
  }

  .nav-opened .site-wrapper {
    margin-right: 0;
  }

  .nav {
    z-index: 11;
  }

  .nav-closed .menu-button:hover {
    color: #FFF;
    background-color: transparent;
  }

  .post-author {
    width: 40px;
    height: 40px;
    bottom: -37px;
    padding: 3px;
    margin-left: -20px;
  }

  .post-author a {
    width: 34px;
    height: 34px;
    display: block;
    border-radius: 17px;
  }

  .nav .count {
    line-height: 1.5rem;
  }

  #tags li a {
    padding: 0 5px;
  }
}
