/* Copyright 2007-2016 Perette Barella.  All rights reserved. */
/* @(#) $Id: m4master.css 167 2022-10-09 16:40:12Z perette $ */


/* Main page title */
DIV.pagetitle {
	/* Any font size stuff should be set by a selected header type, */
	/* Necessary for providing document structure anyway. */
	text-align: center;
}


/* Multicolumn body support */
#canvas {
	display: grid;
	grid-template-columns: auto auto auto;
	grid-template-areas: "leftgutter content rightgutter";
	column-gap: 1em;
	clear: both;
	width: 100%;
	page-break-inside: auto;
}

#leftgutter {
	grid-area: leftgutter;
}
#content {
	grid-area: content;
}
#rightgutter {
	grid-area: rightgutter;
}
#leftgutter,
#content,
#rightgutter {
	page-break-inside: auto;
        vertical-align: top;
}
#leftgutter,
#rightgutter {
}



/* Thumbnails that display larger on mouse over */
DIV.m4thumbnail {
	display: block;
}
DIV.m4thumbnail.right {
	float: right;
}
DIV.m4thumbnail.left {
	float: left;
}
DIV.m4thumbnail DIV.m4magnified {
	display: none;
	position: fixed;
	left: 20%;
	top: 3ex;
	width: 50%;
	height: auto;
	z-index: 1;
}
DIV.m4thumbnail DIV.m4magnified {
	text-align: center;
}
DIV.m4thumbnail DIV.m4magnified IMG {
	width: 100%;
	height: auto;
}
DIV.m4thumbnail:hover DIV.m4magnified {
	background: white;
	color: black;
	display: block;
	border: medium solid black;
	padding: 1ex;
}

UL.m4thumbnails {
	display: flex;
	flex-wrap: wrap;
	list-style-type: none;
}
UL.m4thumbnails > LI {
	text-align: center;
	flex-basis: content;
	flex-grow: 1;
}
UL.m4thumbnails IMG {
	max-width: 100%;
	height: auto;
}

/* Sane margins around images */
DIV#content IMG {
	margin: 0.3ex 0 0.3ex 0;
}
DIV#content IMG.right {
	margin: 0.3ex 0 0.3ex 1ex;
}
DIV#content IMG.left {
	margin: 0.3ex 1ex 0.3ex 0;
}

/* Styles for footnotes */
DIV#footnotes {
}

DIV#footnotes H2 {
	font-size: 120%;
}

DIV#footnotes UL {
	font-size: 80%;
}
DIV#footnotes UL UL, DIV.footnotes UL OL {
	font-size: 100%;
}

span.footnote {
	font-style: italic;
	font-size: 80%;
	vertical-align: super;
}

span.footnumber {
	font-style: italic;
}


/* Classes for the document footer */
FOOTER {
	display: block;
	border-top: solid gray;
	border-width: 1px 0 0 0;
	margin-top: 0.5em;
	padding-top: 0.5em;
	font-size: 85%;
	clear: both;
}

FOOTER DIV#location {
	display: none;
}

FOOTER DIV#affiliations {
	float: right;
}

FOOTER DIV#affiliations IMG {
	display: inline;
}



FOOTER DIV#revision {
	display: none;
	font-size: 85%;
}

FOOTER DIV#revision UL {
	list-style-type: none;
	margin: 0 0 0 0;
	padding: 0 0 0 0;
}

FOOTER DIV#revision UL LI {
	margin: 0 0 0 0;
}


/* =============== Cut (hidden content) support =============== */
/* Styles for open/close/prompt controls */
A.m4cuttoggle,
A.m4cutprompt {
	color: inherit;
	text-decoration: inherit;
}
A.m4cuttoggle SPAN.m4cutclosed,
A.m4cuttoggle SPAN.m4cutopen,
A.m4cutprompt {
	display: none;
}
BODY.m4cutenable A.m4cuttoggle,
BODY.m4cutenable A.m4cutprompt {
	display: inline;
	color: blue;
	text-decoration: underline;
}
BODY.m4cutenable A.m4cuttoggle SPAN.m4cutclosed {
	display: inline;
}
BODY.m4cutenable A.m4cuttoggle.m4cutisopen SPAN.m4cutclosed {
	display: none;
}
BODY.m4cutenable A.m4cuttoggle SPAN.m4cutopen {
	display: none;
}
BODY.m4cutenable A.m4cuttoggle.m4cutisopen SPAN.m4cutopen {
	display: inline;
}

/* Styles for the body of the cut */
BODY.m4cutenable SPAN.m4cut,
BODY.m4cutenable DIV.m4cut {
	display: none;
}
BODY.m4cutenable SPAN.m4cut.m4cutvisible {
	display: inline;
}
BODY.m4cutenable DIV.m4cut.m4cutvisible {
	display: block;
}


/* Slideshow support */
DIV.slideshow {
	text-align: center;
	border: black;
	border-style: solid;
	border-width: 2px;
	clear: both;
}

DIV.slideshow DIV#SLIDEFRAME {
	margin: 5px;
	position: relative;
	overflow: hidden;
}

DIV.slideshow DIV#SLIDEFRAME IMG#SLIDEIMG,
DIV.slideshow DIV#SLIDEFRAME IMG#SLIDEFADE {
	position: relative;
	top: 0;
	z-index: 1;
	margin: 0;
	padding: 0;
	border: 0;
	/* Three different ways to set opacity, depending on browser. */
}
DIV.slideshow DIV#SLIDEFRAME IMG#SLIDEFADE {
	z-index: 2;
	filter: alpha(opacity=0);
	opacity: 0;
}

/* Assorted helper classes */
.spaced {
	margin-top: 1ex;
	margin-bottom: 1ex;
}

.spaced > LI {
	margin-top: 1ex;
	margin-bottom: 1.5ex;
}

.center {
	text-align: center;
}

IMG.left {
	float: left;
}

IMG.right {
	float: right;
}
IMG.center {
	margin-left: auto;
	margin-right: auto;
}


TABLE.border {
	border: thin solid black;
	border-collapse: collapse;
}
TABLE.border TH,
TABLE.border TD {
	border: thin solid black;
	padding: 0.3ex 1ex;
}

DT {
	margin-top: 1ex;
}
DD > P:first-child {
	margin-top: 0;
}
DD > P:last-child {
	margin-bottom: 0;
}


/* Classes to create varying screen/print text. */
.printonly,
.handheldonly,
.m4navicon {
        display: none;
}       

.screenonly,
.nothandheld,
.notprint {
	display: initial;
}


/* Classes for content index pages. */
UL#contentindex {
	list-style-type: none;
}

UL#contentindex > LI {
	font-weight: bold;
	margin-bottom: 1ex;
}

UL#contentindex > LI > A {
	font-weight: normal;
	margin-left: 1em;
}

UL#contentindex UL {
	list-style-type: disc;
}

UL#contentindex UL LI {
	font-weight: normal;
	margin-bottom: 0;
}

UL#contentindex UL UL {
	list-style-type: square;
	font-size: 93%;
}

UL#contentindex UL UL UL {
	list-style-type: circle;
	font-size: 93%;
}

ABBR, ACRONYM {
	font-style: italic;
	border-bottom: thin dotted blue;
}

ADDRESS.inline {
	display: inline;
}

.horizontalimages FIGURE.m4captimage {
	float: left;
	margin-right: 0;
}
.horizontalimages FIGURE.m4captimage~* {
	clear: left;
}
.horizontalimages FIGURE.m4captimage~FIGURE.m4captimage {
	clear: none;
}
FIGURE.m4captimage IMG {
	max-width: 100%;
	height: auto;
	width: auto;
}
FIGURE.m4captimage FIGCAPTION {
	font-style: italic;
	text-align: center;
}
