main {
    max-width: 900px;
    word-wrap: break-word;
}

/* custom add-in to make tables prettier */
table {
    border-collapse: collapse;
    border-style: hidden;
    width: 100%;
}

/* applies to Table Data cells and Table Headings */
table td,th {
    padding-left: 5px;
    padding-right: 5px;
    border: 1px solid black;
}

/* disables table borders showing up in code blocks */
div.highlight td pre {
	border: 0px;
}

/* even spacing on tables in code blocks */
div.highlight td pre {
    margin: 0;
}

/* long lines in code blocks should be scrollable (and should not extend past the content) */
div.highlight table {
    display: block;
    width: auto;
    overflow: auto;
}

/* even top and bottom spacing for text */
p {
    margin-top: 10px;
    margin-bottom: 10px;
}

/* horizontal rule */
section hr {
    border-top: 2px solid #aaa;
}

/* decrease size of h2 (bootstrap default: 43px) */
h2 {
    font-size: 38px;
}

/* underline animation for blog title links */
h2 > a {
  position: relative;
  color: #337ab7;
  text-decoration: none;
}

h2 > a:hover {
  color: #337ab7;
}

h2 > a:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.4);
  visibility: hidden;
  transform: scaleX(0);
  transition: all 0.3s ease-in-out 0s;
}

h2 > a:hover:before {
  visibility: visible;
  transform: scaleX(1);
}

/* Header */

.global-header {
    background: #222 no-repeat center center;
    background-size: cover;
}

.header-text {
    position: relative;
    padding-bottom: 1px;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.1);
    color: rgba(255, 255, 255, 0.9);
}

.header-text .tag-line {
    margin: 10px auto;
    padding: 0 10px;
    max-width: 430px;
    color: rgba(255, 255, 255, 0.7);
    text-align: center;
    /* font-weight: 400; */
}

.header-text .sns-links {
    margin: 20px auto;
    text-align: center;
}

.header-text .sns-links a {
    display: inline-block;
    margin: 0 2px;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 15px;
    color: rgba(255, 255, 255, 0.6);
    text-decoration: none;
    font-size: 20px;
    line-height: 30px;
    transition: color,border-color 0.1s linear;
}

.header-text .sns-links a:hover {
    border-color: rgba(255, 255, 255, 1.0);
    color: rgba(255, 255, 255, 1.0);
}

.header-text h1 {
    margin: 0 auto;
    padding-top: 30px;
    text-align: center;
    font-weight: 200;
}

.header-text h1 a {
    color: rgba(255, 255, 255, 1.0);
    text-decoration: none;
}

a.btn-header {
    position: absolute;
    top: 20px;
    padding: 7px 16px;
    border: 1px solid rgba(255, 255, 255, 1.0);
    border-radius: 3px;
    background-color: rgba(0, 0, 0, 0.1);
    color: rgba(255, 255, 255, 1.0);
    text-decoration: none;
    font-weight: 300;
    font-size: 13px;
    transition: color,background-color 0.1s linear;
}

a.btn-header:hover {
    background-color: rgba(255, 255, 255, 1.0);
    color: rgba(0, 0, 0, 1.0);
}

a.btn-subscribe {
    right: 20px;
}

a.btn-back {
    left: 20px;
}

/* Footer */

.global-footer {
    margin-top: 10px;
    padding-top: 10px;
    max-width: 750px;
    height: 100px;
    border-top: 1px solid rgba(0, 0, 0, 0.2);
    color: rgba(0, 0, 0, 0.4);
}

.global-footer .sns-links {
    float: right;
}

.global-footer .sns-links a {
    display: inline-block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    font-size: 18px;
    border: 1px solid rgba(0, 0, 0, 0.4);
    color: rgba(0, 0, 0, 0.4);
    text-align: center;
    text-decoration: none;
    transition: color,border-color 0.1s linear;
}

.global-footer .sns-links a i {
    vertical-align: middle;
}

.global-footer .sns-links a:hover {
    border: 1px solid rgba(0, 0, 0, 0.8);
    color: rgba(0, 0, 0, 0.7);
}

/* Article */

.article-list h2 a {
    text-decoration: none;
    transition: color 0.1s linear;
}

.post-meta {
    margin: 5px 0;
}

.post-date {
    color: rgba(0, 0, 0, 0.4);
}

.post-tag a {
    padding: 0 10px;
    border: 1px solid rgba(0, 0, 0, 0.3);
    border-radius: 12px;
    color: rgba(0, 0, 0, 0.3);
    text-decoration: none;
    transition: color,border-color,background-color 0.1s linear;
}

.post-tag a:hover {
    background-color: rgba(0, 0, 0, 1.0);
    color: rgba(255, 255, 255, 1.0);
}

.not-found h1 {
    color: rgba(0, 0, 0, 0.2);
    font-weight: 200;
    font-size: 80px;
}

.not-found {
    text-align: center;
}

.author-info {
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    border-top: 1px solid rgba(0, 0, 0, 0.2);
}

.author-name {
    margin: 0 0 5px 0;
    font-size: 30px;
}

.author-bio {
    color: rgba(0, 0, 0, 0.5);
}

.author-avatar img {
    max-width: 100px;
    max-height: 100px;
    width: 100px;
    height: 100px;
    border-radius: 50px;
}

.author-contact {
    position: relative;
    display: inline-block;
    padding-top: 10px;
    height: 100px;
    text-align: center;
}

.author-contact a {
    display: inline-block;
    padding: 7px 16px;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 3px;
    color: rgba(0, 0, 0, 0.7);
    text-decoration: none;
    font-weight: 300;
    font-size: 13px;
    transition: background-color,border-color,color 0.1s linear;
}

.author-contact a:hover {
    border: 1px solid rgba(51, 122, 182, 1.0);
    background-color: rgba(51, 122, 183, 1.0);
    color: rgba(255, 255, 255, 1.0);
}

.related-content-box {
    border-top: 1px solid rgba(0, 0, 0, 0.2);
}

/* Pagination */

.pagination
{
	width: 100%;
	text-align: center;
}

.older-posts,.newer-posts
{
	display: inline!important;
	border: 1px solid #ddd;
	border-radius: 15px;
	text-decoration: none;
	transition: border .3s ease;
	padding: 5px 14px;
}

.page-number
{
	display: inline-block;
	min-width: 100px;
	padding: 2px 0;
}

.newer-posts
{
	float: left;
}

.older-posts
{
    float: right;
}

.older-posts:hover,.newer-posts:hover
{
	color: #889093;
	border-color: #98a0a4;
}

/* Override some of Bootstrap's styles */

pre {
    font-size: 14px;
}

pre code {
    overflow: auto;
    white-space: pre;
    word-wrap: normal;
}

.pager li>a {
    transition: background-color 0.1s linear;
}

blockquote {
     font-style:italic;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: "Source Sans Pro", "Kozuka Gothic Pr6N", Meiryo, sans-serif !important;
}

/* make sure images and videos are not too wide and give them a shadow
to clearly separate them from the rest of the page */
article section p img, article section figure img,
article section p video, article section figure video {
    max-width: 100%;
    height: auto;
    margin: 1em auto;
    /* add a little shadow to images to highlight them from the rest of the text */
    box-shadow: 0 0 3rem rgba(0,0,0,0.25);
}

/* center all figures */
article section figure {
    display: block;
    text-align: center;
    margin: 1em auto 1em;
}

/* make figure caption italic */
article section figcaption {
    font-style: italic;
    margin-bottom: -1em;
}

/* slighlty decrease inline code font-size,
 * because Source Code Pro is quite large */
p > code {
    font-size: 80%;
}

/* spoiler block with details/summary */
details {
  margin: 0 auto;
  background: #f4f4f4;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 10px;
  margin-bottom: 10px;
}

summary {
  cursor: pointer;
  padding: 5px;
  outline: none;
}

summary:hover {
  background: #e0e0e0;
}

summary::before {
  content: '▶';
  margin-right: 8px;
  transition: transform 0.2s;
}

details[open] summary::before {
  content: '▼';
  transform: rotate(90deg);
}

details[open] summary {
  margin-bottom: 10px;
  border-bottom: 1px solid #ddd;
}

details p {
  margin: 0;
  padding: 5px;
}
