body {
	font-family: 'Open Sans', sans-serif;
	padding: 20px;
	margin: 0;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%
}

@media (min-width: 992px) {
	body {
		padding: 35px 50px
	}
}

h2,
h3,
h4,
h5 {
	margin: 45px 0 25px
}

img {
	max-width: 100%
}

a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid #555
}

a.image {
	display: block;
	text-align: center;
	border: 0;
	border-radius: 5px;
	margin: 30px 0
}

div.centered {
	text-align: center
}

mark {
	background: #fffc76;
	padding: 0 5px
}

blockquote {
	border-left: 5px solid #ccc;
	margin: 40px 0;
	padding: 5px 30px;
	background: #eee
}

span[data-note] {
	font-size: 0.8em;
	background: #c1c1c1;
	color: #fff;
	font-weight: 700;
	display: inline-block;
	padding: 0 12px;
	vertical-align: middle;
	line-height: 18px;
	cursor: pointer;
	margin: 0 2px;
	transition: background 0.3s;
	-webkit-transition: background 0.3s;
	-webkit-user-select: none
}

span[data-note].open {
	background: #838383
}

@media (min-width: 768px) {
	span[data-note] {
		vertical-align: 1px
	}
}

@media (min-width: 992px) {
	span[data-note]:hover {
		background: #838383
	}
}

.note {
	background: #f8f8f8;
	border: 1px solid #ddd;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
	padding: 20px 20px 50px;
	position: fixed;
	bottom: 0;
	left: 0;
	transition-property: transform;
	transition-duration: 0.6s;
	transition-timing-function: ease;
	-webkit-transition-property: transform;
	-webkit-transition-duration: 0.6s;
	-webkit-transition-timing-function: ease;
	transform: translateY(calc( 100% + 8px));
	-webkit-transform: translateY(calc( 100% + 8px));
	font-size: 14px;
	line-height: 1.7em
}

.note.shown {
	transform: translateY(0);
	-webkit-transform: translateY(0)
}

@media (min-width: 768px) {
	.note {
		right: 40px;
		padding-bottom: 20px;
		max-width: 400px;
		left: auto;
		bottom: 40px;
		transition-property: opacity, transform;
		-webkit-transition-property: opacity, transform;
		transition-duration: 0.3s;
		-webkit-transition-duration: 0.3s;
		opacity: 0;
		transform: scale(0.1) translateZ(0);
		-webkit-transform: scale(0.1) translateZ(0)
	}
	.note.shown {
		transform: scale(1) translateZ(0);
		-webkit-transform: scale(1) translateZ(0);
		opacity: 1
	}
}

.logo {
	margin: 0 auto 35px;
	text-align: center;
	animation-duration: 0.7s;
	animation-fill-mode: both;
	animation-name: bounce;
	-webkit-animation-duration: 0.7s;
	-webkit-animation-fill-mode: both;
	-webkit-animation-name: bounce
}

.logo a.social {
	width: 70px;
	height: 70px;
	line-height: 70px;
	background: #ddd
}

.logo a.social#twitter:hover,
.logo a.social#twitter:focus {
	background: #3dcae2
}

.logo a.social#instagram:hover,
.logo a.social#instagram:focus {
	background: #af9007
}

.logo a.social#linkedin:hover,
.logo a.social#linkedin:focus {
	background: #0160a8
}

.logo a.social#github:hover,
.logo a.social#github:focus {
	background: #707070
}

.logo a.social:hover+.logo-prompt,
.logo a.social:focus+.logo-prompt {
	display: inline-block !important
}

.logo a.social img {
	margin-top: 5px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	width: 50px;
	height: 50px
}

.logo a {
	background: #ddd url("gravatar_wrapper.png");
	color: #000;
	text-decoration: none;
	font-weight: 700;
	height: 100px;
	width: 100px;
	font-size: 1.5em;
	border-radius: 100%;
	display: inline-block;
	text-align: center;
	line-height: 100px;
	border: 5px solid #fff;
	box-sizing: border-box
}

.logo a:hover,
.logo a:focus {
	background: #f14e32
}

.logo a:hover+.logo-prompt,
.logo a:focus+.logo-prompt {
	display: inline-block !important
}

.logo a .gravatar {
	margin-top: 5px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%
}

@media (max-width: 480px) {
	.logo a:hover+.logo-prompt,
	.logo a:focus+.logo-prompt {
		display: none !important
	}
}

.logo .logo-prompt {
	position: absolute;
	display: none;
	vertical-align: middle;
	padding: 5px;
	border-radius: 3px;
	background: #666;
	background: rgba(0, 0, 0, 0.5);
	margin-left: 15px;
	color: #fff;
	font-size: 0.8235em;
	text-align: center;
	line-height: 1.2;
	top: 25%;
	margin-top: -10px
}

.logo .logo-prompt:before {
	content: "";
	border-width: 5px 5px 5px 0;
	border-style: solid;
	border-color: transparent #666;
	border-color: transparent rgba(0, 0, 0, 0.5);
	position: absolute;
	top: 50%;
	left: -5px;
	margin-top: -5px
}

iframe {
	margin: 45px auto !important
}

ul,
ol {
	margin: 40px 0;
	padding-left: 50px
}

ul li,
ol li {
	word-wrap: break-word
}

ul img,
ol img {
	margin: 40px 0;
	border-radius: 5px
}

sup {
	vertical-align: top;
	position: relative;
	top: -0.5em;
	margin-left: 1px
}

time {
	color: #555
}

code,
pre {
	font-family: Consolas, Monaco, monospace, x
}

code {
	color: #f14e32;
	background: #eee;
	padding: 2px 6px;
	font-size: 13px
}

pre {
	display: block;
	margin-top: 0;
	margin-bottom: 1rem;
	font-size: 0.8rem;
	line-height: 1.4;
	white-space: pre;
	overflow-x: auto;
	background-color: #3f3f3f;
	border-radius: 15px;
	padding: 0.75rem
}

pre code {
	font-size: 10.5pt;
	color: inherit;
	background-color: transparent
}

table {
	width: 100%;
	table-layout: fixed;
	margin: 45px 0
}

table thead {
	background: #f2f2f2
}

table th {
	text-align: left;
	padding: 8px 10px;
	border-bottom: 15px solid #fff
}

table td {
	padding: 4px 0
}

iframe {
	width: 100%
}

article {
	max-width: 720px;
	margin: 0 auto
}

article .title {
	line-height: 1.4em;
	text-align: center
}

article .divider {
	background: #ddd;
	background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(#ccc), to(rgba(255, 255, 255, 0)));
	background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0), #ccc, rgba(255, 255, 255, 0));
	background: linear-gradient(to right, rgba(255, 255, 255, 0), #ccc, rgba(255, 255, 255, 0));
	height: 1px;
	margin: 2em 0
}

article .center {
	text-align: center;
	margin: 0 auto
}

article hr {
	border: 0;
	border-bottom: 1px solid #000;
	margin: 30px 0
}

article p {
	font-size: 1.0rem;
	line-height: 2.0em;
	letter-spacing: 0.04rem;
	word-wrap: break-word
}

article .footnote {
	border: 0
}

article .footnotes {
	margin: 40px 0;
	display: none
}

article .footnotes .reversefootnote {
	border: 0
}

.back {
	text-align: center
}

.back a {
	text-decoration: none;
	margin: 40px auto 0;
	display: inline-block;
	padding: 10px;
	border: 0
}

.back a:before {
	content: "«";
	margin-right: 5px;
	color: #000
}

section {
	max-width: 640px;
	margin: 0 auto
}

section ul {
	list-style: none;
	margin: 0;
	padding: 0
}

section ul li {
	margin: 25px 0
}

section ul li .title {
	max-width: 100%;
	overflow: hidden !important;
	word-wrap: normal !important
}

section ul li a {
	text-decoration: none;
	border: 0;
	color: #000;
	box-sizing: border-box
}

section ul li .post-date {
	float: right;
	margin: 0 0 0 20px
}

section ul li span {
	display: inline-block;
	color: #757575;
	letter-spacing: 1px;
	text-transform: uppercase
}

@media (min-width: 992px) {
	section ul li a {
		border-bottom: 2px solid transparent
	}
	section ul li a:hover {
		border-color: #000
	}
}

@keyframes bounce {
	0% {
		transform: translate3d(0, -1000px, 0)
	}
	60% {
		transform: translate3d(0, 25px, 0)
	}
	75% {
		transform: translate3d(0, -10px, 0)
	}
	90% {
		transform: translate3d(0, 5px, 0)
	}
	100% {
		transform: none
	}
}

@-webkit-keyframes bounce {
	0% {
		-webkit-transform: translate3d(0, -1000px, 0)
	}
	60% {
		-webkit-transform: translate3d(0, 25px, 0)
	}
	75% {
		-webkit-transform: translate3d(0, -10px, 0)
	}
	90% {
		-webkit-transform: translate3d(0, 5px, 0)
	}
	100% {
		-webkit-transform: none
	}
}

.highlight {
	margin: 40px 0
}

.highlight .c {
	color: #998;
	font-style: italic
}

.highlight .err {
	color: #a61717;
	background-color: #e3d2d2
}

.highlight .k {
	font-weight: bold
}

.highlight .o {
	font-weight: bold
}

.highlight .cm {
	color: #998;
	font-style: italic
}

.highlight .cp {
	color: #999;
	font-weight: bold
}

.highlight .c1 {
	color: #998;
	font-style: italic
}

.highlight .cs {
	color: #999;
	font-weight: bold;
	font-style: italic
}

.highlight .gd {
	color: #000;
	background-color: #fdd
}

.highlight .gd .x {
	color: #000;
	background-color: #faa
}

.highlight .ge {
	font-style: italic
}

.highlight .gr {
	color: #a00
}

.highlight .gh {
	color: #999
}

.highlight .gi {
	color: #000;
	background-color: #dfd
}

.highlight .gi .x {
	color: #000;
	background-color: #afa
}

.highlight .go {
	color: #888
}

.highlight .gp {
	color: #555
}

.highlight .gs {
	font-weight: bold
}

.highlight .gu {
	color: #aaa
}

.highlight .gt {
	color: #a00
}

.highlight .kc {
	font-weight: bold
}

.highlight .kd {
	font-weight: bold
}

.highlight .kp {
	font-weight: bold
}

.highlight .kr {
	font-weight: bold
}

.highlight .kt {
	color: #458;
	font-weight: bold
}

.highlight .m {
	color: #099
}

.highlight .s {
	color: #d14
}

.highlight .na {
	color: #008080
}

.highlight .nb {
	color: #0086b3
}

.highlight .nc {
	color: #458;
	font-weight: bold
}

.highlight .no {
	color: #008080
}

.highlight .ni {
	color: #800080
}

.highlight .ne {
	color: #900;
	font-weight: bold
}

.highlight .nf {
	color: #900;
	font-weight: bold
}

.highlight .nn {
	color: #555
}

.highlight .nt {
	color: #000080
}

.highlight .nv {
	color: #008080
}

.highlight .ow {
	font-weight: bold
}

.highlight .w {
	color: #bbb
}

.highlight .mf {
	color: #099
}

.highlight .mh {
	color: #099
}

.highlight .mi {
	color: #099
}

.highlight .mo {
	color: #099
}

.highlight .sb {
	color: #d14
}

.highlight .sc {
	color: #d14
}

.highlight .sd {
	color: #d14
}

.highlight .s2 {
	color: #d14
}

.highlight .se {
	color: #d14
}

.highlight .sh {
	color: #d14
}

.highlight .si {
	color: #d14
}

.highlight .sx {
	color: #d14
}

.highlight .sr {
	color: #009926
}

.highlight .s1 {
	color: #d14
}

.highlight .ss {
	color: #990073
}

.highlight .bp {
	color: #999
}

.highlight .vc {
	color: #008080
}

.highlight .vg {
	color: #008080
}

.highlight .vi {
	color: #008080
}

.highlight .il {
	color: #099
}