/* Neutralize styling: Elements we want to clean out entirely: */
html, body, form, fieldset, table, tr, td, img {
	margin: 0;
	padding: 0;
	font: 100%/150% /*"Frutiger","Univers",*/arial,"Helvetica Neue",helvetica,sans-serif;
}
body {
	font-size: 12px;
	line-height: 1.5em;
}

h1, h2, h3, h4, h5, h6 {
	font-family: "Lucida Grande","Lucida Sans Unicode","Trebuchet MS",sans-serif;
	font-weight: normal; /* if changed to "bold", swap "Lucida Sans Unicode" for "Lucida Sans"! */
}

/* Neutralize styling: Elements with a vertical margin: */
h1, h2, h3, h4, h5, h6, p, pre,
blockquote, ul, ol, dl, address {
	margin: 1.5em 0;
	padding: 0;
}
ul ul, ul ol, ul dl, ol ol, ol ul, ol dl, dl dl, dl ul, dl ol {
	margin-top: 0;
}

/* Both margins + line height should add up to a natural number for the leading (default font-size * default line-height).
  These figures are correct as long as the line-height is 1.5em. */
h1 { /* 1.5em / 200% = 0.75em*/
	font-size: 200%;
	line-height: 1.5em;
	margin: 0.75em 0 0.75em;
}

h2 { /* 1.5em / 150% = 1em */
	font-size: 150%;
	line-height: 1em;
	margin: 2em 0 1em;
}

h3 { /* 1.5em / 125% = 1.2em */
	font-size: 125%;
	line-height: 1.2em;
	margin: 1.2em 0;
}

h4 { /* 1.5em / 108,3*12 = 1,385em */
	font-size: 108.3%;
	line-height: 1.385em;
	margin: 1.385em 0;
}

p { /* 1.5em = 1 leading */
	margin: 0 0 1.5em 0;
}

/* Apply left margin:
   Only to the few elements that need it: */
li, dd, blockquote {
    margin-left: 1em;
}

ol {
	list-style-type: decimal;
}

/* Miscellaneous conveniences: */
form label {
	cursor: pointer;
}
fieldset {
	border: none;
}
input, button, select, textarea {
	font: 100%/130% /*"Frutiger","Univers",*/arial,"Helvetica Neue",helvetica,sans-serif;
}
button {
	cursor: pointer;
	overflow: visible;
	padding: 0 0.5em;
	width: auto;
}

/* Tables still need 'cellspacing="0"' in the markup */
table {
	border: none;
	border-collapse: collapse; /* seperate; */
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
	vertical-align:top;
}
th {
	font-weight: bold;
}

blockquote:before, blockquote:after, q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}

/* remove dotted outline around active links */
a:active, a:focus {
	outline: none;
}

hr {
	background-color: #000;
	border: 0;
	color: #000;
	display: block;
	height: 1px;
	margin: 1.5em 0;
	padding: 0;
}

a img {
	border: none;
}

sup {
	position: relative;
	bottom: 0.3em;
	vertical-align: baseline;
}
 
sub {
	position: relative;
	bottom: -0.2em;
	vertical-align: baseline;
}
 
acronym, abbr {
	cursor: help;
	letter-spacing: 1px;
	border-bottom: 1px dotted;
}

/* Generic classes */
#body .hide, .hide { display: none !important; }
#body .noshow, .noshow { display: none; }
#body .show, .show { display: block !important; }

/* Text classes */
.serif { font-family: Georgia, Palatino, "Times New Roman", serif; }
.lowercase { text-transform: lowercase; }
.uppercase { text-transform: uppercase; }
.center { display: block; margin: 0 auto; }
.small { font-size: 91.6%; }
.large { font-size: 108.3% }
.larger { font-size: 125%; }
.textcenter { text-align: center; }
.textleft { text-align: left; }
.textright { text-align: right; }
.texttopleft{ text-align: left; vertical-align: top; }
.textbottomleft{ text-align: left; vertical-align: bottom; }
.italic { font-style: italic; }
.bold { font-weight: bold; }

.imageleft{ float: left; vertical-align: text-top; }
.imageright{ float: right; vertical-align: text-top; }

.nospacing { margin: 0 !important; padding: 0 !important; }
.noborder { border: none; }
.nobullet      { list-style:none; list-style-image:none; }

/* Floating */
.floatleft { float: left; margin: 0 1em 1em 0; }
.floatright { float: right; margin: 0 0 1em 1em; }
.clearboth { clear: both; }
.clearleft { clear: left; }
.clearright { clear: right; }