body {
	background-color:#EEE;
	margin:0;
	text-align: center; /* for IE to center the page */
	font-family: "Lucida Grande", sans-serif;
	font-size:10pt;
	max-width: 100vw;
}

img {
	border-style:none;
}

.bordered {
	border:#ccc 1px solid;
}

h1, h2, h3, h4 {
	cursor:default;
}

a[href] {
	text-decoration:none;
	color: #06c;
}

a[href]:hover {
	color: #147;
}

a[href] * {
	cursor:pointer;
}

.note {
	font-size:smaller;
	font-style:italic;
}

.placeholder {
	color:red;
}

td, th {
	border:#ccc 1px solid;
	padding:0.5em 1em;
}

.scroll-box tr:first-child td, .scroll-box tr:first-child th {
	border-top-style:none;
}

.scroll-box {
	margin:1em 1.5em;
	overflow:auto;
	padding:0;
	border:#ccc 1px solid;
}

table.pairing {
	border-collapse:collapse;
}

table.pairing td:first-child {
	text-align:right;
	font-size:0.95rem;
	width:20%;
	border-left-style:none;
}

table.pairing td {
	font-size:smaller;
	white-space:nowrap;
	border-right-style:none;
	vertical-align:text-bottom;
}

/******/


#top {
	width:720px;
	text-align: justify; /* to counter IE centering hack */	
	margin: 25px auto 20px auto;
}

li, dd {
	text-align: left; /* direct list content often isn't full paragraphs */
}

li p, dd p {
	text-align: justify;
}

#logo {
	font-family:"Copperplate", "Lucida Grande", sans-serif;
	line-height:48px;
	min-height:48px;
	background-image:url(logo_small.png);
	background-repeat:no-repeat;
	background-position:center left;
	padding-top:2px;
	margin-left:-37px;
	margin-bottom:12px;
}

@media (max-device-width: 800px) {
	body { font-size: 14pt;}
	#top { width: auto; max-width: 100vw; margin-top: 5px;}
	#logo { font-size: 20pt; margin-left: 4%;}
}

#logo a {
	padding-left:54px;
	color:#555;
	text-decoration:none;
}

.shadow-box {
	background-color:#FEFEFE;
	border-radius:8px;
	box-shadow: 1px 2px 6px #666;
	overflow: hidden;
}

.shadow-box > ol {
	padding: 0 2.7em;
}

.shadow-box > ul {
	padding: 0 2em;
}

.shadow-box > h3 {
	padding: 0.7em 1.5em 0 1.5em;
}

/********/

.icon-list {
	margin:1em auto;
	display:table;
}

.shadow-box.icon-list {
	margin:auto;
}

.icon-list > ul {
	padding:0;
	list-style: none;
	margin:0;
	display: flex;
	flex-wrap: wrap;
}

#products {
	max-width: 100%;
}

#products > * {
	min-width: 300px;
}

.icon-list > ul > li {
	padding: 16px 0 0 0.5em;
	flex: 1;
}

.shadow-box.icon-list > ul > li {
	border-left: 1px #DDD solid;
	padding-left:0;
}

.shadow-box.icon-list > ul > li:first-child {
	border-left-style: none;
}

.icon-list > ul > li .icon {
	padding-left: 16px;
	padding-right: 16px;
}

.icon-list > ul > li .icon img {
	width: 128px;
	height: 128px;
}

.icon {
	text-align:center;
}

.icon.small {
	width:70px;
	height:70px;
}

.choices {
	background-color:#999;
	padding:0 0.2em;
	list-style: none;
	display: flex;
	align-items: center;
	max-width: 100%;
}

.choices li {
	flex-grow: 1;
	text-align: center;
	padding: 0.3em 0.8em 0.4em;
	border-left: 1px #DDD solid;
}

/* only give equal width to the choices for an only child; otherwise, distribute according to content */
li:only-child > .choices li {
	flex-basis: 0;
}

.choices li:first-child {
	border-left-style: none;
}

.choices a[href] {
	color:#FFF;
	text-decoration:none;
}

.choices a[href]:hover { color:#FFF; }

.icon-list > ul > li {
	height:100%;
}

.icon-list > ul > li h2 {
	text-align:center;
	margin:0.2em 16px 0.4em 16px;
}

.icon-list > ul > li h3, .icon-list > ul > li h4 {
	text-align:center;
	margin:0.3em 16px 0.4em 16px;
}

.status {
	padding:0.4em 6% 0.5em;
	margin:0;
	font-style:italic;
	color:#666;
	font-size:smaller;
}

.icon-list > ul > li .status {
	padding:0;
	margin:0 16px;
	text-align:center;
	line-height:1.3em;
}

@media not screen and (hover: hover) {
	.hover-status {
		display: none;
	}
}

.small-shadow {
	margin:2em auto 0.5em auto;
	box-shadow: 1px 1px 4px #888;
}

#products .status:not(.hover-status) {
	min-width:0;
	text-align:center;
	padding-bottom:0.9em;
}

#other {
	margin:2em auto 0.5em auto;
}

#other .status {
	border-top: 1px #DDD solid;
}

#other .icon {
	margin-bottom: 1em;
}

#other .icon img {
	width:48px;
	height:48px;
}

.trailer {
	text-align:center;
	font-size:smaller;
	font-style:italic;
}

/*********/

h2, #content h1 {
	text-align:center;
}

.product {
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	padding-top: 0.5em;
}

.navigation {
	margin:0;
	flex: 0;
}

.navigation h2 {
	margin:0.5em 1em 0.9em;
}

.navigation ul {
	list-style-type:none;
	padding:0;
	margin-top:-0.5em;
	margin-right:0.5em;
	border-top:1px solid #ccc;
}

.navigation li {
	padding:0.2em 0 0.2em 1.5em;
	border-bottom:1px solid #ddd;
}

.navigation .active {
	background-color:#fafafa;
	background-image: linear-gradient(to left, #ffffff 0%, #efefef 100%);
}

.navigation a[href] {
	text-decoration:none;
	font-weight:bold;
	color:black;
	display:block;
	width:100%;
	padding:0.6em 0;
}

.navigation a[href]:hover {
	color:black;
}

#content {
	flex: 1;
	max-width: 100%;
	min-width: 1px; /* avoid getting squashed out of the box entirely on phone */
	padding: 1px 0;
}

#content > .hidden-section {
	display: none;
}

#content > * {
	margin-right: 1.5em;
	margin-left: 1.5em;
}

#content > blockquote {
	margin-right: 3em;
	margin-left: 2em;
	padding-left: 1em;
	border-left: 5px solid #ccc;
}

.navigation + #content > * {
	margin-left: 1em;
}

#content > * .screenshot {
	margin-left: -1.5em;
	margin-right: -1.5em;
}

.navigation + #content > * .screenshot {
	margin-left: -1em;
}

.screenshot {
	text-align:center;
}
#content img {
	max-width: 100%;
}

#content .icon img {
	max-width: none;
}

#testimonial ul {
	list-style:none;
	margin-left:0;
	padding-left:4em;
	padding-right:1.5em;
	text-indent:-2em;
}

#testimonial li
{
	margin-bottom:1em;
}

#testimonial li:before
{
	content:"\00BB \0020";
}

.faq dt { font-style:italic; margin-top: 0.5em; }
.faq dd { text-indent:-1.5em;}

hr {
	border-style:none;
	border-top:1px solid #ddd;
	width:60%;
}

.download-box
{
	background-image:url(box);
	background-repeat:no-repeat;
	background-position:top center;
	height:136px;
	position:relative;
}

.download-box a[href]
{
	display:block;
	width:100%;
	height:100%;
}

.icon-list .download-box.icon img
{
	width:96px;
	height:96px;
	margin-top:8px;
}

.download-box.icon:after
{
	content:url(box-front);
	position:absolute;
	right:50%;
	margin-right:-70px;
}

.download-list
{
	display: flex;
	flex-wrap: wrap;
	list-style-type:none;
	margin:1em 0.5em 0;
	padding:18px 0 0 0;
	width:100%;
}

.download-list li
{
	min-height:70px;
	min-width: 50%;
	margin-bottom: 0.5em;
}

.download-list h4
{
	margin:0;
}

.download-list .icon
{
	float:left;
	margin-right:1em;
	margin-top:-18px;
}

.download-box.small
{
	background-image:url(sm-box);
	height:68px;
	width:70px;
}

.small img
{
	width:64px;
	height:64px;
}

.download-box.small img
{
	width:48px;
	height:48px;
	margin-top:4px;
	margin-right:1px;
}

.download-box.small:after
{
	content:url(sm-box-front);
	position:absolute;
	top:0;
	right:50%;
	margin-right:-35px;
}

pre.shell {
	font-family: monospace;
	background: #f2eedc;
	padding: 0.4em 0.8em;
	border: 1px solid #ccc7ad;
	overflow-x: auto;
}

@media (max-device-width: 800px) {
	.product, #content {
		border-radius: 0;
	}
	
	.navigation {
		flex: 1;
		min-width: 100%;
	}
	
	.navigation ul {
		margin-right:0;
	}

	#content > *, .navigation + #content > * {
		margin-left: 1em;
		margin-right: 1em;
	}
	
	#content > blockquote {
		margin-right: 3em;
		margin-left: 2em;
		padding-left: 1em;
		border-left: 5px solid #ccc;
	}
	
	#content > * .screenshot, .navigation + #content > * .screenshot {
		margin-left: -1em;
		margin-right: -1em;
	}
	
	.icon-list {
		margin-top: 0;
	}
	
	.download-list li {
		width: 100%;
	}
	
	.download-list .status {
		padding-top: 0;
		padding-bottom: 0.7em;
	}
}

.column-table { border: 1px solid #ccc; border-collapse: collapse; text-align: left;}
.column-table th, .column-table td { padding: 0 0.6em 0.5em; border: none; }
.column-table tr:first-child > th, .column-table tr:first-child > td { padding-top: 0.5em; }
.column-table tbody { border-top: 1px solid #ccc; }

abbr { border-bottom: 1px dotted black; text-decoration: none; }
ul.contact-list { list-style: none; padding:0; }


.banner
{
	text-align:center;
	background-color:white;
	background:linear-gradient(to right,
		rgba(255,255,255,0) 0%,
		rgba(255,255,255,1) 15%,
		rgba(255,255,255,1) 85%,
		rgba(255,255,255,0) 100%);
	border-top:1px solid rgba(0,0,0,0.1);
	border-bottom:1px solid rgba(0,0,0,0.1);
	width:90%;
	margin:-0.5em auto 1.2em;
}

.banner p {
	margin:0.5em;
}