/* Overall look-and-feel */
body { margin:1em; font-family: serif; color: #333333; background: #ffffff; line-height: 130%; }
p { margin: 0em; }
p + p, p + table, table + p, table + table, details + p { margin-top: 1ex; }
a { color: #0088cc; text-decoration: none; }
a:hover, a:focus { color: #005580; text-decoration: underline; }

/* override the common "fixed with is smaller" defaults of browsers */
body,code,pre,tt { font-size:12pt; }


/* extras to help floats work properly */
.container:after { clear:both; }
.container:before, .container:after { display: table; content: ""; line-height: 0; }

/* Header and footer */
.navbar { overflow: visible; }
.navbar-static-top { position:static; margin:-1em; margin-bottom:1em; }
.navbar .nav > li { float: left; padding: 0ex 1ex; list-style: none; }
.doc-title { font-size:133%; color: #777777; text-shadow:0ex 0.125ex 0ex #ffffff; padding: 1ex 2ex; text-indent: -1em; margin-left:1em; }
.doc-title, ul.nav { display: block; }
ul.nav { padding: 1ex; margin: 0em; }
.navbar .container { display: flex; flex-wrap: wrap; align-items: bottom; }
.navbar-inner { box-shadow: 0 0.0625ex 0.5ex rgba(0,0,0,.1); background-image: linear-gradient(to bottom, #ffffff, #f2f2f2); padding: 1ex; }
footer { text-align: center; box-shadow: 0 0.0625ex 0.5ex rgba(0,0,0,.1); background-image: linear-gradient(to top, #ffffff, #f2f2f2); padding: 1ex; margin:-1em; margin-top:1em}



/* TOC on side if enough space, else above 
.row { display: flex; flex-wrap: wrap; align-items: flex-start; }
#TOC { flex: 1 0 15em; margin: 1em; }
#TOC + div { flex:10 1 40em; margin: 1em; }
.row > div:only-child { flex: 1 1 auto; margin: 1em; }
*/

/* Cap width. TOC floats if wide, not if not. */
.row { display: table; margin: auto; max-width:60em; }
@media (min-width:40em) {
    #TOC {
	float:right;
	border-left: solid white 1em;
        border-bottom: solid white 1em;
        border-bottom-left-radius: 1em;
	margin: 0em 0 1em 1em;
	max-width: 50%;
    }
}

details .nav-header:after { content: " ⏵"; }
details[open] .nav-header:after { content: " ⏷"; }

details.fileview { display: inline-block; border: thin solid #aaa; }
details.fileview[open] { display: block; border: none; margin-left:1em; }


/* TOC styles */
.well { background: #F6F6F6; border: 0.125ex solid #e3e3e3; min-height: 1em; border-radius: 0.5ex; box-shadow: inset 0 0.0625ex 0.125ex rgba(0,0,0,0.25); }
.toc ul  { padding: 0em; margin: 0em; list-style: none; }
.toc ul > li > a { padding: 0.25ex 1ex;  display:block; text-indent: -2em; padding-left: calc(2em + 1ex); line-height:125%; }
.toc ul > li > a:hover, .toc ul > li > a:focus { background-color: #eeeeee; text-decoration: none; }
.nav-header { padding: 0.5ex 1ex;  display:block; color: #999999; text-transform: uppercase; font-weight: bold; text-shadow:0ex 0.125ex 0ex rgba(255,255,255,0.5); font-size: 79.43%; }


/* Header styles */
.header-section-number, .toc-section-number { opacity: 0.5; }
.header-section-number:after, .toc-section-number:after { content: ". "; }
h1 { font-size: 135%; border-top: 0.125ex solid #999999; padding: 1ex 0ex; margin: 0ex;  }
h1:nth-child(n+2) { margin-top: 1ex; }
h2 { font-size: 120%; 
    border-top: 0.0625ex solid #999999;
    border-image: linear-gradient(to right, #999f, #9990) 1 / 0.0625ex 0 0 0;
}
h3 { font-size: 112%; }
h4 { font-size: 106%; }
h5 { font-size: 100%; }
h6 { font-size: 100%; }

/* Table styles */
thead > th { font-weight: bold; }
tr.odd { background-color: rgba(0,0,0,0.04); }
table { border: 0.0625ex solid rgba(0,0,0,0.125); border-collapse: collapse; max-width: 100%; }
td,th { padding: 0ex 1ex; }


/* Footnote styles */

.footnotes ol { padding-left: 1em; }
.footnotes li { margin: 0.5ex 0ex; font-size:95%; }

/* other */
dt { font-weight: bold; } 
dd { margin-left: 1em; }
dd + dt { margin-top: 1ex; }
.floater { float:right; max-width: 50%; text-align: right; }
pre { padding: 1ex; margin: 1ex 0ex; white-space: pre-wrap;  background: rgba(0,0,0,0.04); border: 0.125ex solid #e3e3e3; min-height: 1em; border-radius: 0.5ex; box-shadow: 0 0.0625ex 0.125ex rgba(0,0,0,0.25); }

/*blockquote { border-left: 0.5ex solid rgba(0,0,0,0.125); padding-left: 1.5ex; margin: 1ex 0ex; }*/
blockquote { border:1px solid rgba(0,0,0,0.125); padding:1ex; border-radius:1ex; background-color:rgba(0,0,0,0.04); margin:1em 4em; }
blockquote q:before { font-size:200%; content:"“"; line-height:50%; vertical-align: -0.1em;}
blockquote q:after { font-size:200%; content:"”"; line-height:50%; vertical-align: -0.1em; }
blockquote div { text-align: right; }

figure { max-width: 100%; display: table; margin: auto; padding: 1em; }
figcaption { text-align: center; font-style: italic; margin-top: 1ex; }
.floater img, figure img { max-width: 100%; }

pre,code { background: rgba(0,0,0,0.04); border: 0.125ex solid rgba(0,0,0,0.12); border-radius: 0.5ex; white-space: pre-wrap; hyphens:none; }
pre > code { border: none; background:none; }
pre { display:table; }

pre ins, code ins {
    background: rgba(255,255,255,1);
    text-decoration: none;
    border-radius: 0.5ex;
    border: 0.125ex solid rgba(0,0,0,0.12);
    padding: 0.25ex;
    box-shadow: inset 0 0.0625ex 0.125ex rgba(0,0,0,0.25);
}


/* Images */
img.face { height:14.2em; display:float; float:right; margin:1em; margin-right:0em; }

.demo {
	image-rendering: pixelated; 
	image-rendering: -moz-crisp-edges; 
	-ms-interpolation-mode: nearest-neighbor; 
	border:thin solid black; 
	background: repeating-linear-gradient(
		137.51deg,
		#eee,
		#ddd 1ex,
		#eee 2ex
	);
}
.demo2 {
	border:thin solid black; 
	background: repeating-linear-gradient(
		137.51deg,
		#eee,
		#ddd 1ex,
		#eee 2ex
	);
}
.floater {
	float:right; margin-left:1em; text-align:center; z-index:250;
}
.zoom {
	height:10em; float:right; margin-left:1em;
}
/* dt,h2,h3,h4,h5,h6 { clear:both; } */

.nav.pull-right { margin-left: auto; }


/* env.py inserted style */

.example {
    margin: 1em 0em 1em 0em;
    background: #e9fbe9;
    border-left: #99f solid 0.5ex;
    padding: 0.5em 1em;
}

.example blockquote {
    border: none;
    padding: none;
    background: inherit;
}

.example:not(.long):before, .example.long > :first-child:before {
    content: "Example \2014  ";
    font-style: italic;
    color: #005A9C;
}

.exercise {
    margin: 1em 0em 1em 0em;
    background: rgba(255,127,0,0.13333333);
    border-left: rgba(255,127,0,0.2666666) solid 0.5ex;
    padding: 0.5em 1em;
}

.exercise:not(.long):before, .exercise.long > :first-child:before {
    content: "Exercise \2014  ";
    font-style: italic;
    color: red;
}


.aside {
    margin: 1em 0em 1em 0em;
    background: rgba(0,0,0,0.0625);
    border-left: rgba(0,0,0,0.1225) solid 0.5ex;
    padding: 0.5em 1em;
}

.aside:not(.long):before, .aside.long > :first-child:before {
    content: "Aside \2014  ";
    font-style: italic;
}


.author + .author:before { content: " and " }
