h2 {
	font-size:calc(12pt + 2vh); 
	margin-bottom:calc(12pt + 2.5vh); 
	margin-top:2vh; 
	font-weight:bold; 
}

h3 { 
	font-size:calc(10pt + 1.6vh); 
	margin-bottom:1vh; 
	margin-top:2vh; 
	font-weight:bold; 
}

h4 { 
	font-size:calc(6pt + 1.4vh); 
	margin-bottom:1vh; 
	margin-top:2vh; 
	font-weight:600; 
}

html,body {
	font-size: 100%;
	font-family: "Gill Sans", "Gill Sans MT", Calibri, sans-serif; 
	font-style: normal; 
	font-variant: normal; 
}

p,ol,ul,pre,figcaption { 
	font-size:calc(6pt + 1vh); 
	line-height:calc(6pt + 1.2vh);
	margin-bottom: 1vh; 
	margin-top: 0vh; 
	font-weight: initial;
}

figcaption {
	text-align: center;
}
	
h1 {
	text-align: center;
	background-color: antiquewhite;
	border-left: 2px solid grey;
	border-right: 4px solid grey;
	border-top: 2px solid grey;
	border-bottom: 4px solid grey;
	padding: 1%;
	margin-top : 1vh;
	font-size: 4vh; 
	font-weight: bold; 
	line-height: 5vh;
	max-width : 80vw;
	margin-left : 10vw;
	margin-right : 10vw;
}

.smalltext {
	font-size: calc(6pt + 1.0vh); 
	font-weight: 400; 
	line-height: calc(8pt + 1.0vh);
}

.caveat {
	color : red;
	font-weight:bold; 
	font-size:calc(8pt + 1.4vh); 
}

a.external {
	font-size: calc(6pt + 1vh); 
	font-weight: 400; 
	line-height: 2.4vh;
	color: #00f;	
	text-decoration:underline; 
}

a.internal {
	color: #00f;	
	text-decoration:underline; 
}

a:visited { 
	color: maroon 
}
a:active { 
	color: fuchsia 
}


div.maintext { 
	max-width : 80vw;
	margin-left : 10vw;
	margin-right : 10vw;
}

.inline {
	max-width : 70vw;
	margin-top : 1vh;
	margin-bottom : 1vh;
	margin-left : 1vw;
	margin-right : 1vw;
	border : 5px solid #000;
	width : auto;
	height : auto;
	max-height: 80vh;
}

img.link {
	border : 5px solid #00f;
}

img.zoom:hover {
	transform: scale(4);
	overflow : hidden;
}

div.picturebox:hover {
	overflow : hidden;
}

div.picturebox {
	margin-bottom : 1vh;
}

div.endpiece {
	height : 5vh;
}
	
img.halfcolumn {
	max-width : calc(90% - 2vw);
	height : auto;
	max-height: 80vh;
}

a:hover {
	overflow : hidden;
}

picture {
	width : auto;
	height : auto;
}

div.hscroll {
	overflow-x: auto; 
}

table {
	border : none;
	border-collapse : collapse;
	margin-bottom : 2vh;
}

td, th {
	font-size:calc(6pt + 1vh); 
	line-height:calc(6pt + 1.2vh);
	font-weight:600; 
	margin-bottom: 1vh; 
	margin-top: 0vh; 
	padding : 1vw;
	border : 2px solid grey;
	text-align:center;
}

td {
	border : 2px solid grey;
}


th {
	border : none;
	whitespace : pre-wrap;
}

th.boxed {
	border : 2px solid grey;
}

th.sideways {
}

video.inline{
	max-width:80vw;
	max-height:80vh;
	width:auto;
	height:auto;
}

pre {
	padding : 1vw;
	border: 2px solid grey;
	margin-bottom : 1vh;
	white-space: pre-wrap;  
}

@media screen and  (max-width: 600px)  {
	h1 {
		font-size:calc(6pt + 1.4vh); 
	}
}

