/***** MAIN STYLESHEET *****/
/* Copyright (C) 2006-2020 Charles A Upsdell, All Rights Reserved; www.upsdell.com, www.upsdell.ca */


/* FONT STACKS */

body, .font_body { font-family:'Verdana Pro', Verdana, 'Lucida Sans', 'Lucida Sans Unicode', 'Lucida Grande', 'Martel Sans', Montserrat, 'Noto Sans', 'Noto Sans Display', 'Open Sans', 'Source Sans Pro', 'DejaVu Sans', Helvetica, Arial, 'Fira Sans', 'Liberation Sans', sans-serif; }
h1, h2, h3, h4, h5, h6, em.title, .font_header, kbd, strong.subtitle { font-family:'Optima Nova', 'CG Omega', 'ZapfHumnst BT', 'Linux Biolinum', 'Oregon LDO', 'URWClassico', 'Palatino LT Std', Palatino, 'Book Antiqua', 'Palatino Linotype', Constantia, Baskerville, 'Bell MT', Times, 'Times New Roman', Tinos, serif; }
code, kbd, pre, tt, .bigcode, .code, .font_code /* See also zzz_style.css */
			{ font-family:'IBM Plex Mono', 'Fira Code', 'Input Mono', 'Dejavu Sans Mono', 'Dark Courier', 'Courier New', Courier, monospace; color:#008080 !important; font-size:0.89em; font-size:0.89rem; font-weight:500; }
table.menu td.menuitem, .font_menu { font-family:'-apple-system', system-ui, 'Segoe UI', Selawik, Roboto, Ubuntu, Cantarell, Oxygen, 'SF UI Text', Tahoma, Helvetica, 'Arial Nova', Arial, 'Fira Sans', 'Liberation Sans', sans-serif; }
p.note::before { font-family:emoji, 'Segoe UI Symbol', 'Apple Color Emoji', '-apple-system', system-ui, 'Segoe UI', Selawik, Roboto, Ubuntu, Cantarell, Oxygen, 'SF UI Text', Tahoma, Helvetica, 'Arial Nova', Arial, 'Fira Sans', 'Liberation Sans', sans-serif; }
.amp		{ font-family:'Palatino LT Std', Palatino, 'Book Antiqua', 'Palatino Linotype', Constantia, Baskerville, 'Bell MT', Times, 'Times New Roman', Tinos, serif; font-style:italic; font-weight:900; }

/* FONT SIZES */

h1			{ font-size:2.62em; margin:1.4em 0 0.6em 0; }
h2			{ font-size:2.23em; margin:1.2em 0 0.6em 0; }
h3			{ font-size:1.90em; margin:1em 0 0 0; }
h4			{ font-size:1.62em; margin:0.8em 0 0 0; font-style:italic; }
h5			{ font-size:1.38em; margin:0.6em 0 0 0; font-style:italic; }
h6			{ font-size:1.17em; margin:0.6em 0 0 0; font-style:italic; }
h1, h2, h3, h4, h5, h6 { color:#191970; }

/* Screen font sizes */

body
	{ font-size:1em; font-size:1rem; margin:1em; }
div#footer p, input#B2, input#Engage, div.sidebar p, div.sidebar ul li, input, span.idigit, span.idigit_o, span.idigit_s, textarea, p.sniffer, .small
	{ font-size:0.89em; }
kbd
	{ font-size:1em; font-size:1rem; color:#666; }
table.menu tr td
	{ font-size:large; word-spacing:-0.10em; }
.bigcode
	{ font-size:1em; font-size:1rem; color:#000 !important; }

/* GLOBAL STYLES */

/* General */

p.sniffer	{ margin-left:15%; margin-right:15%; padding:1ex; text-align:center; color:black; background-color:#ffffcc; border:1px outset #cccc99; }
p.sniffer em { color:#cc8000; font-weight:600; }

a:link
	{ text-decoration:none; }
a:link, span.not_visited
	{ color:#00c; }
a.xlink:link, span.xnot_visited
	{ color:#07a; }
a:visited, span.visited
	{ color:#800080; }
a.xlink:visited, span.xvisited
	{ color:#b0b; }
a:hover, a.xlink:hover
	{ color:#090; text-decoration:underline; }
@supports ( outline-width:2px )
	{ a:hover, a.xlink:hover { outline:2px solid #090; text-decoration:inherit; }
	}
a:active, a.xlink:active
	{ color:#0c0; }
a.xlink::after
	{ content: "\200a" url("img/ico_xlink.png"); }
a[href$=".pdf"]::after, a[href$=".PDF"]::after
	{ content: "\200a" url("img/ico_xlink_pdf.png") !important; }
a[href$=".doc"]::after, a[href$=".docx"]::after, a[href$=".DOC"]::after, a[href$=".DOCX"]::after
	{ content: "\200a" url("img/ico_xlink_w.png") !important; }
a[href$=".xls"]::after, a[href$=".xlsx"]::after, a[href$=".XLS"]::after, a[href$=".XLSX"]::after
	{ content: "\200a" url("img/ico_xlink_x.png") !important; }
a.xlink[href*="adobe.com"]::after
	{ content: "\200a" url("img/ico_xlink_adobe.png") !important; }
a.xlink[href*="apple.com"]::after
	{ content: "\200a" url("img/ico_xlink_apple.png") !important; }
a.xlink[href*="github.com"]::after
	{ content: "\200a" url("img/ico_xlink_github.png") !important; }
a.xlink[href*="google.com"]::after, a.xlink[href*="design.google/"]::after, a.xlink[href*="googlechromereleases."]::after
	{ content: "\200a" url("img/ico_xlink_g.png") !important; }
a.xlink[href*=".microsoft."]::after, a.xlink[href*=".msdn.com"]::after, a.xlink[href*=".msn.com"]::after, a.xlink[href*="windowscentral.com"]::after
	{ content: "\200a" url("img/ico_xlink_ms.png") !important; }
a.xlink[href*="mozilla."]::after, a.xlink[href*="thunderbird.net"]::after
	{ content: "\200a" url("img/ico_xlink_mozilla.png") !important; }
a.xlink[href*="sourceforge.net"]::after
	{ content: "\200a" url("img/ico_xlink_sf.png") !important; }
a.xlink[href*="unicode.org"]::after
	{ content: "\200a" url("img/ico_xlink_u.png") !important; }
a.xlink[href*="w3.org"]::after
	{ content: "\200a" url("img/ico_xlink_w3c.png") !important; }
a.xlink[href*="wikipedia.org"]::after
	{ content: "\200a" url("img/ico_xlink_wp.png") !important; }
a.xlink[href*="zdnet.com"]::after
	{ content: "\200a" url("img/ico_xlink_zdnet.png") !important; }
a.xpage[href*=".htm"]::after
	{ content: "\21d7"; font-weight:bold; }
a[name], a[id]
	{ color:#069; border:none; text-decoration:none; }
a.nolink	{ color:#036; }
acronym, dfn, span.dfn, span.note { border-bottom:2px dotted #ad2029; text-decoration:none; }
body		{ background-color:#f0f7ff; text-align:center; }
html,input, textarea,input#Engage, input#B2 { margin:0; padding:0; height:100%; }
code.css, code .css, .code.css, .code span.css { color:#033 !important; font-style:italic; font-weight:500; }
code.html, code .html, .code.html, .code span.html { font-weight:500; }
code.js, code .js, .code.js, .code span.js { font-weight:bold; }
del			{ text-decoration:line-through; text-decoration-style:double; text-decoration-color:#f00; }
div#frame	{ max-width:60em; }
div#frame	{ color:#000; background-color:#fff; border-right:2px solid #191970; border-bottom:2px solid #191970;
			  margin-left:auto; margin-right:auto; margin-top:0.67em; text-align:center;
			  background-image:url('img/pic_botright.png'); background-repeat:no-repeat; background-position:bottom right; }
div#border_top { height:40px; text-align:left; background-color:#191970; background-image:url('ani/bak_top.gif'); background-repeat:repeat-x; }
div#border_left { width:40px; text-align:left; background-color:#191970; background-image:url('ani/bak_left.gif'); background-repeat:repeat-y; float:left; }
div#canvas	{ text-align:left; margin-left:40px; padding:0.67em; position:relative; }
div#canvas2	{ margin:0; padding:0; background-image:url('img/bak_topleft.png'); background-repeat:no-repeat; background-position:40px 0; }
div#canvas3	{ background-image:url('ani/bak_left.gif'); background-repeat:repeat-y; }
div#footer p { text-align:center; padding-bottom:0; margin-bottom:1em; line-height:1.5em; }
div#ins_thumbnail span.button { font-size:150%; }
div#ins_RandomThumbnail { text-align:center; font-style:italic; }
div.center, table.center { margin-left:auto; margin-right:auto; }
div.icons p { font-size:10px; }
div.icons p img { vertical-align:middle; border-bottom:4px solid transparent; }
div.indent, p.indent, h5.indent, h6.indent	{ margin-left:1.5em; margin-left:1.5rem; }
div.indent2, p.indent2, h5.indent2, h6.indent2 { margin-left:3em; margin-left:3rem; }
div.sidebar	{ float:right; width:40%; }
div.sidebar	p { hyphens:auto; text-align:justify; }
div.sidebar, table.form	{ margin:0.67em 0 0.67em 0.67em; padding:0.33em 0.33em 1em 0.33em; background-color:#def; border:2px dotted #9cf; }
div.sidebar h3, div.sidebar h4 { text-align:center; margin-top:0.33em; margin-bottom:0; padding-top:0.16em; padding-bottom:0; }
div.sidebar a
			{ color:#00f; background-color:transparent; }
h2			{ margin-top:0.33em; padding-top:0; }
h3			{ margin-top:1em; }
h3.gold		{ border-top:1px solid #c93; }
h3.section	{ padding-left:0.25ex; padding-top:0.25ex; margin-bottom:1ex; border-top:0.25ex solid #04A; border-top-left-radius:1ex; }
h4 + table.flags2, h5 + table.flags2 { margin-top:1ex; }
h5, h6		{ background-color:transparent; }
hr			{ width:67%; color:#04A; padding-top:1px; border-top: 1px solid #04A; border-bottom:1px solid #04A; }
img			{ border:none; }
img.bottom	{ vertical-align:bottom; }
img.middle	{ vertical-align:middle; }
img.mirror	{ transform:scale(-1,1); }
img.random_thumbnail
			{ cursor:crosshair; color:#000; background-color:#fff; padding:4px; border:4px solid #003; }
img.thumbnail { color:inherit; background-color:#fff; padding:2px; border-left:5px solid #888; border-top:5px solid #aaa; border-right:5px solid #777; border-bottom:5px solid #555; }
img.v2		{ padding-top:2px; padding-bottom:2px; border:none; }
img.v8		{ padding-top:8px; padding-bottom:8px; border:none; }
input, textarea { font-weight:normal; }
p, li, td	{ line-height:1.3; }
p.center	{ text-align:center !important; }
p.image_top img { vertical-align:top; }
p.image_center img { vertical-align:middle; padding-bottom:0.5ex; }
p.logos img	{ vertical-align:middle; }
p#noscript	{ color:red; }
p.note
	{ background-color:#e6eef7; min-height:2em; text-align:justify; padding:0.5ex; border-top:1px solid #ccc; border-bottom:1px solid #ccc; }
p.note::before
	{ content:"\261e"; color:#333; vertical-align:top; font-size:3.5em; line-height:0.5ex; }
p.note::after
	{ content:"\00b6"; color:#333; }
p.note em.note
	{ color:#333; }
p.palette	{ margin-left:20%; margin-right:20%; padding:1ex; background-color:#191970; }
p.palette img { display:inline; }
p.tight br	{ display:block; content: ""; margin-top:0.62em; }
p.tight.tighter br	{ display:block; content: ""; margin-top:0.4ex; }
p.tight		{ margin-bottom:0.4ex; }
p.tight img	{ font-size:10px; }
span.button { color:#fff; background-color:#009; font-weight:600; cursor:pointer; background-image:url('img/but_mid.png'); background-repeat:repeat-x;
			  border-left:1px solid #069; border-top:1px solid #069; border-right:1px solid #003; border-bottom:1px solid #003; }
span.darkgold { background:linear-gradient(#c49033,#ddb360,#c49033); background-clip:text; -webkit-background-clip:text; color:transparent; -webkit-text-fill-color:transparent; font-weight:700; }
span.gold	{ background:linear-gradient(#d5a244,#eec470,#d5a244); background-clip:text; -webkit-background-clip:text; color:transparent; -webkit-text-fill-color:transparent; font-weight:900; }
span.silver	{ background:linear-gradient(#aaa,#eee,#aaa); background-clip:text; -webkit-background-clip:text; color:transparent; -webkit-text-fill-color:transparent; font-weight:900; }
span.brass	{ background:linear-gradient(#c97,#eca,#c97); background-clip:text; -webkit-background-clip:text; color:transparent; -webkit-text-fill-color:transparent; font-weight:900; }
span.bronze	{ background:linear-gradient(#a63,#ec6,#a63); background-clip:text; -webkit-background-clip:text; color:transparent; -webkit-text-fill-color:transparent; font-weight:900; }
span.copper	{ background:linear-gradient(#b73,#ea6,#b73); background-clip:text; -webkit-background-clip:text; color:transparent; -webkit-text-fill-color:transparent; font-weight:900; }
span.mblue	{ background:linear-gradient(#191970,#47a,#191970); background-clip:text; -webkit-background-clip:text; color:transparent; -webkit-text-fill-color:transparent; font-weight:900; }
span.charcoal { background:linear-gradient(#33444c,#55666b,#33444c); background-clip:text; -webkit-background-clip:text; color:transparent; -webkit-text-fill-color:transparent; font-weight:900; }
span.pewter	{ background:linear-gradient(#99a,#ccd,#99a); background-clip:text; -webkit-background-clip:text; color:transparent; -webkit-text-fill-color:transparent; font-weight:900; }
span.heavy	{ font-weight:900; }
span.idigit	{ background-color:#191970; color:#fff; padding-left:0.25em; padding-right:0.25em; }
span.idigit.gold { color:#fff; background:linear-gradient(#c96,#e6d591,#c96); -webkit-background-clip:none; -webkit-text-fill-color:#000; font-weight:inherit; }
span.idigit_o { padding-left:0.25em; padding-right:0.25em; border:1px solid #191970; }
span.idigit_s { background-color:#191970; color:#fff; padding-left:0.25em; padding-right:0.25em; }
strong.subtitle, em.title { color:#191970; }
sub			{ vertical-align:bottom; font-size:smaller; }
sup			{ vertical-align:top; font-size:smaller; }
em.em, em.note, em.title { font-weight:600; font-style:italic; }
em.em::after, em.note::after, em.title::after { content: "\200a"; }
table td	{ vertical-align:top; }
table td.center { text-align:center; }
table.flags td { width:20%; text-align:center; padding-bottom:1ex; font-size:0.89em; }
table.tartans td { width:12%; text-align:center; padding-bottom:1ex; font-size:0.89em; }
table.form	{ margin-left:0; }
table.form td { padding-bottom:0.5em; }
table.menu	{ float:right; margin-left:0.67em; margin-right:0.67em; margin-right:0.67em; }
table.menu tr td { color:#fff; background-color:#009; font-weight:600; text-align:center; text-shadow:1px 1px 1px #003; border-bottom:0.25ex solid #fff; }
table.menu tr td a, table.menu tr td a:visited, table.menu tr td a:active { color:#9cf !important; text-decoration:none; }
table.menu tr td a:hover { color:#0f0 !important; text-decoration:none; }
table.menu tr td { background-color:#fff; }
table.menu tr td.menuitem  { padding-left:1em; padding-right:1em; background-position:top left; background-image:url('img/but_mid.png'); background-repeat:repeat-x; background-color:#191970; text-align:center; }
table.menu tr td { transform:skew(-45deg,0); }
table.menu tr td.menuitem span.menuitem { display:block; transform:skew(45deg,0); }
table.plain.idn th
			{ vertical-align:middle; padding-bottom:1em; border-top:2px solid #cdf; }
table.plain.idn td
			{ font-size:x-large; vertical-align:middle; }
table.toollist th { vertical-align:text-bottom; }
p, li		{ margin-bottom:0.67em; padding-bottom:0; line-height:1.3; }
p.center, h4.center	{ text-align:center; }
ul 			{ list-style-type:none; }
ol			{ list-style-type:decimal; }
ul > li		{ list-style-image:url('img/ico_dot.png'); }
ul ol li	{ list-style-image:none; }
ul.close li	{ margin-bottom:0.33ex !important; }
ul.compact li { margin-top:0; margin-bottom:0.67em; }
ul.compact li p	{ margin-top:0; margin-bottom:0.67em; }
ul.plain li	{ list-style-image:none }
ul.slist, ul.slist ul, ul.slist ul ul
	{ margin-top:0; margin-bottom:0.65em; }
ul.slist ul, ul.slist ul ul
	{ margin-bottom:0; }
ul.slist.last
	{ margin-bottom:0; }
ul.slist li, ul.slist li ul li, ul.slist li ul li ul li, ul.slist li p, ul.slist li ul li p, ul.slist li ul li ul li p
	{ margin-bottom:0; padding-bottom:0; }

.big_digit	{ font-size:2.62em; }
.block		{ clear:both; }
.clear_right { clear:right; }
.dim		{ color:#999; background-color:transparent; }
.mobile	{ display:none; }
.no_border	{ border:none; }
.offline		{ display:none; }
.right		{ float:right; }
.w20		{ width:20% !important; }
.w30		{ width:30% !important; }
.w40		{ width:40% !important; }
.w48		{ width:48% !important; }
.w50		{ width:50% !important; }
.w60		{ width:60% !important; }
.w100		{ width:100%; }

/* Error Pages */

div.error_page h2 { color:#ae2029; }
div.img_border img { border-left:1px solid #ccc; border-top:1px solid #ccc; border-right:1px solid #666; border-bottom:1px solid #666; }
div.img_padded img { padding:8px; }
table.err_destinations td { vertical-align:top; }
table.err_destinations td img { vertical-align:middle; }
ul.err_close li	{ margin-bottom:0; padding-bottom:0; }

/* Portfolio Pages */

div.captions p { text-align:center; }
div.captions p.left { text-align:left; }
table.geometree { background-image:url('img_art/bak_marble.jpg'); }

/* Modern Access Banner */

div.mas_masthead
	{ margin:0; padding:0; color:#fff; background-color:#036; }
div.mas_masthead img
	{ display:block; }
div.mas_masthead a img
	{ border:none; }
div.mas_masthead div.mas_line1
	{ margin:0; padding:0; height:20px; color:inherit; background-color:transparent; }
div.mas_masthead div.mas_line2
	{ margin:0; padding:0; height:40px; color:inherit; background-color:#013; background-image:url('img_ani/bak_masthead2a.gif'); background-repeat:repeat-x; }

/* Printed Pages */

@media print
 {	a, a:link, a:visited, a:active, a:hover { color:#000; }
	body, div#frame { font-size:12pt; margin:0; padding:0; color:#000; background-color:#fff; }
	html	{ margin:0; background-color:#fff; background-image:none; }
	div#canvas2, div#canvas3, div#frame { background-image:none; }
	div#frame { border:none; }
	div.sidebar, table.form { border:1px solid #000; background-color:#fff; }
	.noprint, div#border_top, div#border_left, table.menu { display:none; }
 }

