/* Base Styles */
body {
	text-align: left;
	margin-top: 0;
}

h1, h2, h3, h4, h5, h6 {
	font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
	font-weight: bold;
}

h1 {
	margin-top: 2em;
}

.header {
	padding-bottom: 2em;
}

.header h1, .header h2 {
	margin-bottom: 0;
}

select { margin: 0; }

/* Printing */
@media print {
 	h1 { margin-top: 0; }
	#cameraChoice { position: absolute; top: -100em; }
	.noprint { display: none; }
}

/* Camera choice header */
div#cameraChoice {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	color: white;
	font-weight: bold;
	background-color: #00203F;
	padding-left: 2em;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	z-index: 2;
}
div#cameraChoice a {
	color: white;
}
div#cameraChoice select {
	max-width: 12em;
	margin: 0 3pt;
}
div#cameraChoice .links {
	display: block;
	float: right;
	padding-right: 2em;
}
div#cameraLists select {
	width: 100%;
}

/* Grid boxes */
div.gridbox {
	margin-bottom: 10px;
	padding: 0;
}

.gridbox h2 {
	font-size: 11pt;
	line-height: 2em;
	height: 2em;
	background: #004080;
	color: white;
	padding-left: 1em;
	margin-bottom: 0;
	-webkit-border-top-left-radius: 0.5em;
	-moz-border-radius-topleft: 0.5em;
	-webkit-border-top-right-radius: 0.5em;
	-moz-border-radius-topright: 0.5em;
}

.gridbox h3 {
	font-size: 10pt;
	line-height: 1.75em;
	height: 1.75em;
	background: #004080;
	color: white;
	padding-left: 1em;
	margin: 1em -19px;
}

.gridbox h4 {
	margin-bottom: 0;
}

.gridbox h2 ~ * {
	border: 1px solid #004080;
	padding: 19px 19px;
	-webkit-border-bottom-left-radius: 0.5em;
	-moz-border-radius-bottomleft: 0.5em;
	-webkit-border-bottom-right-radius: 0.5em;
	-moz-border-radius-bottomright: 0.5em;
}

/* Edit Fields */
.gridbox .banner.missingFlag {
	background: #800040;
}

.gridbox .banner {
	font-size: 10pt;
	line-height: 1.75em;
	margin: -19px -19px 19px;
	background: green;
	color: white;
	padding-left: 1em;
}

.gridbox h2 a {
	font-size: 10pt;
	font-weight: normal;
	display: block;
	float: right;
	text-align: right;
	padding-right: 1em;
	color: white;
}

.gridbox .banner a {
	font-size: 10pt;
	font-weight: normal;
	display: block;
	float: right;
	text-align: right;
	padding-right: 1em;
	color: white;
}

.missing {
	display: inline-block;
	background: #800040;
	width: 3em;
    color: white;
    font-size: 100%;
	text-align: center;
}

#cameraSpecifications input {
	width: 3em;
}

.missing input {
	background: #800040;
	color: white;
	border: none;
    padding: 0;
    font-size: 100%;
    font-family: sans-serif;
	text-align: center;
}

/* Definition Lists */
dl {display:inline-block; margin: 0; clear: both; }
dl:after {content:".";display:block;height:0;clear:both;visibility:hidden;}
dl dt { width: 100px; float: left; clear: both; text-align: right; margin: 0; }
dl dd { width: 120px; margin: 0 0 0 10px; float: left; }
dl.wideterms dt { width: 140px; float: left; clear: both; text-align: right; margin: 0; }
dl.wideterms dd { width: 280px; margin: 0 0 0 10px; float: left; }

/* Compatibility table */
dl.compatibility dt {
	width: 150px;
	height: 14pt;
	float: left;
	text-align: left;
	font-weight: normal;
	overflow: hidden;
	margin: 0;
	clear: both;
}

dl.compatibility dd {
	width: 70px;
	margin: 0 0 0 10px;
	float: left;
}

dl.graph.compatibility dd div { 
	-webkit-border-top-left-radius: 0;
	-webkit-border-bottom-left-radius: 0;
	-moz-border-radius-topleft: 0;
	-moz-border-radius-bottomleft: 0;
}

/* Lens compatibility table */
dl.lensCompatibility dt {
	width: 480px;
	height: 14pt;
	float: left;
	clear: both;
	text-align: left;
	overflow: hidden;
}

dl.lensCompatibility dd {
	width: 140px;
	margin: 0 0 0 10px;
	float: left;
}

/* Percentage Graphs */
dl.graph dd { 
	height: 1.8em;
    background: #e6e6e6;
	margin-bottom: 4pt;
	-webkit-border-radius: 0.9em;
	-moz-border-radius: 0.9em;
}

dl.graph dd div { 
	height: 1.8em;
	line-height: 1.8em;
    text-align: right; 
	vertical-align: bottom;
	border: 1px none #417e00;
	-webkit-border-radius: 0.9em;
	-moz-border-radius: 0.9em;
}
dl.graph dd div span {
	padding-right: 1em;
	padding-left: 1em;
}
dl.graph .missingData {
	background: #800040;
	color: white;
}
.red {
	background: #d81518;
	color: white;
}
.yellow {
	background: #cbbf08;
	color: white;
}
.green {
	background: green;
	color: white;
}
dl.graph dd div.red span {
	padding: 0;
	color: #d81518;
	position: relative;
	left: 3em;
}

/* Usage Table */
div#opticUsage ul {
	margin: 0;
}
div#opticUsage > div > ul > li {
	list-style: none;
	clear: left;
	text-indent: 0;
}
.usageCallout {
	float: left;
	clear: left;
	font-family: Helvetica, "Helvetica Neue", Arial, sans-serif;
	font-weight: bold;
	font-style: italic;
	background: #316609;
	color: white;
	text-align: center;
	width: 12em;
	margin-right: 1em;
	margin-bottom: 1em;
	-webkit-border-radius: 6pt;
	-moz-border-radius: 6pt;
}
.usageCallout.unknown {
	background: #800040;
}
.usageCallout.bad {
	background: #d81518;
}
.usageCallout .setting {
	display: block;
	font-size: 18pt;
	line-height: 1.5em;
	height: 1.5em;
	border-bottom: 2pt solid white;
}
.usageCallout .setting img {
	height: 1.3em;
	vertical-align: middle;
}
.usageCallout .setting s {
	display: block;
	margin: 0 auto;
	-webkit-background-size: 1.4em;
	width: 1.4em;
	text-decoration: line-through;
}
.usageCallout .label {
	font-size: 10pt;
	line-height: 1.5em;
	height: 1.5em;
	overflow: hidden;
}
div.usageDetail {
	vertical-align: top;
	margin-top: 6pt;
	height: 100%;
}


/* Aperture Range Indicator */
div#opticUsage ul.apertureRange {
	position: relative;
	display: table;
	padding-top: 1.2em;
	padding-bottom: 1.2em;
	margin: 10pt;
	line-height: 10pt;
}
ul.apertureRange li {
	float: left;
	display: block;
	text-align: left;
	height: 1.5em;
	border: 1px none #417e00;
}
.apertureRange .red {
	-webkit-border-top-left-radius: 0.75em;
	-webkit-border-bottom-left-radius: 0.75em;
	-moz-border-radius-topleft: 0.75em;
	-moz-border-radius-bottomleft: 0.75em;
}
.apertureRange .green {
	-webkit-border-top-right-radius: 0.75em;
	-webkit-border-bottom-right-radius: 0.75em;
	-moz-border-radius-topright: 0.75em;
	-moz-border-radius-bottomright: 0.75em;
}
ul.apertureRange .min, ul.apertureRange .max {
	width: 0;
}
ul.apertureRange span {
	position: relative;
	display: block;
	top: 2em;
	width: 5em;
	color: black;
	font-size: 8pt;
	line-height: 8pt;
}
ul.apertureRange .min span {
	top: -1.2em;
	text-align: left;
}
ul.apertureRange .yellow span {
	left: -5em;
	text-align: right;
}
ul.apertureRange .green span {
	left: 0.5em;
	text-align: left;
}
ul.apertureRange .max span {
	position: relative;
	display: block;
	top: -1.2em;
	left: -5em;
	width:  5em;
	text-align: right;
}
ul.apertureRange span.ignore {
	display: none;
}

/* Mount Views */
#mount > div, #opticFOV > div {
	position: relative;
	min-height: 300px;
}

.mountDrawing > h3 {
	margin:  0;
}

.mountDrawing ul {
	margin: 0;
	padding: 0;
	list-style-type: disc;
	list-style-position: inside;
	font-size: 10pt;
	font-weight: bold;
	width: 268px;
}

.mountDrawing ul > li {
	padding: 3pt 1em;
	border-top: 1px solid #ddd;
}

#mount canvas, #opticFOV canvas {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	z-index: 1;
}

#compatibleList h4 {
	height: 18pt;
}
#submitButton {
	text-align: center;
}
#submitButton input {
	font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
	font-weight: bold;
	margin-top: 1em;
}

.bgmask {
	display: none;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 9;
	background: rgba(100%,100%,100%,0.75);
}

.disclaimer {
	position: fixed;
	top: 15%;
	left: 50%;
	width: 500px;
	margin-left: -270px;
	z-index: 10;
	background: rgba(0,0,0,0.75);
	color: white;
	padding: 20px;
	font-size: 150%;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-webkit-box-shadow: 0 10px 20px #999;
}

.disclaimer p {
	text-align: center;
	margin: 1em;
}

.disclaimer iframe {
	background: white;
}

.savedialog {
	position: fixed;
	top: 25%;
	left: 50%;
	width: 300px;
	margin-left: -170px;
	z-index: 10;
	background: rgba(0,0,0,0.75);
	color: white;
	padding: 20px;
	font-size: 125%;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-webkit-box-shadow: 0 10px 20px #999;
}

.savedialog p {
	text-align: center;
	margin: 1em;
}

.savedialog input[type=button] {
	font-size: 125%;
}
