:root {

	--breakpoint-sm: 576px;
	--breakpoint-med: 768px;
	--breakpoint-lg: 992px;

	--header-logo-height-xs: 32px;
	--header-logo-height-sm: 34px;
	--header-logo-height-med: 35px;
	--header-logo-height-lg: 40px;

	--header-logo-pad-xs: 5px;
	--header-logo-pad-sm: 6px;
	--header-logo-pad-med: 7px;
	--header-logo-pad-lg: 10px;

	--dropdown-margin-xs: 3px;
	--dropdown-margin-sm: 3px;

	--dropdown-menu-left-xs: 2rem;
	--dropdown-menu-left-sm: 2rem;

	--dropdown-menu-pad-xs: 3px;
	--dropdown-menu-pad-sm: 3px;

	--header-bg-color-default: #445577;
	--dropdown-highlight-color: #9f4;
	--mobile-dropdown-btn-bg-color-default: #114;

	--normal-transit-dur: 0.25s;
	--snappy-transit-dur: 0.125s;
	--dropdown-transit-dur: 0.2s;

	/* Values that affect height of dropdown menus */

	--toc-cntnr-border-width: 1px;  /* same for all sizes */
	--toc-cntnr-ol-ol-li-fc-border-top-width: 1px; /* same for all sizes */
	--toc-cntnr-li-border-top-width: 1px; /* same for all sizes */
	--toc-cntnr-ol-li-border-top-width: 1px; /* same for all sizes */
	--toc-cntnr-ol-border-bottom-width: 1px;  /* same for all sizes */

	--toc-cntnr-h3-padding-xs: 0.125rem;
	--toc-cntnr-h3-font-size-xs: 115%;
	--toc-cntnr-h4-padding-bottom-xs: 0.1875rem;;
	--toc-cntnr-h4-font-size-xs: 95%;
	--toc-cntnr_ol_li-padding-top-xs: 0.1875rem;
	--toc-cntnr_ol_li-fich-padding-bottom-xs: 0.1875rem;/* var(--toc-cntnr_ol_li-padding-vert-xs); */
	--toc-cntnr_ol-ol-margin-top-xs: 0.1875rem;/* var(--toc-cntnr_ol_li-padding-top-xs); */
	--toc-cntnr_ol-ol-font-size-xs: 85%;
	--toc-cntnr_ol-ol_li-padding-vert-xs: 0.1rem;

	--toc-cntnr-h3-padding-sm: 0.125rem;
	--toc-cntnr-h3-font-size-sm: 115%;
	--toc-cntnr-h4-padding-bottom-sm: 0.1875rem;
	--toc-cntnr-h4-font-size-sm: 95%;
	--toc-cntnr_ol_li-padding-top-sm: 0.1875rem;
	--toc-cntnr_ol_li-fich-padding-bottom-sm: 0.1875rem; /* var(--toc-cntnr_ol_li-padding-vert-sm); */
	--toc-cntnr_ol-ol-margin-top-sm: 0.1875rem; /*var(--toc-cntnr_ol_li-padding-top-sm); */
	--toc-cntnr_ol-ol-font-size-sm: 85%;
	--toc-cntnr_ol-ol_li-padding-vert-sm: 0.1rem;

	--toc-cntnr-h4-padding-bottom-med: 0.25rem;
	--toc-cntnr-h4-font-size-med: 100%;
	--toc-cntnr_ol_li-padding-top-med: 0.25rem;
	--toc-cntnr_ol_li-fich-padding-bottom-med: 0.25rem;/* var(--toc-cntnr_ol_li-padding-vert-med); */
	--toc-cntnr_ol-ol-margin-top-med: 0.25rem;/* var(--toc-cntnr_ol_li-padding-top-med); */
	--toc-cntnr_ol-ol-font-size-med: 90%;
	--toc-cntnr_ol-ol_li-padding-vert-med: 0.125rem;

	--toc-cntnr-h4-padding-bottom-lg: 0.375rem;
	--toc-cntnr-h4-font-size-lg: 110%;
	--toc-cntnr_ol_li-padding-top-lg: 0.375rem;
	--toc-cntnr_ol_li-fich-padding-bottom-lg: 0.375rem;/* var(--toc-cntnr_ol_li-padding-top-lg); */
	--toc-cntnr_ol-ol-margin-top-lg: 0.375rem;/* var(--toc-cntnr_ol_li-padding-top-lg); */
	--toc-cntnr_ol-ol-font-size-lg: 95%;
	--toc-cntnr_ol-ol_li-padding-vert-lg: 0.15rem;

	/* Main section size-independent-variables */

	--main-content-background-color: #f5f5f5;
	--main-sxn-header-color-start: #9bd;
	--main-ssxn-header-color-start: #c4d1d9;

	/* Main section width and padding controls */

	--main-sxn-content-pad-left-xs: 0.5rem;
	--main-sxn-padding-margin-left-xs: 1rem;
	--main-ssxn-padding-margin-left-xs: 0.625rem;
	--main-content-width-xs: calc(100% - var(--main-sxn-content-pad-left-xs));

	--main-sxn-content-pad-left-sm: 0.5rem;
	--main-sxn-padding-margin-left-sm: 1rem;
	--main-ssxn-padding-margin-left-sm: 0.625rem;
	--main-content-width-sm: calc(100% - var(--main-sxn-content-pad-left-sm));

	--main-sxn-padding-margin-left-med: 1rem;
	--main-ssxn-padding-margin-left-med: 0.625rem;
	--main-content-width-med: 95%;

	--main-sxn-padding-margin-left-lg: 1.5rem;
	--main-ssxn-padding-margin-left-lg: 1rem;
	--main-content-width-lg: 90%;

	--main-content-width-xl: 80%;

}

html {
	scroll-behavior: smooth;
}
_::-webkit-full-page-media, _:future, :root html {
	scroll-behavior: none;
}
body {
	height: 100vh;
	width: 100%;
	background-color: #dde4ee;
}
header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: var(--header-bg-color-default);
	color: #ddd;
	height: auto;
	font-family: 'Quicksand', sans-serif;
}
#mobile-dropdown-btn {
	background-color: var(--mobile-dropdown-btn-bg-color-default);
	cursor: pointer;
	border-radius: 3px;
	margin-right: var(--dropdown-margin-xs);
	height: calc(var(--header-logo-height-xs) - 2 * var(--dropdown-margin-xs));
	width: calc(var(--header-logo-height-xs) - 2 * var(--dropdown-margin-xs));
	padding: 5px;
}
#dropdown-up {
	visibility: hidden;
}
.dropdown-svg-stroke {
	stroke-linejoin: round;
	stroke-linecap: round;
	fill: none;
}
#dropdown-up {
	stroke: #444;
	/*stroke: #bbb;*/
}
#dropdown-down {
	stroke: #bbb;
}
#header-title-div {
	flex: 1;
}
#return-home-div {
	height: 32px;
	padding: 5px;
}
#return-home-div img {
	height: 100%;
	transition: filter var(--normal-transit-dur) ease;
}
header h1 {
	font-size: 130%;
	margin: 0;
}
#page-container {
	position: relative;
	overflow: hidden;
	top: calc(var(--header-logo-height-xs) + 2 * var(--header-logo-pad-xs));
}
nav {
	position: fixed;
	box-sizing: border-box;
	left: calc(var(--main-ssxn-padding-margin-left-xs) + var(--main-sxn-padding-margin-left-xs));
	width: calc(100% - var(--main-ssxn-padding-margin-left-xs) - var(--main-sxn-padding-margin-left-xs));
	/*transition: left var(--normal-transit-dur) ease;*/
	top: calc(var(--header-logo-height-xs) + 2*var(--header-logo-pad-xs));
	overflow: hidden;
	z-index: 5;
	background-color: var(--dropdown-highlight-color);
}
#toc-panel {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	background-color: #aaa;
	overflow-y: auto;
	/*width: 20rem;*/
	height: 0; /* return to this one */
	max-height: calc(100vh - ( var(--header-logo-height-xs) + 2*var(--header-logo-pad-xs)) - 2 * var(--dropdown-menu-pad-xs));
	transition: padding var(--dropdown-transit-dur) ease;
}
#toc-container {
	flex: 1;
	border: var(--toc-cntnr-border-width) solid #777;
}
#toc-header-container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: #a2a2a2;
}
#toc-container h3 {
	margin: 0;
	color: #320;
	flex: 1;
	padding: var(--toc-cntnr-h3-padding-xs) 0;
	padding-left: 0.25rem;
	font-size: var(--toc-cntnr-h3-font-size-xs);
	white-space: nowrap;
}

#toc-header-svg-div {
	width: 25px;
	height: 25px;
	cursor: pointer;
	background-color: #444;
	border-radius: 4px;
	margin-right: 6px;
	display: none;
	transition: padding var(--snappy-transit-dur) ease;
}
#toc-header-svg-div svg polyline {
	stroke: #ddd;
	transition: stroke var(--snappy-transit-dur) ease;
}
#nav-panel-expand {
	position: fixed;
	z-index: 6;
	background-color: #444;
	cursor: pointer;
	height: auto;
	width: 1.25em;
	left: 0;
	transition: padding-left var(--snappy-transit-dur) ease,
				left var(--snappy-transit-dur) ease var(--snappy-transit-dur);
	display: none;
}
#nav-panel-expand span {
	writing-mode: vertical-rl;
	text-orientation: mixed;
	color: white;
	transition: color var(--snappy-transit-dur) ease;
}
#toc-container h4 {
	position: absolute;
	display: inline-block;
	white-space: nowrap;
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	padding-bottom: 0; /*var(--toc-cntnr-h4-padding-bottom-xs);*//* related styles 001 */
	font-size: var(--toc-cntnr-h4-font-size-xs);
	left: 1.75rem;
}
_::-webkit-full-page-media, _:future, :root #toc-container h4 {
	position: relative;
}
_::-webkit-full-page-media, _:future, :root #toc-container h4 > a {
	height: auto;
}
#toc-container h4 > a {
	color: #210;
	text-overflow: ellipsis;
}
.ssxn-exp-coll {
	cursor: pointer;
	padding: 0px;
	display: flex;
	position: absolute;
	top: 5px;
	right: 7px;
	width: 18px;
	height: 18px;
}
.ssxn-exp-coll svg {
	position: absolute;
}
#toc-container ol {
	padding-left: 0;
	list-style-type: decimal;
	list-style-position: inside;
	padding-right: 0;
	margin: 0;
	font-family: 'Red Hat Display', sans-serif;
	font-weight: bold;
}
#toc-container > ol {
	background-color: #bbb;
	border-bottom: var(--toc-cntnr-ol-border-bottom-width) solid #777;
}
#toc-container > ol:last-child {
	border-bottom: none;
}
#toc-container > ol > li:first-child {
	padding-bottom: var(--toc-cntnr_ol_li-fich-padding-bottom-xs); /* related styles 001 */
}
#toc-container > ol > li::marker {
}
#toc-container > ol > li {
	padding-top: var(--toc-cntnr_ol_li-padding-top-xs);  /* related styles 001 */
	padding-left: 0.1875rem;
	border-top: var(--toc-cntnr-ol-li-border-top-width) solid #777;
}
#toc-container > ol ol {
	list-style-type: none;
	overflow: hidden;
	margin-top: var(--toc-cntnr_ol-ol-margin-top-xs);/* related styles 001 */
	font-size: var(--toc-cntnr_ol-ol-font-size-xs);
	padding-left: 1rem;
	height: 0;
}
#toc-container > ol ol > li {
	position: relative;
	background-color: #d5d5d5;
	border-left: 1px solid #888;
	color: #544;
	padding: var(--toc-cntnr_ol-ol_li-padding-vert-xs) 0;
	padding-left: 0.25rem;
}
#toc-container > ol ol > li span {
	font-size: 88%;
}
#toc-container > ol ol > li a {
	position: absolute;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	color: #544;
	left: 1.625rem;
	max-width: ;
}/* REFERENCE
	#toc-container > ol ol > li a {
		max-width: calc(100% - 1.875rem); /* related styles 002 
	}*/

#toc-container > ol ol > li:first-child {
	border-top: var(--toc-cntnr-ol-ol-li-fc-border-top-width) solid #888;
}
#toc-container li {
	position: relative;
	border-top: var(--toc-cntnr-li-border-top-width) dotted #777;
}
#toc-container li a {
	text-decoration: none;
}
#main-sections-container {
	box-sizing: border-box;
	position: relative;
	height: auto;
	left: 0;
}
main h2 {
	display: inline-block;
	position: relative;
	margin: 0;
	margin-left: ;
	font-size: 115%;
	padding: 0.2rem 0;
	width: 100%;
}
main h3 {
	font-size: 105%;
	padding: 0.15rem 0;
	display: inline-block;
	margin: 0;
	margin-left: var(--main-sxn-content-pad-left-xs);
}
main h4 {
}
main {
	background-color: #ccc;
}
main p, .section-intro ol, .main-content ol, .intro-content ol,
.section-intro ul, .main-content ul, .intro-content ul {
	font-family: 'Varela', sans-serif;
	-webkit-hyphens: auto;
    -webkit-hyphenate-limit-before: 3;
    -webkit-hyphenate-limit-after: 3;
    -webkit-hyphenate-limit-chars: 6 3 3;
    -webkit-hyphenate-limit-lines: 2;
    -webkit-hyphenate-limit-last: always;
    -webkit-hyphenate-limit-zone: 8%;     
    -moz-hyphens: auto;
    -moz-hyphenate-limit-chars: 6 3 3;
    -moz-hyphenate-limit-lines: 2;
    -moz-hyphenate-limit-last: always;
    -moz-hyphenate-limit-zone: 8%;     
    -ms-hyphens: auto;
    -ms-hyphenate-limit-chars: 6 3 3;
    -ms-hyphenate-limit-lines: 2;
    -ms-hyphenate-limit-last: always;
    -ms-hyphenate-limit-zone: 8%;     
	hyphens: auto;
    hyphenate-limit-chars: 6 3 3;
    hyphenate-limit-lines: 2;
    hyphenate-limit-last: always;
    hyphenate-limit-zone: 8%;
	font-size: 92%;
}
main a.bg-ref {
	text-decoration: none;
	color: #90f;
}
main a.pglink {
	text-decoration: none;
	color: #03d;
}
main a.internal {
	text-decoration: none;
	color: #079;
}
a.term {
	text-decoration: none;
	color: #e07;
}
a.term.python {
}
main span.fname,  code.inline, a.term code.inline, code.shell {
	background-color: #ddd;
	font-family: 'Lucida Console', Monaco, monospace;
	font-size: 87%;
	padding: 0 0.25em;
	border-radius: 2px;
	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
}
code.inline, code.shell {
	white-space: pre-wrap;
}
code.shell {
	color: #097;
	font-weight: bold;
}
/*
code.inline {
	color: #f00;
}
*/
a.term code.inline {
	font-style: normal;
	font-weight: bold;
}
#main-sections-container > ol, 
#main-sections-container > ol > li > ol {
	margin: 0;
	padding: 0;
	list-style-position: inside;
}
#main-sections-container > ol {
	list-style-type: none;
}
#main-sections-container > ol > li:first-child {
	border-top: none;
}
.sxn-header-container {
	height: auto;
	display: flex;
	justify-content: center;
	align-items: center;
}
.sxn-header-content {
	height: auto;
	display: inline-block;
	width: 100%
}
.sxn-number {
	margin-left: 0.25em;
}
.sxn-title {
	margin-left: 0;
	position: absolute;
	left: calc(var(--main-sxn-padding-margin-left-xs) + var(--main-ssxn-padding-margin-left-xs) + var(--main-sxn-content-pad-left-xs));
}
.sxn-counter {
}
#main-sections-container > ol > li {
	position: relative;
	padding-left: 0;
	background: linear-gradient(to right, var(--main-sxn-header-color-start), var(--main-sxn-header-color-start) 25%, var(--main-content-background-color) 125%);
	border-top: 1px solid #8ac;
}
.anchor {
	display: block;
	position: absolute;
	visibility: hidden;
	top: calc(-1 * (var(--header-logo-height-xs) + 2 * var(--header-logo-pad-xs)));
}
.main-ssxns-container {
	padding-left: 0;
	height: auto;
	background: linear-gradient(var(--main-sxn-header-color-start), var(--main-content-background-color) 125%);/*#d0dfee*/
}
#main-sections-container > ol > li > ol {
	list-style-type: none;
	background: linear-gradient(var(--main-sxn-header-color-start), var(--main-content-background-color) 125%);/*#d0dfee*/
	transition: padding-left var(--normal-transit-dur) ease;
	padding-left: var(--main-sxn-padding-margin-left-sm);
}
#main-sections-container > ol > li ol > li:first-child {
	/*border-radius: 6px 0 0 0;*/
}
#main-sections-container > ol > li > ol > li {
	position: relative;
	background: linear-gradient(to right, var(--main-ssxn-header-color-start), var(--main-ssxn-header-color-start) 15%, var(--main-content-background-color) 125%);/*#eae2c0*/
}
.intro-block {
	background: linear-gradient(var(--main-sxn-header-color-start), var(--main-content-background-color) 125%);/*#eedfd0*//*#dde4ee*/
	transition: padding-left var(--normal-transit-dur) ease;
	padding-left: var(--main-sxn-padding-margin-left-xs);
	height: auto;
}
.intro-content-container {
	height: 100%;
	background-color: var(--main-content-background-color);
	border-radius: 6px 0 0 0;
}
.intro-content {
	height: auto;
	width: var(--main-content-width-xs);
}
.main-content-container {
	background: linear-gradient(var(--main-ssxn-header-color-start), var(--main-content-background-color) 125%);/*#e0d1c2*//*#c0efb0*//*#eedfd0*//*#dde4ee*/
	height: auto;
	padding-left: var(--main-ssxn-padding-margin-left-xs);
}
.section-intro-container {
	background: linear-gradient(to right, #dfebee, var(--main-content-background-color) 125%);
	transition: margin-left var(--normal-transit-dur) ease;
	margin-left: var(--main-sxn-padding-margin-left-xs);
}
.section-intro, .main-content, .intro-content {
	height: auto;
	width: var(--main-content-width-xs);
	padding: 1.125rem 0;
	padding-left: var(--main-sxn-content-pad-left-xs);
	padding-right: 0;
	list-style-position: outside;
}
.section-intro ol, .main-content ol, .intro-content ol,
.section-intro ul, .main-content ul, .intro-content ul {
	list-style-position: outside;
	max-width: 750px;
	padding: 0 2.5em;
	font-size: 92%;
}
.section-intro ul, .main-content ul, .intro-content ul {
	list-style-type: disc;
}
.ssxn-header-content {
	height: auto;
	width: 100%;
}
.ssxn-header-container {
	height: auto;
}
.ssxn-title {
	margin-left: 0.25em;
}
.ssxn-content-container, .section-intro-container {
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 6px 0 0 0;
	background-color: var(--main-content-background-color);
	height: auto;
}
.ssxn-content-container {
	padding-right: var(--main-ssxn-padding-margin-left-xs);
}		
.sxn-pad-buffer {
	height: auto;
	transition: padding-left var(--normal-transit-dur) ease;
	flex: 1;
	padding-left: 0;
}
.h2-buffer.ssxn-pad-buffer {
	padding-left: 0;
}
.ssxn-pad-buffer {
	height: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-left: var(--main-ssxn-padding-margin-left-xs);
	padding-right: var(--main-ssxn-padding-margin-left-xs);
	width: calc(100% - 2 * var(--main-ssxn-padding-margin-left-xs));
	/*flex: 1;*/
}
.section-intro, .main-content, .intro-content {
	padding-top: 1.5em;
	padding-bottom: 1.5em;
}
.main-content p, .section-intro p, .intro-content p,
.section-intro ol, .main-content ol, .intro-content ol,
.section-intro ul, .main-content ul, .intro-content ul {
	margin-top: 0;
	margin-bottom: 1em;
}
.main-content p:last-child, .section-intro p:last-child, .intro-content p:last-child {
	margin-bottom: 0;
}
.code-container {
	height: auto;
	overflow-y: auto;
	max-width: 750px;
	font-size: 95%;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}
h2, h3, h4 {
	font-family: 'Red Hat Display', sans-serif;
	font-weight: bold;
}
h3 {
	font-size: 125%;
}
footer {
	color: black;
	background-color: #aaa;
}
#footer-desktop-container {
	display: none;
}
#footer-desktop {
	display: none;
	bottom: 0;
	padding: 0 2em;
}
#footer-desktop span, #footer-mobile span {
	padding: 0.5em 0;
	flex: 1;
	text-align: center;
}
#footer-mobile span {
	padding: 1em 0;
}
#footer-mobile {
	padding: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 90%;
	color: white;
	background-color: #56a;
}
footer a {
	color: black;
}
@media (hover: hover) {
	main a:hover {
		text-decoration: underline;
	}
	#toc-header-svg-div:hover svg polyline {
		stroke: #f53;
	}
	#nav-panel-expand:hover {
		transition:  padding-left var(--snappy-transit-dur) ease,
					left var(--snappy-transit-dur) ease;
	}
	#nav-panel-expand:hover span {
		color: #f53;
	}
	.ssxn-exp-coll:hover line {
		stroke: #d42;
	}
	#toc-container a:hover {
		text-decoration: underline;
		color: #d02;
	}
	#toc-container > ol ol > li a:hover {
		color: #e42;
	}
}

@media (min-width: 576px) {
	#return-home-div {
		height: var(--header-logo-height-sm);
		padding: var(--header-logo-pad-sm);
	}
	#mobile-dropdown-btn {
		border-radius: 4px;
		margin-right: var(--dropdown-margin-sm);
		height: calc(var(--header-logo-height-sm) - 2 * var(--dropdown-margin-sm));
		width: calc(var(--header-logo-height-sm) - 2 * var(--dropdown-margin-sm));
		padding: 5px;
	}
	#page-container {
		top: calc(var(--header-logo-height-sm) + 2 * var(--header-logo-pad-sm));
	}
	nav {
		left: calc(var(--main-ssxn-padding-margin-left-sm) + var(--main-sxn-padding-margin-left-sm));
		width: calc(100% - var(--main-ssxn-padding-margin-left-sm) - var(--main-sxn-padding-margin-left-sm));
		top: calc(var(--header-logo-height-sm) + 2*var(--header-logo-pad-sm));
	}
	#toc-panel {
		max-height: calc(100vh - ( var(--header-logo-height-sm) + 2*var(--header-logo-pad-sm)) - 2 * var(--dropdown-menu-pad-sm));
	}
	#header-title-div {
		text-align: left;
		padding-left: 10px;
	}
	header h1 {
		font-size: 150%;
	}
	#toc-container h3 {
		padding: var(--toc-cntnr-h3-padding-sm) 0;
		font-size: var(--toc-cntnr-h3-font-size-sm);
		padding-left: 0.25rem;
	}
	#toc-container h4 {
		left: ;/* related styles 003 ind */
		max-width: ; /* related styles 003 - dependent */
		padding-bottom: var(--toc-cntnr-h4-padding-bottom-sm);/* related styles 001 */
		font-size: var(--toc-cntnr-h4-font-size-sm);
	}
	#toc-container > ol > li:first-child {
		padding-bottom: var(--toc-cntnr_ol_li-fich-padding-bottom-sm); /* related styles 001 */
	}
	#toc-container > ol > li {
		padding-top: var(--toc-cntnr_ol_li-padding-top-sm);  /* related styles 001 */
	}
	#toc-container > ol ol {
		margin-top: var(--toc-cntnr_ol-ol-margin-top-sm);/* related styles 001 */
		font-size: var(--toc-cntnr_ol-ol-font-size-sm);
	}
	#toc-container > ol ol > li {
		padding: var(--toc-cntnr_ol-ol_li-padding-vert-sm) 0;
		padding-left: 0.25rem;
	}

	/* Main Section */
	main h2 {
		font-size: 120%;
		padding: 0.2rem 0;
	}
	.sxn-header-content {
	}
	.sxn-title {
		left: calc(var(--main-sxn-padding-margin-left-sm) + var(--main-ssxn-padding-margin-left-sm) + var(--main-sxn-content-pad-left-sm));
	}
	main h3 {
		font-size: 105%;
		padding: 0.15rem 0;
	}
	main p, .section-intro ol, .main-content ol, .intro-content ol,
	.section-intro ul, .main-content ul, .intro-content ul {
		font-size: 94%;
	}
	.section-intro ol, .main-content ol, .intro-content ol,
	.section-intro ul, .main-content ul, .intro-content ul {
		padding: 0 3.5em;
	}
	.intro-block {
		padding-left: var(--main-sxn-padding-margin-left-sm);
	}
	.intro-content {
		width: var(--main-content-width-sm);
	}
	.section-intro-container {
		margin-left: var(--main-sxn-padding-margin-left-sm);
	}
	.sxn-pad-buffer {
	}
	.section-intro {
		width: var(--main-content-width-sm);
		padding: 1rem 0;
		padding-left: var(--main-sxn-content-pad-left-sm);
		padding-right: var(--main-sxn-content-pad-left-sm);
	}
	#main-sections-container > ol > li > ol {
		padding-left: var(--main-sxn-padding-margin-left-sm);
	}
	.anchor {
		top: calc(-1 * (var(--header-logo-height-sm) + 2 * var(--header-logo-pad-sm)));
	}
	.h2-buffer.ssxn-pad-buffer {
	}
	.ssxn-pad-buffer {
		padding-left: var(--main-ssxn-padding-margin-left-sm);
		padding-right: var(--main-ssxn-padding-margin-left-sm);
		width: calc(100% - 2 * var(--main-ssxn-padding-margin-left-sm));
	}
	.ssxn-header-content {
		width: 100%;
	}
	.main-content-container {
		padding-left: var(--main-ssxn-padding-margin-left-sm);
	}
	.ssxn-content-container {
		padding-right: var(--main-ssxn-padding-margin-left-sm);
	}
	.main-content {
		width: var(--main-content-width-sm);
	}
	.section-intro, .main-content, .intro-content {
		padding-top: 2em;
		padding-bottom: 2em;
	}
	.code-container {
		font-size: 100%;
	}
	@media (hover: hover) {
		#return-home-div img:hover {
			filter: sepia(1) saturate(5) brightness(0.5) hue-rotate(300deg);
		}
		footer a:hover {
			color: white;
		}
	}
}

@media (min-width: 768px) {
	#return-home-div {
		height: var(--header-logo-height-med);
		padding: var(--header-logo-pad-med);
	}
	#mobile-dropdown-btn {
		display: none;
	}
	header h1 {
		font-size: 200%;
	}
	#page-container {
		display: flex;
		overflow-y: auto;
		top: calc(var(--header-logo-height-med) + 2 * var(--header-logo-pad-med));
	}
	.ssxn-exp-coll .stroke-vert {
		visibility: hidden;
	}
	#footer-desktop-container {
		display: block;
	}
	#footer-desktop {
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 90%;
	}
	#footer-mobile-container {
		display: none;
	}
	#footer-mobile {
		display: none;
	}
	/* Page Contents Panel / Dropdown Variable Sizing */
	nav {
		left: 0;
		top: calc(var(--header-logo-height-med) + 2*var(--header-logo-pad-med));
		height: calc(100vh - ( var(--header-logo-height-med) + 2*var(--header-logo-pad-med) ));
		width: auto;
	}
	#toc-panel {
		height: calc(100vh - ( var(--header-logo-height-med) + 2*var(--header-logo-pad-med) ));
		max-height: none;
		border-right: 1px solid #666;
		width: 17rem;/* related styles 003 ind */
	}
	#toc-container {
		border: none;
	}
	#toc-container h3 {
		padding: 0.25rem 0;
		padding-left: 0.375rem;
		font-size: 125%;
	}
	#toc-header-svg-div {
		display: inline-block;
	}
	#nav-panel-expand {
		top: 100px;           /* return to this one */
		padding: 0.5em 0.25em;
		border-radius: 0px 10px 10px 0px;
		display: inline-block;
	}
	#toc-container h4 {
		left: 1.875rem;/* related styles 003 ind */
		padding-bottom: var(--toc-cntnr-h4-padding-bottom-med);/* related styles 001 */
		font-size: var(--toc-cntnr-h4-font-size-med);
		max-width: calc(17rem - 1.875rem - 3px - 18px - 1rem); /* related styles 003 - dependent */
	}
	_::-webkit-full-page-media, _:future, :root #toc-container h4 {
		left: 0.75rem;
		padding-bottom: 0;
	}
	.ssxn-exp-coll {
		top: 7px;
		right: 3px;
		width: 18px;
		height: 18px;
	}
	#toc-container > ol > li:first-child {
		padding-bottom: var(--toc-cntnr_ol_li-fich-padding-bottom-med); /* related styles 001 */
	}
	#toc-container > ol > li {
		padding-top: var(--toc-cntnr_ol_li-padding-top-med); /* related styles 001 */
		padding-left: 0.25rem;/* modified */ /* related styles 003 - dependent */
	}
	#toc-container > ol > li:last-child {
		border-bottom: var(--toc-cntnr-ol-li-border-top-width) solid #777;
	}
	#toc-container > ol ol {
		height: auto;
		margin-top: var(--toc-cntnr_ol-ol-margin-top-med); /* related styles 001 */
		font-size: var(--toc-cntnr_ol-ol-font-size-med);
		padding-left: 1.125rem;
	}
	_::-webkit-full-page-media, _:future, :root #toc-container > ol ol {
		margin-top: 5px;
	}
	#toc-container > ol ol > li {
		padding: var(--toc-cntnr_ol-ol_li-padding-vert-med) 0;
		padding-left: 0.35rem;
	}
	#toc-container > ol ol > li a {
		left: 1.875rem;
		max-width: calc(100% - 1.875rem); /* related styles 002 */
	}

	/* Main Section */
	main h2 {
		font-size: 130%;
		padding: 0.25rem 0;
	}
	.sxn-header-content {
		width: var(--main-content-width-med);
	}
	.sxn-number {
		margin-left: 0;
	}
	.sxn-title {
		margin-left: .25em;
		position: static;
		left: none;
	}
	main h3 {
		font-size: 110%;
		padding: 0.1875rem 0;
		margin-left: 0;
	}
	main span.fname {
		font-size: 90%;
	}
	.intro-block {
		padding-left: var(--main-sxn-padding-margin-left-med);
	}
	.section-intro-container {
		margin-left: var(--main-sxn-padding-margin-left-med);
	}
	.sxn-pad-buffer {
		padding-left: var(--main-sxn-padding-margin-left-med);
	}
	.section-intro {
		width: var(--main-content-width-med);
		padding: 1rem 0;
	}
	#main-sections-container > ol > li > ol {
		padding-left: var(--main-sxn-padding-margin-left-med);
	}
	.anchor {
		top: calc(-1 * (var(--header-logo-height-med) + 2 * var(--header-logo-pad-med)));
	}
	.h2-buffer.ssxn-pad-buffer {
		padding-left: var(--main-ssxn-padding-margin-left-med);
	}
	.ssxn-pad-buffer {
		padding-left: var(--main-ssxn-padding-margin-left-med);
		padding-right: var(--main-ssxn-padding-margin-left-med);
		width: calc(100% - 2 * var(--main-ssxn-padding-margin-left-med));
	}
	.ssxn-header-content {
		width: var(--main-content-width-med);
	}
	.main-content-container {
		padding-left: var(--main-ssxn-padding-margin-left-med);
	}
	.ssxn-content-container {
		padding-right: var(--main-ssxn-padding-margin-left-med);
	}
	.main-content, .intro-content {
		padding-left: 0;
		padding-right: 0;
		width: var(--main-content-width-med);
	}
	.section-intro, .main-content, .intro-content {
		padding-top: 2.5em;
		padding-bottom: 2.5em;
	}
	.code-container {
		font-size: 105%;
	}
	@media (hover: hover) {
		#nav-panel-expand:hover {
			padding-left: 0.75em;
		}
		#toc-header-svg-div:hover {
			padding-right: 5px;
		}
	}

}

@media (min-width: 992px) {
	#return-home-div {
		height: var(--header-logo-height-lg);
		padding: var(--header-logo-pad-lg);
	}
	#page-container {
		top: calc(var(--header-logo-height-lg) + 2 * var(--header-logo-pad-lg));
	}
	nav {
		top: calc(var(--header-logo-height-lg) + 2*var(--header-logo-pad-lg));
		height: calc(100vh - ( var(--header-logo-height-lg) + 2*var(--header-logo-pad-lg) ));
	}
	#toc-panel {
		height: calc(100vh - ( var(--header-logo-height-lg) + 2*var(--header-logo-pad-lg) ));
		width: 20rem;/* related styles 003 ind */
		transition: none;
	}
	#toc-container h3 {
		font-size: 150%;
		padding: 0.5rem 0;
		padding-left: 0.75rem;
	}
	#nav-panel-expand {
		top: 100px;/* return to this one */
		padding: 0.75em 0.25em;
	}
	#toc-container h4 {
		left: 2.5rem; /* related styles 003 ind */
		padding-bottom: var(--toc-cntnr-h4-padding-bottom-lg);
		font-size: var(--toc-cntnr-h4-font-size-lg);
		max-width: calc(20rem - 2.5rem - 4px - 18px - 1rem); /* related styles 003 - dependent */
	}
	_::-webkit-full-page-media, _:future, :root #toc-container h4 {
		left: 1.5rem;
		padding-bottom: 0;
	}
	.ssxn-exp-coll {
		top: 10px;
		right: 4px; /* related styles 003 ind */
		width: 18px; /* related styles 003 ind */
		height: 18px;
	}
	#toc-container > ol > li:first-child {
		padding-bottom: var(--toc-cntnr_ol_li-fich-padding-bottom-lg);
	}
	#toc-container > ol > li {
		padding-top: var(--toc-cntnr_ol_li-padding-top-lg);
	}
	#toc-container > ol ol {
		margin-top: var(--toc-cntnr_ol-ol-margin-top-lg);
		font-size: var(--toc-cntnr_ol-ol-font-size-lg);
		padding-left: 1.25rem;
	}
	#toc-container > ol ol > li {
		padding: var(--toc-cntnr_ol-ol_li-padding-vert-lg) 0;
		padding-left: 0.5rem;
	}
	#toc-container > ol ol > li a {
		left: 2rem;
		max-width: calc(100% - 2rem);
	}
	#toc-container li {
		padding-left: 0.75rem;
	}

	/* Main Section */
	main h2 {
		font-size: 150%;
		padding: 0.375rem 0;
	}
	.sxn-header-container {
	}
	.sxn-header-content {
		width: var(--main-content-width-lg);
	}
	main h3 {
		font-size: 125%;
		padding: 0.2rem 0;
	}
	main h4 {
		font-size: 110%;
		margin-top: 1.75em;
		margin-bottom: 1em;
	}
	main p, .section-intro ol, .main-content ol, .intro-content ol
	.section-intro ul, .main-content ul, .intro-content ul {
		font-size: 100%;
		text-align: justify;
	}
	.section-intro ol, .main-content ol, .intro-content ol,
	.section-intro ul, .main-content ul, .intro-content ul {
		text-align: left;
		position: relative;
		left: 50%;
		transform: translateX(-50%);
	}
	.ssxn-header-content {
		width: var(--main-content-width-lg);
	}
	.ssxn-title {
	}
	.intro-block {
		padding-left: var(--main-sxn-padding-margin-left-lg);
	}
	.intro-content {
		width: var(--main-content-width-lg);
	}
	.section-intro-container {
		margin-left: var(--main-sxn-padding-margin-left-lg);
	}
	.section-intro {
		width: var(--main-content-width-lg);
		padding: 1.25rem 0;
	}
	.sxn-pad-buffer {
		padding-left: var(--main-sxn-padding-margin-left-lg);
	}
	.h2-buffer.ssxn-pad-buffer {
		padding-left: var(--main-ssxn-padding-margin-left-lg);
	}
	.ssxn-pad-buffer {
		padding-left: var(--main-ssxn-padding-margin-left-lg);
		padding-right: var(--main-ssxn-padding-margin-left-lg);
		width: calc(100% - 2 * var(--main-ssxn-padding-margin-left-lg));
	}
	.main-content-container {
		padding-left: var(--main-ssxn-padding-margin-left-lg);
	}
	.ssxn-content-container {
		padding-right: var(--main-ssxn-padding-margin-left-lg);
	}
	.main-content {
		width: var(--main-content-width-lg);
	}
	.section-intro, .main-content, .intro-content {
		padding-top: 4em;
		padding-bottom: 4em;
	}
	#main-sections-container > ol > li {
		/*border-top: 1px solid #8ac;*/
	}
	.anchor {
		top: calc(-1 * (var(--header-logo-height-lg) + 2 * var(--header-logo-pad-lg)));
	}
	#main-sections-container > ol > li > ol {
		padding-left: var(--main-sxn-padding-margin-left-lg);
	}
	.code-container {
		font-size: 115%;
	}
	#footer-desktop {
		font-size: 100%;
	}
}

@media (min-width: 1200px) {
	.sxn-header-content, .section-intro, .intro-content, 
	.ssxn-header-content, .main-content
	 {
		width: var(--main-content-width-xl);
		max-width: 1000px;
	}
}


/* These styles modify the sytax highlighting provided by the highlight.js api */
pre {
	-moz-tab-size: 4;
	tab-size: 4;
}
code.lang-python.hljs, code.hljs {
	background-color: #dbdbdb;
	border-radius: 8px;
	border: 1px solid #999;
}
.language-python .hljs-class > span.hljs-title,
.lang-python .hljs-class > span.hljs-title,
.language-python .hljs-function > span.hljs-title,
.lang-python .hljs-function > span.hljs-title {
	color: #33d;
}
.language-python span.hljs-keyword,
.lang-python span.hljs-keyword {
	color: #d74;
}
.language-python span.hljs-string,
.lang-python span.hljs-string {
	color: #092;
}
.language-python span.hljs-comment,
.lang-python span.hljs-comment {
	color: #a00;
}
.language-python span.hljs-subst,
.lang-python span.hljs-subst {
	color: #90f;
	color: #86d;
}

/* Additional syntax highlighting-related styles */
span.django-template,
.lang-html span.django-template span.hljs-string {
	color: #060;
}

code.inline.hljs {
	border: none;
	border-radius: 2px;
	display: inline;
	color: none;
}
code.inline.lang-bash.hljs {
	color: #070;
}