.markdown .float-left { float: left; }
.markdown .float-right { float: right; }

.markdown .align-left { text-align: left; }
.markdown .align-right { text-align: right; }
.markdown .align-center { text-align: center; }
.markdown .align-justify { text-align: justify; }

.markdown h1 { font-size: 2.6em ; }
.markdown h2 { font-size: 2em ; }
.markdown h3 { font-size: 1.6em ; }
.markdown h4 { font-size: 1.25em ; }
.markdown h5 { font-size: 1em ; }
.markdown h6 { font-size: 0.8em ; }

.markdown h1 {
	margin: 2em 0 3em 0;
	text-align: center;
}

.markdown h2 ,
.markdown h3 {
	margin: 2em 0 1em 0;
	border-bottom: 1px solid #d9d9d9;
}

.markdown h4 ,
.markdown h5 ,
.markdown h6 {
	margin: 0.5em 0 0 0;
	text-decoration: underline;
}

.markdown blockquote {
	font-size: 1.1em;
	margin: 1em 0;
	padding: 0.25em 2em;
	border-radius: 0.5em;
	background-color: #e9ecfe;
}

.markdown blockquote cite {
	display: block;
	text-align: right;
	margin-right: 10%;
}

.markdown blockquote cite::before {
	content: "-- ";
}

.markdown p {
	line-height: 1.7;
	margin: 1em 0;
	text-align: justify;
}

.markdown pre {
	background-color: #eee;
	border: 1px solid #d9d9d9;
	border-radius: 3px;
	margin: 15px 0;
	padding: 6px 10px;
	line-height: 1.4;
}

.markdown code {
	background-color: #eee;
	border: 1px solid #d9d9d9;
	border-radius: 3px;
	margin: 0 2px;
	padding: 2px 4px;
	line-height: 1.7;
}

.markdown pre code {
	background-color: #eee;
	border: none;
	margin: 0;
	padding: 0;
}

.markdown mark {
}

.markdown a {
	color: #0366d6;
	text-decoration: none;
}

.markdown a:hover {
	text-decoration: underline;
}

.markdown a:active ,
.markdown a:hover {
	outline: 0 none;
}

/* Block media */

.markdown figure {
	display: table;
	margin: 10px auto;
	width: 1px;
	border-collapse: collapse;
}

.markdown figure.float {
	margin: 2px 2px 10px 2px;
	clear: both;
}

.markdown figure.float-left { margin-right: 20px; }
.markdown figure.float-right { margin-left: 20px; }

.markdown figure img {
	display: table-row;
	vertical-align: bottom;
}

.markdown figure figcaption {
	display: table-row;
	text-align: center;
	font-style: italic;
	color: #6a737d;
	background-color: #eee;
}

/* Sections and columns */

.markdown section {
	display: flex;
	clear: both;
}

.markdown div.column , .markdown column {
	flex: 1;
	padding: 0 10px;
	max-width: 100%;
	box-sizing: border-box;
}

.markdown div.column:nth-last-child(n+2) , .markdown column:nth-last-child(n+2) {
	border-right: 1px solid #c6cbd1;
}

/* Tables */

.markdown table {
	display: table;
	margin: 1.5em auto;
	max-width: 90%;
	width: auto;
	overflow: auto;
	border-spacing: 0;
	border-collapse: collapse;
}

.markdown table caption {
	caption-side: top;
	text-align: center;
	background-color: #ff8000;
	color: #fff;
	font-size: 1.1em;
	font-weight: bold;
	border: 1px solid #c6cbd1;
	padding: 6px 13px;
}

.markdown table thead tr {
	background-color: #fae8d6;
	border-top: 1px solid #c6cbd1;
	border-bottom: 2px solid #c6cbd1;
}

.markdown table tbody tr {
	background-color: #fff;
	border-top: 1px solid #c6cbd1;
}

.markdown table tbody tr:nth-child(2n) {
	background-color: #f6f8fa;
}

.markdown table th, .markdown table td {
	padding: 6px 13px;
	border: 1px solid #dfe2e5;
}

.markdown table th.vertical-separator, .markdown table td.vertical-separator {
	padding: 0;
	border-left: 3px solid #afb2b5;
	border-right: 3px solid #afb2b5;
	border-top: none;
	border-bottom: none;
}

.markdown table td img {
	max-width: 100%;
}

/* Lists and checkboxes */

.markdown ul ,
.markdown ol ,
.markdown dl {
	margin: 1em 0;
	padding: 0 40px;
}

.markdown li ul ,
.markdown li ol ,
.markdown li dl {
	margin: 0.5em 0;
}

.markdown ul li {
	line-height: 1.7;
	text-align: justify;
}

.markdown ul.todo-list {
	display: table;
	max-width: 50%;
	min-width: 10%;
	background-color: #f6f3c0;
	border-radius: 0.5em;
	padding-top: 0.6em;
	padding-bottom: 0.6em;
	padding-right: 2em;
	padding-left: 4em;		/* =~ 2 + 1 + ( 1.75 + 0.3 ) / 2 */
}

.markdown ul.todo-list li {
	text-indent: -1.6em;	/* = 1.75 - 0.3 / 2 */
	line-height: 1.2;
}

.markdown ul li.unchecked {
	list-style: none;
}

.markdown ul li.unchecked::before {
	content: '☐';
	font-size: 1.75em;
	position: relative;
	top: 0.15em;
	right: 0.3em;
}

.markdown ul li.checked {
	list-style: none;
}

.markdown ul li.checked::before {
	content: '☑';
	color: green;
	font-size: 1.75em;
	position: relative;
	top: 0.15em;
	right: 0.3em;
}

/* experiments */

/* print / pdf */

@media print {
	.markdown h1 {
		break-before: page;
		break-after: avoid-page;
		break-inside: avoid-page;
	}

	.markdown h2, .markdown h3, .markdown h4, .markdown h5, .markdown h6 {
		break-after: avoid-page;
		break-inside: avoid-page;
	}

	.markdown p {
		line-height: 1.5;
		break-inside: auto;
		widows: 3;
		orphans: 3;
	}

	.markdown blockquote { break-inside: avoid-page; }
	.markdown cite { break-inside: avoid-page; }
	.markdown blockquote cite { break-inside: avoid-page; }
	.markdown table { break-inside: avoid-page; }

	.markdown ul ,
	.markdown ol ,
	.markdown dl {
		break-before: avoid-page;
		break-inside: avoid-page;
	}

	.markdown ul li {
		line-height: 1.5;
		break-inside: avoid-page;
	}
}
