/*
	Basic Style Definition
*/
body {
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.8125em;
}
a, a:visited {
	color: #06f;
}
a:not([href]) {
	color: black;
	cursor: default;
}
a img {
	border: none;
}

/* temp, todo */
a.pdf {
	padding-left: 1.625em;
	background-image: url(/images/general/pdficon_small.gif);
	background-position: left center;
	background-repeat: no-repeat;
}

/*
	Typography
*/
h1 {
	margin-bottom: 0.75em;
	font-family: Verdana, Arial, sans-serif;
	/*font-size: 1.3125em;*/
	font-size: 1.25em;
}
h2 {
	margin-bottom: 0.5em;
	font-family: Georgia, serif;
	font-size: 1.3125em;
	font-weight: normal;
}
#body p, 
#col p 
{
	margin-top: 0;
}
#body > ul > li {
	margin-bottom: 0.3125em;
}
#body > ul > li > ul > li {
	margin-top: 0.25em;
}


/*
	Template Structure Elements
*/
#head, 
#foot 
{
	position: relative;
	min-width: 780px;
	max-width: 1170px;
	min-height: 60px;
	margin: 0 auto;
}
#foot {
	min-height: 36px;
}
#usermenu, 
#legal 
{
	position: absolute;
	right: 15px;
	bottom: 0;
}
#navtop ul {
	min-width: 750px;
	max-width: 1140px;
	margin: 0 auto;
}
#head #logotype, 
#corporate 
{
	margin: 0.5em 0;
}
#head img {
	border: none;
}
#head #logotype {
	float: left;
	margin: 0;
	margin-left: 15px;
}
#corporate {
	float: right;
	margin-right: 15px;
}
#menu, 
#navtop 
{
	width: 100%;
	min-width: 780px;
}
#menu {
	padding-bottom: 1em;
}
#top {
	width: 100%;
	min-width: 780px;
	padding-bottom: 0.5em;
}

#mid {
	width: 100%;
	min-width: 780px;
	/*margin: 0.5em 0;*/
	padding: 1em 0;
	padding-bottom: 1.5em;
	background: transparent url(/images/general/alpha/a66.png);
	border-top: 1px solid gainsboro;
	border-bottom: 1px solid gainsboro;
}
#mid #content {
	float: none;
	width: auto;
	min-width: 750px;
	max-width: 1140px;
	margin: 0 auto;
	padding-top: 0.5em;
	padding-left: 15px;
	padding-right: 15px;
}
#content #body {
	width: 100%;
}
#content #body, 
#content #col 
{
	float: left;
}
#content #col {
	width: 28.5%;
}
#mid #content.cols #body {
	float: left;
	width: 70%;
	margin-right: 1.5%;
}
#content #col a img {
	border: 1px solid #06f;
}
#bot {
	width: 100%;
	min-width: 780px;
	margin-top: 0.5em;
	padding-bottom: 1.5em;
}

#content #col .imgs a {
	float: left;
}
#content #col .imgs a img {
	float: left;
}
#content #col .imgs.bl a img {
	border: none;
}

.hw {
	width: 100%;
	border-bottom: 1px solid transparent;
}
.hc {
	min-width: 750px;
	max-width: 1140px;
	margin: 0 auto;
	padding-left: 15px;
	padding-right: 15px;
	color: black;
}

/*
	Navigation Elements
*/
#menu a {
	text-decoration: none;
}
#navtop ul, 
#usermenu ul, 
#legal ul 
{
	list-style-type: none;
	padding: 0;
}

#navtop ul {
	padding-top: 5px;
}


/*
	User and Legal menu 
*/
#usermenu ul, 
#legal ul 
{
	margin: 0;
}
#usermenu ul li, 
#legal ul li 
{
	float: right;
}
#usermenu ul li.tabs a.act, 
#legal ul li.tabs a.act 
{
	font-weight: bold;
	text-decoration: none;
	color: white;
	background-color: #BFD9FF;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
}
#usermenu li.info {
	float: none;
	padding-top: 5px;
	font-size: 0.9375em;
	text-align: right;
}
#usermenu li.info select {
	font-size: 0.875em;
}

#legal a:not([href]) {
	font-size: 0.9375em;
}
#usermenu li.info em, 
#legal li.info em 
{
	font-style: normal;
}
#usermenu li a, 
#legal li a 
{
	float: left;
	margin-top: 0.5em;
	padding: 8px;
}
#usermenu li a:last-child:not(.act), 
#legal li a:last-child:not(.act) 
{
	padding-right: 0;
}
#usermenu a:not([href]), 
#legal a:not([href]) 
{
	cursor: default;
}
#legal li a {
	margin-top: 0.125em;
}
#legal li a em {
	font-style: normal;
	color: black;
}


/* Main Menu */
#navtop ul {
	padding-left: 15px;
	padding-right: 15px;
}
#navtop ul li {
	float: left;
}

#navtop li a {
	float: left;
	margin-top: 3px;
	margin-left: 3px;
	margin-right: 3px;
	padding: 8px 12px;
	color: black;
	background-color: #E1F0C2;
	font-size: 1em;
	font-weight: bold;
	background-image: url(/images/waterfall/button-alpha.png);
	background-repeat: repeat-x;
	background-position: left -35px;
	border: 1px solid #C2E185;
	border-bottom: 1px solid #9b6;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
}
#navtop li.act a {
	margin-top: 0;
	margin-left: 6px;
	margin-right: 6px;
	padding: 8px 14px;
	color: white;
	font-size: 1.375em;
	font-weight: normal;
	letter-spacing: normal;
	background-color: #83c328;
	background-position: left 4px;
	border: 1px solid #663;
}

#navtop li a:hover {
	color: black;
	background-color: #e7f3ce;
}
#navtop li.act a:hover {
	color: white;
	background-color: #83c328;
}
#navtop li:first-child a, #navtop li:first-child.act a {
	margin-left: 0;
}


/*
	Forms
*/
form.base {
	margin: 0;
	padding: 0;
}
form.base fieldset {
	margin: 0;
	padding: 0;
	border: none;
}
form.base label {
	display: block;
}
form.base span.foretag {
	float: left;
	width: 158px;
	margin-top: 0.25em;
	margin-right: 8px;
	text-align: right;
}
form.base span.afttag {
	font-weight: bold;
	vertical-align: middle;
}
form.base .radio, 
form.base .check 
{
	margin-left: 0;
	margin-top: 0.125em;
	font-weight: bold;
	vertical-align: top;
}
form.base .radio + span, 
form.base .check + span 
{
	vertical-align: middle;
}
form.base span.fields {
	float: left;
	width: 337px;
}
form.base span.fields small, 
form.base span.foretag small 
{
	display: block;
	font-size: 0.9375em;
	font-style: italic;
}
form.base span.fields .afttag + small {
	margin-left: 1.625em;
}
form.base input.text, 
form.base input.time, 
form.base input.num, 
form.base input.submit, 
form.base textarea, 
form.base select, 
form.base select optgroup 
{
	padding: 3px 1px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1em;
}
form.base input.submit {
	padding: 3px 8px;
}
form.base input.text, 
form.base textarea 
{
	width: 330px;
	margin: 0;
}
form.base fieldset.body label {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}
form.base fieldset.body label.txt {
	margin-top: 0;
}
form.base fieldset.body.grp label {
	margin-top: 0.125em;
	margin-bottom: 0.125em;
}
/*
form.base fieldset.body.grp label:first-child, 
form.base fieldset.body.grp h3 + label 
*/
form.base fieldset.body.grp label:first-of-type {
	margin-top: 0.5em;
}
form.base fieldset.head, 
form.base fieldset.foot 
{
	padding-top: 0.5em;
	padding-bottom: 0.5em;
}
form.base fieldset.head h2 {
	margin-top: 0;
	margin-bottom: 0;
}
form.base fieldset.foot {
	padding-left: 166px;
}
form.base input.read {
	color: darkslategrey;
	background-color: whitesmoke;
	border: 1px solid gainsboro;
	cursor: default;
}

/* Inline forms */
form.base.inline {
	float: right;
	margin-bottom: 0;
}
form.base.inline .fields {
	width: auto;
}
form.base.inline fieldset.body label {
	margin-top: 0;
	margin-bottom: 0;
}
form.base.inline input.submit {
	margin-top: 0;
	padding: 0;
	padding-top: 0.125em;
}

/* Platform specific form widgets styling */
form.base .radio, 
form.base .check, 
form.base input.text, 
form.base input.time, 
form.base input.num, 
form.base input.submit, 
form.base textarea, 
form.base select, 
form.base select optgroup 
{
	-moz-appearance: none;
}


/*
	Form messages
*/
.msg {
	display: inline-block;
	margin: 0.125em 0;
	padding: 0.125em 0.3125em;
	border: 1px solid white;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
}
.msg.er {
	color: white;
	background-color: crimson;
}
.head .msg.er, 
.go .msg.er 
{
	padding: 0;
	color: crimson;
	background-color: transparent;
	border: none;
}
.msg.ok {
	color: white;
	background-color: forestgreen;
}


/*
	Overlay box
*/
#over {
	display: table;
	position: fixed;
	width: 100%;
	height: 100%;
	background: transparent url(/images/general/alpha/b66.png);
	z-index: 99;
}
#over .c {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}
#over .c a.r {
	float: right;
}
#over .c img {
	border: 1px solid white;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
}

/*
	Media gallery
*/
#gal {
	padding: 0;
}
#gal ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
#gal ul li { 
	float: left;
	margin: 0;
	padding: 0;
	border: none;
}
#gal ul li a { 
	float: left;
	margin: 0 1px 1px 0;
	padding: 5px 5px 20px;
	background-color: gainsboro;
}
#gal ul li img {
	float: left;
}

#gal ul img {
	border: 1px solid darkslategrey !important;
}
#gal ul a:hover {
	background-color: darkslategrey !important;
}
#gal ul a:hover img {
	border: 1px solid white !important;
}

/* Bread crumbs */
.crumb {
	margin: 0;
	margin-bottom: 0.75em;
}
.crumb a {
	display: block;
	float: left;
	padding: 0.125em 0.5em;
}
.crumb a:first-child {
	padding-left: 0;
}
.crumb a.sel {
	font-weight: bold;
	color: black;
}

.none {
	display: none !important;
}

/*
	Clearers
	- for both template.css and common.css
*/
#head:after, 
#usermenu ul:after, 
#menu:after, 
.crumb:after, 
#content:after, 
#foot:after, 
h1:after, 
#body label:after, 
#navtop ul:after, 
#col dl:after, 
#legal:after, 
#legal ul:after, 
#gal ul:after, 
#content #col .imgs:after, 
form:after, 
form.base fieldset:after, 
form .controls:after, 
form div.label:after, 
form label:after, 
.stats:after, 
.bind:after, 
.tabnav:after, 
.tabnav ul:after,  
.singlenav:after, 
.otools:after, 
.otools span:after, 
.gui:after, 
#ssc .q:after 
{
	content: "";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
