html, body
{
	height: 100%;
	scroll-padding-top: 3.5rem;
}

body
{
	display: flex;
	flex-direction: column;
	padding-top: 3rem;
}

body > header
{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 5;
}

body > main
{
	flex: 1 0 auto;
}

body > footer
{
	flex-shrink: 0;
}

body > header,
body > header *
{
	white-space: nowrap;
}

a
{
	text-decoration: none !important;
}

article div > section
{
	margin-top: 4rem;
}

article div > section > section
{
	margin-bottom: 2.25rem;
}

a.poxy-external
{
	font-weight: normal;
}
pre.m-code a,
pre.m-console a
{
	font-weight: inherit !important;
	color: inherit !important;
}
pre.m-code a:hover,
pre.m-console a:hover
{
	text-decoration: underline !important;
}

/* nav bar */
nav .m-thin
{
	margin-left: 0.5em;
}
nav .github
{
	padding-left: 44px !important;
	background-image: url("poxy-github.svg");
	background-repeat: no-repeat;
	background-size: 25px 25px;
	background-position: -30px center;
	background-origin: content-box;
}
@media screen and (max-width: 576px)
{
	nav .m-thin, nav .github
	{
		display: none;
	}
}

/* "Parameters", "Returns", subheadings inside description blocks, etc */
.m-doc-details div > h4,
.m-doc-details div > h5,
.m-doc-details div > h6,
.m-doc-details div > table.m-table th,
.m-doc-details div > table.m-table td > h3,
.m-doc-details div > table.m-table td > h4,
.m-doc-details div > table.m-table td > h5,
.m-doc-details div > table.m-table td > h6,
.m-doc-details div > table.m-table td > strong > em,
.m-doc-details div > table.m-table td > p > strong > em
{
	font-style: normal;
}
.m-doc-details div > table.m-table td > strong > em,
.m-doc-details div > table.m-table td > p > strong > em
{
	display:block;
}
.m-doc-details div > table.m-table td > strong:not(:first-child) > em,
.m-doc-details div > table.m-table td > p:not(:first-child) > strong > em
{
	margin-top: 1.0rem;
}

/* github badges (index.html) */
.gh-badges
{
	padding-bottom: 0.25rem;
	margin-left: -0.9rem;
	margin-right: -0.9rem;
	margin-top: -0.5rem;
}
@media screen and (min-width: 992px)
{
	.gh-badges
	{
		display: flex;
		justify-content: space-between;
	}
	.gh-badges br
	{
		display: none;
	}
}
@media screen and (max-width: 992px)
{
	.gh-badges
	{
		text-align: center;
		line-height: 1.75rem;
	}
	.gh-badges a
	{
		margin-left: 0.2rem;
		margin-right: 0.2rem;
		margin-bottom: 0.4rem;
	}
}

/* page category subheading ("module" etc) */
h1 span.m-thin
{
	color: #747474;
}

/* banner on index page */
.main_page_banner
{
	margin-left: -1rem !important;
	margin-right: -1rem !important;
	margin-top: -1.75rem !important;
	max-width: calc(100% + 2rem) !important;
}

/* include <blah.h> */
.m-doc-details div h3
{
	overflow: auto;
}
h1 .m-doc-include,
h3 .m-doc-include
{
	float: right;
}
h1 .m-doc-include *,
h3 .m-doc-include *
{
	opacity: 1.0 !important;
}
h1 .m-doc-include .cp,
h3 .m-doc-include .cp
{
	color: #747474;
}

/* "Try this code on Compiler Explorer" */
.godbolt
{
	font-family: 'Source Sans Pro', sans-serif;
}
p.godbolt
{
	text-align: center;
	padding: 0.0rem;
	text-indent: 0.0rem;
	opacity: 0.5;
}
p.godbolt:hover
{
	opacity: 1.0;
}
a.godbolt
{
	padding: 0.5rem;
	display: inline-block;
}
pre > p.godbolt
{
  float: right;
}
@media screen and (max-width: 768px)
{
	.godbolt
	{
		display: none;
	}
}

/* figures with captions */
figure.m-figure > figcaption
{
	font-weight: initial !important;
	font-size: 1rem !important;
	text-align: center;
	margin-top: initial;
}
figure.m-figure::before
{
	border-style: none !important;
}

/* headers in blocks and notes (warnings, remarks, attention, etc.) */
.m-block > h3,
.m-block > h4,
.m-note > h3,
.m-note > h4
{
	font-size: 1em;
}

/* m-special (purple) */
.m-note.m-special,
table.m-table tr.m-special td,
table.m-table td.m-special,
table.m-table tr.m-special th,
table.m-table th.m-special
{
	background-color: #532f64;
	color: #ce97e8;
}
.m-note.m-special a,
.m-block.m-special a,
table.m-table tr.m-special td a,
table.m-table td.m-special a,
table.m-table tr.m-special th a,
table.m-table th.m-special a
{
	color: #a061bd;
}
.m-note.m-special a:hover,
.m-block.m-special a:hover,
table.m-table tr.m-special td a:hover,
table.m-table td.m-special a:hover,
table.m-table tr.m-special th a:hover,
table.m-table th.m-special a:hover,
.m-note.m-special a:focus,
.m-block.m-special a:focus,
table.m-table tr.m-special td a:focus,
table.m-table td.m-special a:focus,
table.m-table tr.m-special th a:focus,
table.m-table th.m-special a:focus,
.m-note.m-special a:active,
.m-block.m-special a:active,
table.m-table tr.m-special td a:active,
table.m-table td.m-special a:active,
table.m-table tr.m-special th a:active,
table.m-table th.m-special a:active
{
	color: #e4a8ff;
}
div.m-button.m-special a:hover,
div.m-button.m-special a:focus,
div.m-button.m-special a:active
{
	background-color: #e4a8ff;
}
.m-block.m-special h3,
.m-block.m-special h4,
.m-block.m-special h5,
.m-block.m-special h6,
.m-block.m-special h3 a,
.m-block.m-special h4 a,
.m-block.m-special h5 a,
.m-block.m-special h6 a,
.m-text.m-special,
.m-label.m-flat.m-special
{
    color: #b65ad7;
}
.m-block.m-special
{
    border-left-color: #b65ad7;
}
div.m-button.m-special a,
.m-label:not(.m-flat).m-special
{
    background-color: #b65ad7;
}

/* sub-headings that are the last thing in a block */
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child
{
	margin-bottom: 0.0rem;
}

/* images in detail sections */
.m-doc-details table img.m-image
{
	margin-left: inherit;
}

/* table of contents */
@media screen and (min-width: 1350px) and (min-height: 900px)
{
	.poxy-toc
	{
		position: fixed;
		top: 9rem;
		left: calc(50% + 430px);
		min-width: 200px;
		z-index: 5;
		margin: 0px 20px 0px 0px !important;
	}
	div.poxy-toc + section
	{
		margin-top: 2rem;
	}
}

/* ====================================================
  code blocks
==================================================== */

pre, code
{
	font-family: 'Consolas', 'Source Code Pro', monospace;
}

/* code blocks w/ output examples */
pre.m-code + pre.m-console
{
	margin-top: -1.0rem;
	font-size: 0.8rem;
	/* border-top: 1px solid #444444; */
}
pre.m-code + pre.m-console span
{
	color: #bababa; /* is yououou */
}

/* keywords */
.m-code .kt,
.m-code .k,
.m-code .nc
{
	font-weight: normal;
}

/* implementation detail blocks */
pre.poxy-impl,
code.poxy-impl
{
	padding: 0rem !important;
	margin: 0rem 0.2rem !important;
	font-weight: normal;
}
