/* not apparently for graphical browsers */
.notThere {
	position:absolute !important;
	top:-100em !important;
	}

/* document */
html,body {
	font-size:100%;
	margin:0;
	padding:0;
	background-repeat:no-repeat;
	background-position:bottom right;
	}


/* images */
img {
	border:0;
	}


/* abbr and dfn */
abbr, acronym, dfn {
	border:none;
	cursor:default;
	font-style:normal;
	}


/* core fonts */
h1,h2,h3,h4,h5,h6,p,dl,#tabsetContainer ul,legend {
	font-weight:normal;
	line-height:150%;
	}


/* headings */
h1 {
	font-size:1.3em;
	}

h2,h1.h2 {
	font-size:1.1em;
	}

h2.subtitle, h3.subtitle {
	font-size:0.7em;
	}

h3, h2.h3, .portfolioIndent {
	font-size:0.9em;
	font-weight:bold;
	border:none;
	background:transparent;
	padding:0;
	}

h4 {
	font-size:0.8em;
	font-weight:bold;
	}



/* normal text */
p,legend,label,input,#mainPage ul,#mainPage ol {
	font-size:0.75em;
	}
#strapline p {
	font-size:0.75em;
	}

#mainPage ul ul {
	font-size:0.9em;
	}
	
/* 
	apply this in a couple of ways so that most browsers will see it 
	but not opera 7 - it comes out way smaller
*/
* html .smaller { font-size:80%; }/* versions of IE */
*[class^="smaller"] { font-size:85%; } /* mozilla, khtml, msn */

q {
	font-style:italic;
	}

/* links */
a {
	text-decoration:underline; 
	cursor:pointer;
	}

/* block level spans to make line breaks */
.spanBlock span {
	display:block;
	}


/* uppercase emphasis */
.upper { text-transform:uppercase; }
	
/* not bold */
.notbold { font-weight:normal; }


/* top strip */
#topStrip {
	position:absolute;
	top:0;
	left:0;
	z-index:600;
	width:100%;
	height:4em;
	
	/* prevent one of many causes of mac/ie5 'hidden margin causes h-scroll' bug */
	margin-right:-15px;
	}


/* left banner */
#bannerLeft {
	position:absolute;
	left:0;
	top:0;
	z-index:700;
	width:100%;
	height:4em;
	background-repeat:repeat-y;
	
	/* prevent one of many causes of mac/ie5 'hidden margin causes h-scroll' bug */
	margin-right:-15px;
	}



/* right banner */
#bannerRight {
	position:absolute;
/*	right:-6.2em;*/
	right:0;
	top:0;
	z-index:800;
/*	width:328px;*/
	width:113px;
	height:4em;
	background-repeat:repeat-y;
	}



/* strapline */
#strapline {
	position:absolute;
	left:0;
	top:0;
	z-index:900;
	margin-left:99px;
	margin-top:0.75em;
	}

#strapline strong {
/*	font-size:1.9em;*/
	font-size:2.0em;
	font-weight:normal;
	}

#strapline strong a {
	text-decoration:none;
	font-style:normal;
	}

#strapline strong a:hover, #strapline strong a:focus {
	border:none;
	}
	
#strapline em {
	display:block;
	margin-top:0.35em;
	text-decoration:none;
	margin-left:25px;
/*	font-size:0.9em;*/
	font-size:1.2em;
	font-style:normal;
	letter-spacing:0.07em;
	white-space:nowrap;
	}

/* [ie] strapline */
* html #strapline em {
	margin-top:0.6em;
	}

	



/* position fixed and unfixed */
.fixed {
	position:fixed !important;
	}
.notfixed {
	position:absolute;
	}



/* heading and paragraph spacing */
h1,h2,h3,h4,p {
	margin:0;
	clear:both;
	}
p {
	margin-bottom:0.8em;
	}

h1,h2,h3,h4 {
	margin-left:-1px;
	}
h2,h3,h4 {
	margin:1em 0 0.8em 0;
	}
h1 {
	margin-bottom:0.7em;
	}
h2 {
	padding:0.15em 0.45em;
	border-bottom-width:3px;
	border-bottom-style:double;
	}
h2.subtitle {
	margin-top:-1.4em;
	margin-bottom:1.2em;
	padding:0;
	border:none;
	background:transparent;
	}
li h2 {
	border:none;
	background:transparent;
	margin:0;
	padding:0;
	font-weight:bold;
	}

.marginTop {
	margin-top:1em !important;
	}

.marginBottom {
	margin-bottom:2em !important;
	}

.noMarginBottom {
	margin-bottom:0 !important;
	}
	

/* small caps */
.sc {
	font-variant:small-caps;
	}


/* page lists */
#mainPage ul, #mainPage ol {
	padding:0;
	margin:1.5em 2.5em 2em 2.5em;
	}

#mainPage ul li, #mainPage ol li {
	margin-bottom:0.7em;
	line-height:150%;
	}

#mainPage ul li.spaceBelow {
	margin-bottom:1.6em;
	}
#mainPage ul.compact {
	margin:1em 1.5em 2em 1.5em;
	}
#mainPage ol.compact {
	margin:1em 1.5em 2em 2em;
	}
#mainPage ul.compact li, #mainPage ol.compact li {
	line-height:130%;
	margin-bottom:0.3em;
	}

	

/* normal definition lists */
dl {
	font-size:0.8em;
	padding:0 0 0 1.2em;
	margin:1.5em 1.2em 2em 0;
	border-left-width:3px;
	border-left-style:double;
	}
dt {
	margin:0.5em 0 0 0;
	display:block;
	font-weight:bold;
	}
dd {
	margin:0;
	display:block;
	}

/* no border on dl inside column or frogger dl */
#column dl, dl.froggerTips {
	padding-left:0;
	border-left-width:0;
	}
	
	
/* frogger hints and tips */
dl.froggerTips {
	margin:2em 1em 1em 0;
	}
dl.froggerTips dt {
	width:95px;
	float:left;
	clear:both;
	text-align:right;
	margin-right:2em;
	}
dl.froggerTips dd {
	margin-bottom:2em;
	}


/* access links  */
ul#accessLinksBottom, ul#accessLinksRight  {
	height:2em;
	padding:0;
	margin:0;
	list-style-type:none;
	border-bottom-width:3px;
	border-bottom-style:double;
	}
ul#accessLinksBottom li, ul#accessLinksRight li {
	font-size:0.85em;
	padding:0;
	padding-left:1.1em;
	padding-top:0.4em;
	margin:0;
	margin-right:2px;
	list-style-type:none;
	display:block;
	float:left;
	}

ul#accessLinksBottom  {
	margin-top:5em;
	}

/* [ie] borders */
* html ul#accessLinksBottom {
	border-bottom-style:solid;
	}




/* skip links at the top of the page 
#skip-links, #skip-links a, #skip-links a:visited {
	color:#8a8;
	}
#skip-links {
	position:absolute;
	top:2px;
	right:15px;
	z-index:10000;
	padding:0 0.4em 0 0;
	font-size:65%;
	}
#skip-links a, #skip-links a:visited {
	text-decoration:none;
	}
#skip-links a:hover, #skip-links a:focus, #skip-links a:active {
	text-decoration:underline;
	}
*/




/* main page container */
#mainPage {
	position:absolute;
	top:7.7em;
	width:100%;
	
	/* prevent one of many causes of mac/ie5 'hidden margin causes h-scroll' bug */
	margin-right:-15px;
	}




/* content */
#content {
	position:absolute;
	/*
	float:left;
	display:inline;
	*/
	width:67.8%;
/*	padding:3em 0 5em 0;*/
/*	padding:0em 0 5em 0;*/
	}
	
/* inner content */
#content div.inner {
	padding:3em 0 5em 0;
	margin:0 0 0 0.3em;
	}

/* inner2 content */
#content div.inner2 {
	padding:0em 0 5em 0;
	margin:0 0 0 0.3em;
	}
	
/* tables */	
table {
	display:block;
	border:none;
	margin:1em;
	}
th {
	font-weight:bold;
	}
td, th, caption {
	font-size:0.75em;
	line-height:150%;
	padding:0.5em 1.5em 0.5em 0.5em;
	vertical-align:top;
	text-align:left;
	border:none;
	}
#column table {
	margin:0;
	}
#column td,#column th,#column caption {
	padding:0 0 0.2em 0;
	padding:0 1em 0 0;
	font-size:0.7em;
	line-height:120%;
	}
#column caption {
	padding-bottom:0.5em;
	}
td.nowrap {
	white-space:nowrap;
	}

/* right column */
#column {
	width:24%;
	position:absolute;
	}
#column h2 {
	font-size:0.9em;
	font-weight:bold;
	margin:0;
	clear:both;
	padding:0.2em 0.6em 0.1em 0.6em;
	border-bottom-width:3px;
	border-bottom-style:double;
	}
/* [ie] borders */
* html #column h2 {
	padding-bottom:0.15em;
	}

/* right column box */
#column div.box {
	margin-bottom:1.1em;
	}

#column div.box div.inner {
	padding:0.7em;
	}

#column div.inner2 {
	padding:0.7em;
	}

#column div.box p,#column div.box ul {
	font-size:0.7em;
	}
	
#column .marginTop {
	margin-top:0.7em !important;
	}

#column div.box a {
	font-weight:normal;
	}
	


/* text within right column */
#column div.box p {
	margin:0 0 0.5em 0;
	}
	
/* lists within right column */
#column div.box ul {
	padding:0;
	margin:0 0 0.8em 1.3em;
	}
#column div.box ul li {
	padding:0;
	margin:0;
	}
	
	
/* definition list within right column */
#column div.box dl {
	font-size:0.7em;
	margin:0 0 0.8em 0;
	}
#column div.box dt {
	margin:0 1em 0 0;
	width:auto;
	text-align:left;
	}
	
	
	
	
/* testimonial quotes */
.testimonialQuotes {
	margin-bottom:0;
	}
.testimonialQuotes q {
	font-size:1em;
	letter-spacing:0.05em;
	display:block;
	line-height:160%;
	}
#content .testimonialQuotes q {
	font-size:0.9em;
	}

.testimonialQuotes a {
	font-style:normal;
	}
.testimonialQuotes a:visited {
	font-style:italic;
	}

.testimonialQuotes a:hover, .testimonialQuotes a:focus {
	border:none;
	}

.testimonialQuotes a:hover q, .testimonialQuotes a:focus q {
	}

.testimonialQuotes cite {
	display:block;
	margin-top:0.4em;
	margin-bottom:1.2em;
	font-size:1em;
	}
#content .testimonialQuotes cite {
	margin-top:0;
	font-size:0.85em;
	}
	
#content .testimonialQuotes, .testimonialQuotes cite {
	text-align:left;
	}
#content .oddQuote, .oddQuote cite {
	text-align:right;
	}


/* portfolio thumbnails */
a.portfolioThumb {
	margin-top:-1.5em !important;
	}
/* portfolio thumbnails and "gallery" images */
a.portfolioThumb img, img.galleryImage {
	border-width:3px;
	border-style:double;
	}
	
	
/* portfolio heading indents */
.portfolioIndent, .summaryIndent {
	margin-left:129px;
	margin-bottom:0;
	padding:0 0 0 0.8em;
	border:none;
	background:transparent;
	}
.summaryIndent {
	margin-left:99px;
	}

/* navbar pin is hidden from IE */
#navpin {
	display:none;
	}
#navbarTopRow span[id="navpin"] {
	position:absolute;
	right:2px;
	top:0;
	width:32px;
	height:32px;
	cursor:pointer;
	background-repeat:no-repeat;
	background-position:0 0;
	}



/* floating columns for floating block-level content */
.floatColumnLeft {
	float:left;
	clear:none;
	width:45%;
	margin-right:3%;
	margin-bottom:1em;
/*	margin-top:1em;*/
	}
.floatColumnRight {
	float:left;
	clear:none;
	width:45%;
	margin-bottom:1em;
	}


	


/* forms */
form {
	margin:2em 1em;
	}
fieldset {
	border:none;
	padding:0;
	margin:1em 0 0 0;
	}

fieldset.simpleSearch {
	padding-bottom:1em;
	}

label {
	padding:0.2em 1em 0.3em 0;
	}

/* tweaks for stupid ie */
* html input.button {
	padding:0.1em 0;
	}

/* stylesheet selector form */
#column div#stylesBox div.inner {
	padding:0.35em;
	margin:0;
	}

#column div.inner2 {
	padding:0.35em;
	margin:0;
	}

div#stylesBox form {
	margin:0;
	}
	
div#stylesBox fieldset {
	padding:0.35em;
	margin:0;
	}

#stylesForm select {
	width:100%;
	}

#stylesForm select option {
	margin-bottom:0.35em;
	}

#stylesForm label {
	display:block;
	margin-bottom:0.35em;
	padding:0;
	}
#stylesForm label#rLabel {
	display:inline;
	position:relative;
	top:-2px;
	}
	

/* contact form */
#contactForm label {
	width:7em;
	display:block;
	float:left;
	padding:0.2em 1em 0.3em 0;
	text-align:right;
	}

label span.required {
	font-weight:normal;
	font-variant:small-caps;
	}

#contactForm div {
	clear:both;
	padding-bottom:0.2em;
	}
	
#contactForm input.text {
	width:50%;
	}

#contactForm input#Subject {
	width:70%;
	}

#contactForm textarea {
	width:70%;
	}

#contactForm input.button {
	margin:1em 0 0 7.5em;
	}




/* skip code examples */
#mainPage ul.skipCode, #mainPage ul.skipCode li {
	margin:0;
	padding:0;
	list-style-type:none;
	}
#mainPage ul.skipCode {
	padding-left:4px;
	border-left-style:double;
	border-left-width:3px;
	}




/* top navbar container */
#navbarContainer {
	position:absolute;
	top:4em;
	left:0;
	width:100%;
	z-index:500;
	
	/* prevent one of many causes of mac/ie5 'hidden margin causes h-scroll' bug */
	margin-right:-15px;
	}


/* top row */
div#navbarTopRow {
	background-repeat:repeat-x;
	}
	
div#navbarTopListContainer {
	padding:8px 0 4px 0;
	border-width:0 0 2px 0;
	border-style:solid;
	}
	
/* [ie] top navigation bar */
* html div#navbarTopListContainer {
	padding-bottom:6px;
	}


/* top buttons */
ul#navbarTopList {
	cursor:default;
	list-style-type:none;
	display:inline;
	margin:0 0 0 1.1em;
	padding:0;
	}
	
ul#navbarTopList li {
	list-style-type:none;
	display:inline;
	}

ul#navbarTopList li.notThere {
	display:none;
	}
	
ul#navbarTopList li a {
	margin:0 1px 0 1px;
	padding:4px 10px;
	text-decoration:none;
	font-size:0.8em;
	font-variant:small-caps;
	font-weight:bold;
	border:0;
	}
	
/* [ie] smaller font and less padding - can't do this for all because it makes Opera too small */
* html ul#navbarTopList li a {
	font-size:0.75em;
	padding:5px 10px;
	}
* html ul#navbarTopList li a:hover, 
* html ul#navbarTopList li a:focus {
	padding:4px 9px;
	}
* html ul#navbarTopList li a:active, 
* html ul#navbarTopList li.youAreHere a, 
* html ul#navbarTopList li.youAreHere a:active, 
* html ul#navbarTopList li.youAreHere a:hover, 
* html ul#navbarTopList li.youAreHere a:focus  {
	padding:4px 8px 4px 10px;
	}
	
			
			
/* default state */		
ul#navbarTopList li a:hover, ul#navbarTopList li a:focus {
	padding:3px 9px;
	border-width:1px;
	border-style:solid;
	}
	
	
/* hover and focus */				
ul#navbarTopList li a:active, ul#navbarTopList li.youAreHere a, ul#navbarTopList li.youAreHere a:active, ul#navbarTopList li.youAreHere a:hover, ul#navbarTopList li.youAreHere a:focus  {
	padding:3px 8px 3px 10px;
	border-width:1px;
	border-style:solid;
	}
	


/* simulated dropshadow */
div#navbarDropshadow {
	height:3px;
	}
	
div#navbarDropshadow img {
	position:absolute;
	left:0;
	top:0;
	z-index:1000;
	}



/* tabset container */
#tabsetContainer {
	position:absolute;
	top:7.7em;
	width:68%;
	border-bottom-width:3px;
	border-bottom-style:double;
	z-index:200;
	}

/* tabset navbar */
ul#tabset  {
	font-size:0.8em;
	height:2em;
	padding:0;
	margin:0;
	padding-left:2px;
	list-style-type:none;
	}
ul#tabset li {
	font-size:0.85em;
	padding:0.2em 0 0.1em 0;
	margin:0;
	margin-left:1px;
	margin-top:3px;
	margin-bottom:-2px;
	list-style-type:none;
	display:block;
	float:left;
	-moz-border-radius:5px 5px 0 0;
	border-radius:5px 5px 0 0;
	border-width:1px 1px 0 1px;
	border-style:solid;
	cursor:default;
	}

ul#tabset li.youAreHere {
	margin-top:2px;
	padding:0.2em 1.3em 0.3em 1.1em;
	}

ul#tabset li a {
	padding:0.4em 1.1em 0.3em 1.1em;
	}

ul#tabset li.youAreHere a {
	padding:0;
	}

/* [ie] tabset navbar */
* html ul#tabset  {
	padding-left:1px;
	}
* html ul#tabset li.youAreHere {
	position:relative;
	top:1px;
	margin-top:1px;
	margin-left:1px;
	}
	
	
	
	
/* serial navigation links */
#prevnext, #prevnext li {
	margin:0;
	padding:0;
	list-style-type:none;
	}
	
#prevnext {
	position:absolute;
	bottom:0;
	right:24%;
	}

ul#prevnext li {
	text-align:right;
	font-size:90%;
	display:inline;
	position:relative;
	left:-2em;
	padding-right:0.5em;
	}

ul#prevnext li.prev {
	left:-3em;
	}

