HTML
{
	height: 100%;
	min-width: 100%;
}
BODY
{
	display: flex;
	flex-direction: column;
	background-color: #ffffff;
	color: #202020;
	font-family: Montserrat, sans-serif;
	font-size: 14px; /* global font size setting */
	font-style: normal;
	font-weight: 400;
	letter-spacing: normal;
	line-height: 150%;
	margin: 0px;
	text-align: left;
	min-height: 100%;
	min-width: 100%;
}
HEADER
{
	min-width: 100%;
	display: flex;
	flex-direction: column;
}
#very_top
{
	height: 7ex;
	flex: 0 0 7ex;
	padding: 0px 5% 0px 3em;
	display: flex;
	flex-direction: row;
	justify-content: start;
	align-content: center;
	align-items: center;
	background-color: #eef4fa;
	color: #7e7e90;
}
#very_top A
{
	border: none;
	display: inline-block;
	vertical-align: middle;
}
#very_top_content
{
	display: block;
	flex: 0 1 auto;
}
#very_top_content A, #very_top_content A:visited
{
	color: #7e7e90;
	text-decoration: none;
}
#very_top_content A:hover
{
	color: #00dc00;
	text-decoration: underline;
}
#flags
{
	flex: 0 0 auto;
	display: inline-block;
	text-align: right;
}
#flags IMG {vertical-align: middle;}

#band
{
	min-width: 100%;
	height: 100px;
	min-height: 100px;
	flex: 0 0 100px;
	background-color: #ffffff;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-content: stretch;
	align-items: stretch;
	box-shadow: rgba(100, 120, 140, 0.2) 0px 5px 32px 0px;
	overflow-x: visible;
}

#logo
{
	display: inline-flex;
	flex: 0 0 auto;
	margin-left: 3em;
	align-items: center;
	align-content: center;
}

#band NAV /* Container holding main menu */
{
	display: inline-flex;
	flex-flow: row nowrap;
	overflow-x: visible;
	align-content: stretch;
	align-items: stretch;
	justify-content: space-between;
	color: #37373f;
	margin-right: 3em;
	font-weight: 400;
	font-family: Montserrat, sans-serif;
	font-size: 16px;
}

#band NAV > A, .menuitem /* Top-level anchors and active menu elements */
{
	color: #37373f;
	box-sizing: border-box;
	text-align: center;
	padding: 0px 1em 0px 1em;
	border-bottom: #ffffff 5px solid;
	border-top: #ffffff 5px solid;
	transition: ease-in-out color 150ms;
	text-decoration: none;
}

#band NAV > A {display: inline-block; line-height: 90px;} /* Ensure top-level A's are block elements */

.menuitem 
{
	display: inline-flex;
	position: relative; /* Needed to establish a non-static parent container for popup menus */
	top: 0px;
	left: 0px;
	align-items: center;
	align-content: center;
	padding: 0px 1em 0px 1em;
}

#band NAV > A:visited {color: #37373f;}
#band NAV > A:hover {color: #00dc00; border-bottom-color: #00dc00;}

.menuitem-inactive {color: #37373f; border-bottom: #ffffff 5px solid;}
.menuitem-active   {color: #00dc00; border-bottom: #00dc00 5px solid;}

.popup-menu
{
	display: block;
	position: absolute;
	top: 95px;
	left: 0px;
	width: 210%;
	text-align: left;
	font-weight: normal;
	font-size: 16px;
	background-color: #eef4fa;
	color: #323232;
	visibility: hidden;
	opacity: 0;
	z-index: 99999;
	transition: 200ms linear;
	transition-property: opacity;
	box-shadow: rgba(100, 120, 140, 0.2) 2px 2px 4px 0px;
	padding: 0;
}

.popup-menu A, .popup-menu A:visited {text-decoration: none; color: #000000;}
.popup-menu A:hover {text-decoration: underline; color: #00dc00;}

.popup-menu-item
{
	display: block;
	padding: 20px 15px 20px 15px;
	border-top: #e0e0e0 1px solid;
	text-indent: 0;
}

.popup-menu-item:nth-of-type(1) {border-top: none;}

#content
{
	flex-grow: 10;
	padding: 0px;
	margin: 60px 10% 100px 10%;
	min-height: 100%;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-content: start;
}

.left_third
{
	display: inline-block;
	height: 100%;
	flex-grow: 1;
	flex-shrink: 0;
	flex-basis: 10%;
	margin-right: 18px;
}

.right_two_thirds 
{
	display: inline-block;
	min-height: 100%;
	flex-grow: 2;
	flex-shrink: 0;
	flex-basis: 20%;
	margin-left: 18px;
}

.fullwidth
{
	display: block;
	flex: 1 0 100%;
}

.box 
{
	background-color: #ffffff;
	color: #323232;
	font-size: 110%;
	line-height: 150%;
	text-align: left;
	border-radius: 4px;
	box-shadow: rgba(100, 120, 140, 0.2) 0px 5px 32px 0px;
	padding-bottom: 1ex;
}

.box H1, .box H2, .box H3
{
	margin-left: 25px;
	margin-right: 25px;
}

.box H1
{
	font-weight: 700;
	font-size: 170%;
	padding: 0.5ex 0 0.3ex 0;
	clear: both;
}

.box SECTION
{
	border-top: #e0e0e0 1px solid;
	padding: 1ex 25px 1ex 25px;
	clear: both;
}

.box H2
{
	font-weight: 700;
	font-size: 140%;
	padding: 0.4ex 0 0.3ex 0;
	clear: both;
}

.box H3
{
	font-weight: 700;
	font-size: 120%;
	padding: 0.3ex 0 0.2ex 0;
}

.box P 
{
	text-indent: 2em;
	margin-bottom: 1ex;
	margin-top: 1ex;
	text-align: justify;
}

.extragap {margin-bottom: 40px !important;}

.box P:nth-of-type(1) {text-indent: 0;}

.box OL, .box UL
{
	text-align: justify;
}

.box UL 
{
	list-style: square;
	margin-left: 0;
	padding-left: 0;
}

.box IMG
{
	display: inline-block;
	max-width: 100%;
	margin-top: 10px;
	margin-bottom: 10px;
	border: none;
}

.box A, .box A:visited {color: #009300;}

.box A:hover {color: #00dc00;}

.box TABLE
{
	width: 100%;
	border: none;
	border-bottom: #000 2px solid;
	border-collapse: collapse;
	margin-top: 20px;
	margin-bottom: 30px;
}

.box TABLE TH, .box TABLE TD 
{
	border-top: #000 2px solid;
	padding-top: 3px;
	padding-bottom: 3px;
}
.box TABLE TH
{
	font-weight: 700;
	vertical-align: bottom;
	width: 30%;
}
.box TABLE .notop {
	border-top: none;
	padding-left: 20px;
	padding-right: 20px;
	padding-bottom: 20px;
	vertical-align: top;
}
.box TABLE TH H3
{
	font-weight: 700;
	font-size: 130%;
	padding: 0;	
	margin: 3px;
}
.box TABLE TD
{
	vertical-align: middle;
}
.box TABLE UL
{
	margin: 0;
}

#content > NAV UL
{
	border-top: #e0e0e0 1px solid;
	padding: 1ex 25px 1ex 25px;
	list-style: none;
	text-align: left;
	text-indent: 0;
}

#content > NAV UL LI
{
	/*font-size: 130%;*/
	padding-bottom: 10px;
}

.noindent {text-indent: 0px !important;}

.caption {
	font-size: 80%;
	margin-top: 0;
	margin-bottom: 20px;
}

.floatphoto
{
	width: 35%;
	float: right;
	margin-left: 30px;
}

.grayed {
	cursor: pointer;
	opacity: 0.6;
}

.twocolumn {
	display: flex;
	flex-direction: row;
	align-items: start;
	align-content: center;
	justify-content: space-between;
	width: 100%;
}

.column {
	flex: 0 0 45%;
}

.screenshots
{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 30px;
}

.screenshots IMG 
{
	width: 22%;
	min-width: 240px;
	margin-top: 20px;
}

.ragged {text-align: left !important;}

.icon
{
	font-family: 'Material Icons';
	font-weight: 400;
}

.eoptimus-green { color: #00dc00; }
.preceded-by-large-gap { margin-left: 100px; }

.white-circle 
{
	position: relative;
	left: 0px;
	top: 0px;
	display: inline-block;
	background-color: #ffffff;
	border-radius: 20px;
	height: 30px;
	width: 30px;
	vertical-align: middle;
	box-shadow: rgba(100, 120, 140, 0.2) 1px 1px 2px 0px;
	margin-right: 1.8ex;
	padding: 0;
}
.white-circle > DIV
{
	position: absolute;
	top: 0px;
	left: 0px;
	width: 30px; 
	height: 30px;
	text-align: center;
	line-height: 30px;
	font-size: 16px;
}

FOOTER 
{
	margin: 0px;
	border: none;
	background-color: #202020;
	color: #eaeaea;
	text-align: center;
	padding-top: 2ex;
	padding-bottom: 2ex;
	border-top: #009300 3px solid;
	box-shadow: 0px -20px 32px 20px rgba(0, 0, 0, 0.17);
}
