@charset "utf-8";
*, *:before, *:after {
	box-sizing: border-box;
}

html, body {
	font-size: 16px;
	height: 100%;
}

body {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
	font-weight: 300;
	line-height: 1.6;
	margin: 0;
	padding: 0;
	color: #333;
}

.favicon {
    color: #FA9A08
}

a {
	color: #fc4445;
	text-decoration: none;
	cursor: pointer;
	border-bottom: 1px solid rgba(0, 124, 188, 0.25);
}

a:hover {
	border-bottom: 1px solid #fc4445;
}

a:visited {
	color: #fc4445;
}

b, strong {
	font-weight: 500;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 2rem 0;
	line-height: 1;
}
h1 {
	font-size: 24px;
}
h2 {
	font-size: 20px;
}
h3 {
	font-size: 18px;
}
img {
	max-width: 100%;
}
table {
	border-collapse: collapse;
	font-size: 0.9rem;
}
td, th {
	padding: 4px 16px 4px 4px;
}
th:last-child, td:last-child {
	padding-right: 4px;
}
tr:nth-child(even) {
	background-color: #eee;
}
th {
	background-color: #eec;
	text-align: left;
}
header {
	padding: 1rem;
	margin-bottom: 2rem;
}
header h3 {
	margin: 0;
}
main {
	min-height: calc(100vh - 14rem);
	display: flex;
	flex-grow: 1;
}
aside {
	width: 220px;
	margin-top: 1rem;
	margin-right: 5rem;
	margin-left: 1.5rem;
}
aside h3 {
	margin-bottom: 1rem;
}
aside ul {
	padding-left: 0;
	list-style: none;
	margin: 0.25rem 0 2rem 0;
}
aside .title {
	font-size: 1.25rem;
	font-weight: bold;
}
aside li {
	padding-top: 0.25rem;
	padding-bottom: 0.25rem;
}
aside li.active a {
	font-weight: bold;
	border-bottom: 1px solid #fc4445;
}
pre {
	margin: 1.5rem 0 2rem 0;
	padding: 1rem;
	border-radius: 8px;
	overflow-x: auto;
}
pre, code {
	font-family: Hack, Menlo, Consolas, monospace;
	font-size: 15px;
}
footer {
	margin: 4rem 1rem 1rem 1rem;
}
article {
	width: 100%;
	margin-right: 1rem;
}
article blockquote, article p, article li, article pre {
	max-width: 42rem;
}
article h1 {
	font-size: 36px;
}
article h2, article h3, article h4, article h5, article h6 {
	margin-top: 2rem;
	margin-bottom: 0;
}
article h3.section-title {
	margin-top: 0;
	margin-bottom: 8px;
}
article blockquote {
	border-left: 4px solid #fc4445;
	font-style: italic;
	margin: 2rem 0;
	padding: 0 1rem 0 2rem;
}

details {
	margin-bottom: 2rem;
}
.details {
	padding: 16px;
	background-color: #F0F0F0;
	border: 1px solid #CCC;
}

section ul {
	padding-left: 0;
	list-style: none;
}
section li {
	line-height: 0;
	margin-bottom: 2rem;
}
section.table-of-contents {
	margin-bottom: 2rem;
}
section.table-of-contents h3 {
	padding-bottom: 1rem;
}
section.table-of-contents a {
	border-bottom: none;
}
section.table-of-contents ul {
	padding-left: 1rem;
	list-style: circle;
}
section.table-of-contents ul > ul {
	padding-left: 2rem;
}
section.table-of-contents li {
	margin-bottom: 1.25rem;
}
input[type="checkbox"] {
	display: none;
}
#aside-button {
	position: absolute;
	right: -5000;
	top: -5000;
}
.dateinfo {
	margin-top: 2rem;
	font-size: 14px;
}
/* Responsive Menu */
@media (max-width: 720px) {
	header {
		margin-bottom: 3rem;
	}
	main {
		display: block;
		padding: 0 1rem;
	}
	aside h3 {
		display: none;
	}
	#aside-button {
		top: 1em;
		right: 2em;
		padding: 26px 11px;
		z-index: 5;
		cursor: pointer;
		user-select: none;
	}
	#aside-button span {
		height: 4px;
		width: 35px;
		border-radius: 2px;
		background-color: black;
		position: relative;
		display: block;
		transition: all 0.2s ease-in-out;
	}
	#aside-button span:before {
		top: -10px;
		visibility: visible;
	}
	#aside-button span:after {
		top: 10px;
	}
	#aside-button span:before, #aside-button span:after {
		height: 4px;
		width: 35px;
		border-radius: 2px;
		background-color: black;
		position: absolute;
		content: "";
		transition: all 0.2s ease-in-out;
	}
	#aside-button:hover span, #aside-button:hover span:before, #aside-button:hover span:after {
		background: #333332;
	}
	input[type="checkbox"]:checked ~ aside {
		visibility: visible;
	}
	input[type="checkbox"]:checked ~ #aside-button:hover span, input[type="checkbox"]:checked ~ #aside-button span {
		background: transparent;
	}
	input[type="checkbox"]:checked ~ #aside-button span:before {
		transform: rotate(45deg) translate(7px, 7px);
		opacity: 1;
	}
	input[type="checkbox"]:checked ~ #aside-button span:after {
		transform: rotate(-45deg) translate(7px, -7px);
	}
	aside {
		margin: 0 0 -1rem 0;
		padding: 2rem;
		background: #ec6451;
		visibility: hidden;
		height: 100vh;
		width: calc(100vw - 2rem);
		position: fixed;
		z-index: 2;
		overflow-y: scroll;
	}
	aside.active {
		visibility: visible;
	}
	aside ul {
		position: static;
		display: flex;
		align-items: start;
		flex-direction: column;
		text-align: center;
		height: 100vh;
		padding-left: 0;
		list-style-type: none;
	}
	aside ul li {
		padding: 1em;
	}
	aside ul li a {
		color: white;
		text-decoration: none;
		border-bottom: none;
	}
	aside ul li a:hover {
		color: #333332;
	}
	aside ul li a:visited {
		color: white;
	}
}

/* Utilities */
.mw-420 {
	max-width: 420px;
}
.smtext {
	font-size: 14px;
}

.mt-1 {
	margin-top: 1rem;
}


/* ------------------------------- */

.codehilite pre {
	background: #2d2d2d;
	border-radius: 4px;
	color: #cccccc;
	padding: 1rem;
}

.codehilite .hll { background-color: #515151 }
.codehilite .c { color: #999999 } /* Comment */
.codehilite .err { color: #f2777a } /* Error */
.codehilite .k { color: #cc99cc } /* Keyword */
.codehilite .l { color: #f99157 } /* Literal */
.codehilite .n { color: #cccccc } /* Name */
.codehilite .o { color: #66cccc } /* Operator */
.codehilite .p { color: #cccccc } /* Punctuation */
.codehilite .cm { color: #999999 } /* Comment.Multiline */
.codehilite .cp { color: #999999 } /* Comment.Preproc */
.codehilite .c1 { color: #999999 } /* Comment.Single */
.codehilite .cs { color: #999999 } /* Comment.Special */
.codehilite .gd { color: #f2777a } /* Generic.Deleted */
.codehilite .ge { font-style: italic } /* Generic.Emph */
.codehilite .gh { color: #cccccc; font-weight: bold } /* Generic.Heading */
.codehilite .gi { color: #99cc99 } /* Generic.Inserted */
.codehilite .gp { color: #999999; font-weight: bold } /* Generic.Prompt */
.codehilite .gs { font-weight: bold } /* Generic.Strong */
.codehilite .gu { color: #66cccc; font-weight: bold } /* Generic.Subheading */
.codehilite .kc { color: #cc99cc } /* Keyword.Constant */
.codehilite .kd { color: #cc99cc } /* Keyword.Declaration */
.codehilite .kn { color: #66cccc } /* Keyword.Namespace */
.codehilite .kp { color: #cc99cc } /* Keyword.Pseudo */
.codehilite .kr { color: #cc99cc } /* Keyword.Reserved */
.codehilite .kt { color: #ffcc66 } /* Keyword.Type */
.codehilite .ld { color: #99cc99 } /* Literal.Date */
.codehilite .m { color: #f99157 } /* Literal.Number */
.codehilite .s { color: #99cc99 } /* Literal.String */
.codehilite .na { color: #6699cc } /* Name.Attribute */
.codehilite .nb { color: #cccccc } /* Name.Builtin */
.codehilite .nc { color: #ffcc66 } /* Name.Class */
.codehilite .no { color: #f2777a } /* Name.Constant */
.codehilite .nd { color: #66cccc } /* Name.Decorator */
.codehilite .ni { color: #cccccc } /* Name.Entity */
.codehilite .ne { color: #f2777a } /* Name.Exception */
.codehilite .nf { color: #6699cc } /* Name.Function */
.codehilite .nl { color: #cccccc } /* Name.Label */
.codehilite .nn { color: #ffcc66 } /* Name.Namespace */
.codehilite .nx { color: #6699cc } /* Name.Other */
.codehilite .py { color: #cccccc } /* Name.Property */
.codehilite .nt { color: #66cccc } /* Name.Tag */
.codehilite .nv { color: #f2777a } /* Name.Variable */
.codehilite .ow { color: #66cccc } /* Operator.Word */
.codehilite .w { color: #cccccc } /* Text.Whitespace */
.codehilite .mf { color: #f99157 } /* Literal.Number.Float */
.codehilite .mh { color: #f99157 } /* Literal.Number.Hex */
.codehilite .mi { color: #f99157 } /* Literal.Number.Integer */
.codehilite .mo { color: #f99157 } /* Literal.Number.Oct */
.codehilite .sb { color: #99cc99 } /* Literal.String.Backtick */
.codehilite .sc { color: #cccccc } /* Literal.String.Char */
.codehilite .sd { color: #999999 } /* Literal.String.Doc */
.codehilite .s2 { color: #99cc99 } /* Literal.String.Double */
.codehilite .se { color: #f99157 } /* Literal.String.Escape */
.codehilite .sh { color: #99cc99 } /* Literal.String.Heredoc */
.codehilite .si { color: #f99157 } /* Literal.String.Interpol */
.codehilite .sx { color: #99cc99 } /* Literal.String.Other */
.codehilite .sr { color: #99cc99 } /* Literal.String.Regex */
.codehilite .s1 { color: #99cc99 } /* Literal.String.Single */
.codehilite .ss { color: #99cc99 } /* Literal.String.Symbol */
.codehilite .bp { color: #cccccc } /* Name.Builtin.Pseudo */
.codehilite .vc { color: #f2777a } /* Name.Variable.Class */
.codehilite .vg { color: #f2777a } /* Name.Variable.Global */
.codehilite .vi { color: #f2777a } /* Name.Variable.Instance */
.codehilite .il { color: #f99157 } /* Literal.Number.Integer.Long */
