/* ===== Base ===== */
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
  font-family: 'Open Sans', Helvetica, sans-serif;
  background: #242424;
  color: #464646;
  line-height: 1.6;
}
a { color: #b24d40; text-decoration: none; border-bottom: 1px solid #deb7b2; }
a:hover { color: #8e3226; border-bottom-color: #c18881; }
img { max-width: 100%; height: auto; border: 0; }

/* ===== Layout ===== */
.page-wrapper {
  max-width: 960px;
  margin: 0 auto;
  background: #fff;
  min-height: 100vh;
}

/* ===== Header ===== */
#header-wrap {
  background: #A84A42 url(theme/rose.webp) no-repeat 50% 0 / cover;
  text-align: center;
  padding: 100px 20px;
}
#wsite-title {
  font-family: Georgia, Simhei, serif;
  font-size: 50px;
  font-weight: bold;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 5px;
  text-shadow: 0 1px 5px #000;
  word-break: break-word;
}
#wsite-title a {
  color: #fff;
  border: none;
}

/* ===== Blog Table ===== */
#blogTable {
  border: 0;
  width: 100%;
}

/* ===== Blog Post List ===== */
.blog-body { padding: 20px; }

.blog-post { margin-bottom: 10px; }

.blog-header { margin-bottom: 5px; }
.blog-title {
  font-size: 22px;
  font-weight: 600;
  color: #373737;
  letter-spacing: 1px;
  line-height: 1.2;
  padding: .5em 0 0.3em 0;
}
.blog-title a { color: #373737; border: none; }
.blog-title a:hover { color: #b24d40; }

.blog-date {
  color: #999;
  font-size: 13px;
  margin-bottom: 3px;
}
.blog-separator {
  border-bottom: 1px solid #e0e0e0;
  margin-bottom: 15px;
}

.blog-content { line-height: 1.8; }
.blog-content .paragraph {
  font-size: 13px;
  line-height: 180%;
  color: #464646;
  padding: .5em 0;
}
.blog-content .wsite-image { padding: 10px 0; text-align: left; }

.blog-read-more { margin: 10px 0; }
.blog-read-more a {
  color: #b24d40;
  border-bottom: 1px solid #deb7b2;
}
.blog-read-more a:hover {
  color: #8e3226;
  border-bottom-color: #c18881;
}

.blog-comments-bottom { margin-bottom: 5px; }
.blog-post-separator {
  border-bottom: 2px solid #ccc;
  margin: 20px 0;
}

/* ===== Sidebar ===== */
.blog-sidebar {
  width: 220px;
  padding: 20px 20px 20px 10px;
  vertical-align: top;
}
/* Sidebar nav links */
.sidebar-heading {
  font-size: 17px;
  font-weight: 600;
  color: #373737;
  letter-spacing: 1px;
  padding: .5em 0 0.3em 0;
}
.sidebar-nav { margin-bottom: 15px; }
.sidebar-nav a {
  display: block;
  padding: 5px 0;
  color: #b24d40;
  border-bottom: 1px solid #deb7b2;
}
.sidebar-nav a:hover {
  color: #8e3226;
  border-bottom-color: #c18881;
}

.blog-archives-title {
  font-size: 17px;
  font-weight: 600;
  color: #373737;
  letter-spacing: 1px;
  padding: .5em 0 0.8em 0;
}
.blog-archive-list {
  list-style: none;
  padding: 0;
}
.blog-archive-list li { margin-bottom: 5px; }
.blog-archive-list a {
  color: #b24d40;
  border-bottom: 1px solid #deb7b2;
}
.blog-archive-list a:hover {
  color: #8e3226;
  border-bottom-color: #c18881;
}

/* ===== Footer ===== */
#footer-wrap {
  background: #fff;
  padding: 20px;
}
#footer-wrap p {
  text-align: center;
  color: #999;
  font-size: 12px;
}

/* ===== Post Page ===== */
#main-wrap {
  padding: 20px;
}
#main-wrap .paragraph {
  font-size: 13px;
  line-height: 180%;
  color: #464646;
  padding: .5em 0;
}
#main-wrap .wsite-image { padding: 10px 0; }
#main-wrap h2 {
  font-size: 17px;
  padding: .5em 0 0.8em 0;
  letter-spacing: 1px;
  line-height: 1.2;
  font-weight: 600;
  color: #373737;
}

/* ===== Back link ===== */
#main-wrap a[href*="index.html"] {
  color: #b24d40;
  border-bottom: 1px solid #deb7b2;
}

/* ===== Responsive ===== */
@media (max-width: 767px) {
  .page-wrapper { max-width: 100%; }

  #header-wrap { padding: 60px 15px; }
  #wsite-title { font-size: 28px; letter-spacing: 2px; }

  #blogTable, #blogTable tbody, #blogTable tr { display: block; width: 100%; }
  #blogTable td { display: block; width: 100% !important; }
  .blog-sidebar { padding: 0 20px 20px; }

  .blog-body { padding: 15px; }
  .blog-title { font-size: 18px; }
  .blog-content .paragraph { font-size: 14px; }

  #main-wrap { padding: 15px; }

  .blog-sidebar { padding: 0 15px 15px; }
}

@media (max-width: 480px) {
  #header-wrap { padding: 40px 10px; }
  #wsite-title { font-size: 22px; letter-spacing: 1px; }
}
