/* reset v1.0 | 20080212 -- from http://meyerweb.com/eric/tools/css/reset/  */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

/* remember to define focus styles! */
:focus {
	outline: 0;
}

/* remember to highlight inserts somehow! */
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: collapse;
	border-spacing: 0;
}

:focus {
	outline: 0;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/********** columns -- uses Matthew Levine's Holy Grail -- http://www.alistapart.com/articles/holygrail  **********/

body {
	min-width: 560px;      /* 2x LC width + RC width */
	padding: 0 20px;
	}
	
#wrapper {
	background: #fff;
	margin: 0px auto;
	max-width: 960px;
	min-width: 560px;
	overflow: hidden;
	text-align: left;
}	
	
#contents {
	min-width: 310px;
	padding-right: 290px;  /* RC width */
	padding-bottom: 30px;
}

.grid #contents,
#presentation #contents  {
	padding-right: 200px;  /* RC width + margin */
}
		
#contents .column {
	float: left;
	padding-bottom: 20010px;  /* X + padding-bottom */
	margin-bottom: -20000px;  /* X */
}
	
#main {
	width: 100%;
	padding: 0 0 30px 0;
}

#main ul li.hide {
	display: none;
}
	
#sub {
	width: 240px;          /* RC width */
	background: #fff url(../images/bg_sub.png) 25px -15px no-repeat;
	margin-right: -290px;  /* RC width + margin */
	padding-left: 50px;
}
	
.grid #sub,
#presentation #sub {
	width: 150px;  /* RC width */
	background: #fff url(../images/bg_sub.png) 25px -15px no-repeat;
	margin-right: -200px;  /* RC width + margin */
}
		
#search-results #sub {
	background: none;
}

#footer {
	position: relative;
	clear: both;
	color: #bab6b6;
	background: #eaeaea;
	padding: 4px 8px 3px 8px;
}
	
#footer.section {
	margin: 0;
}	
	
/*** IE6 Fix ***/
* html #left {
	left: 220px;           /* RC width */
}

/***** general *****/

hr {
	display: none;
}

body {
	font-size: 63.125%;
	font-family: Helvetica, Arial, sans-serif;
	color: #333;
	background: #fff;
}

a {
	color: #006eb4; /* d5e9f5 */
	font-weight: bold;
	text-decoration: none;
}

a:hover {
	color: #de7800;
	text-decoration: underline;
	/*
	color: #fff;
	background: #539ece;
	*/
}

#sub a {
	font-weight: normal;
}

#footer a {
	/*color: #fff;*/
	font-weight: normal;
}

#footer p {
	font-size: 1.1em;
}

input {
	font-family: Helvetica, Arial, sans-serif;
}

.article {
	float: left;
}

.section {
	clear: both;
	margin: 0 0 2em 0;
}

.section p {
	margin: 0 0 1em 0;
}

#sub .section {
	border-top: 0;
	margin-top: 0;
	margin-bottom: 0;
	padding-bottom: 2em;
}

h1 {
	font-size: 2.6em;
	color: #000;
}

h2 {
	font-size: 1.8em;
	line-height: 1.4em;	
	margin: 0 0 0.5em 0;
}

#sub h2 {
	font-size: 1.1em;
	line-height: 1.4em;	
	text-transform: uppercase;
	margin: 0 0 0.75em 0;
}

#sub p,
#sub li {
	font-size: 1.2em;
	line-height: 1.3em;	
	margin: 0.5em 0;
}

#sub li {
	margin: 0.8em 0;
}

h2 em {
	display: block;
	font-style: normal;
	font-size: 0.75em;
	font-weight: normal;
	opacity: 0.6;
	filter: alpha(opacity=60);
}

#title {
	clear: both;
	border-top: 0;
	position: relative;
	padding: 2.5em 0 1.25em 0;
}

#header h1 {
	margin: 0;
}

#title .webring {
	position: absolute;
	top: 15px;
	right: 0;
}

#title .webring a {
	font-weight: normal;
}

.webring li {
	float: left;
}

.webring li a {
	display: block;
	float: left;
	text-indent: -9999em;
	width: 32px;
	height: 32px;
	background-position: 8px 8px;
	background-repeat: no-repeat;
	border: 1px solid transparent;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
}

.webring li a:hover {
	border: 1px solid #ddd;
	background-position: 8px -27px;
}

.webring li.prev a {
	background-image: url(../images/icon_arrow_left.png);
}

.webring li.next a {
	background-image: url(../images/icon_arrow_right.png);
}

.main {
	float: right;
	width: 70%;
}

.sub {
	float: left;
	width: 25%;
}

dt, dd, li, p {
	font-size: 1.4em;
	line-height: 1.5em;
}

/***** header *****/

#header {
	float: left;
	width: 100%;
	border: 0;
	margin: 0;
	padding: 12px 0 5px 0;
}

#logo {
	float: left;
	text-indent: -9999em;
}

#logo a {
	display: block;
	width: 180px;
	height: 60px;
	background: url(../images/id_so.png) 0 8px no-repeat;
}

#path {
	float: left;
	clear: both;
	width: 100%;
	background: #eee;
	margin: 0;
	padding: 0;
}

#path li {
	float: left;
	font-size: 1.1em;
}

#path a {
	display: block;
	float: left;
	font-weight: normal;
	color: #a8d0e8;
	background: #0071bc url(../images/path_link_bg.png) top right no-repeat;	
	padding: 3px 26px 1px 0px;
}

#path li.first a {
	padding-left: 10px;	
}

#path li.last a {
	background-color: transparent;	
}

#path a:hover {
	color: #fff;
}

/***** search *****/

#hd-search {
	float: right;
	padding: 19px 0 0 0;
}

#hd-search label {
	display: block;
	float: left;
	font-size: 1.2em;
	line-height: 24px;
	margin: 0 0.5em 0 0;
}

#hd-search select {
	display: block;
	float: left;
	margin: 3px 4px 3px 4px;
}

#hd-search .input-text {
	display: block;
	float: left;
	font-size: 1.2em;
	line-height: 22px;
	height: 22px;
	-moz-border-radius-topleft: 5px;
	-webkit-border-top-left-radius: 5px;
	-moz-border-radius-bottomleft: 5px;
	-webkit-border-bottom-left-radius: 5px;
	border: 1px solid #ccc;
	border-right: 0;
	margin: 0;
	padding: 0 0 0 5px;
}

#hd-search .input-submit {
	display: block;
	float: left;
	cursor: pointer;
	font-size: 1.2em;
	line-height: 22px;
	text-transform: uppercase;
	color: #fff;
	background: #006eb4;
	height: 24px;
	-moz-border-radius-topright: 5px;
	-webkit-border-top-right-radius: 5px;
	-moz-border-radius-bottomright: 5px;
	-webkit-border-bottom-right-radius: 5px;
	border: 0;
	margin: 0;
	padding: 2px 7px;
}

#hd-search .input-text:hover,
#hd-search .input-text:focus {
	border-color: #006eb4;
}

#hd-search .input-text:focus {
	background: #feffbd;
}

#hd-search .input-submit:hover {
	background: #de7800;
}

/***** social *****/

#hd-social {
	position: relative;
	float: right;
	overflow: hidden;
	border: 1px solid #ddd;
	-moz-border-radius: 0.5em;
	-webkit-border-radius: 0.5em;
	margin: 0.5em 0 0 0;
	padding: 0.75em 1em;
}

#hd-social h4 {
	font-weight: normal;
	color: #777;
	margin: 0 0 0.5em 0;
}

#hd-social ul {
	position: relative;
	float: left;
	clear: left;
	left: 50%;
	text-align: center;
}

#hd-social li {
	display: block;
	float: left;
	position: relative;
	right: 50%;
}

#hd-social a {
	display: block;
	width: 16px;
	height: 16px;
	text-indent: -9999em;
	background: #fff url(../images/icons_hd_social.png) no-repeat;
	margin: 0 2px;
}

#hd-social .twitter a {
	background-position: 0 0;
}

#hd-social .facebook a {
	background-position: -20px 0;
}

/***** nav *****/

#nav {
	float: right;
	padding: 15px 25px 0 25px;
}

#nav li {
	float: left;
	font-size: 1.2em;
}

#nav a {
	display: block;
	float: left;
	font-weight: normal;
	background-repeat: no-repeat;
	background-position: 2px 3px;
	border: 1px solid #fff;
	margin: 0 0 0 10px;
	padding: 6px 8px 6px 28px;
}

#nav a:hover {
	background-position: 2px -67px;
	border: 1px solid #ddd;
	text-decoration: none;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
}

#speakers #nav-speakers a,
#events #nav-events a,
#tags #nav-tags a {
	color: #000;
	background-position: 2px -32px;
}

#nav-events a {
	background-image: url(../images/icon_events_hd.png);
	background-position: 3px 3px;
	padding-left: 30px;
}

#nav-events a:hover {
	background-position: 3px -67px;
}

#speakers #nav-speakers a,
#nav-speakers a {
	background-image: url(../images/icon_speakers_hd.png);
}

#speakers #nav-speakers a {
	background-position: 2px -32px;
}

#nav-tags a {
	background-image: url(../images/icon_topics_hd.png);
	background-position: 2px 3px;
	padding-left: 30px;
}

#nav-tags a:hover {
	background-position: 2px -67px;
}

.article {
	float: left;
}

.aside {
	float: right;
	width: 200px;
}

/***** ui stuff *****/

/* 
.toggler {
	background: url(../images/icon_toggler.png) no-repeat;
	padding-left: 15px;
}

#info .toggler {
}

.toggler:hover {
	background-position: 0 -70px;
}

.open {
	background-position: -1px -34px;
}

.open:hover {
	background-position: -1px -104px;
}
*/

/***** home *****/

#home #header {
	border-bottom: 6px solid #eee;
	margin-bottom: 2.5em;
}

#h-intro {
	margin: 0 0 2.5em 0;
}

#h-intro h1 {
	font-size: 3.0em;
	margin: 0 0 0.25em 0;
}

#home h2 {
	float: left;
	font-size: 2.4em;
}

#home #contents {
	float: left;
	width: 100%;
	background: none;
	margin: 0;
	padding: 0;
}

#home #contents ul {
	padding-left: 20em;
}

#home #contents li {
	float: left;
}

#h-intro p {
	font-size: 1.3em;
	line-height: 1.5em;
	color: #666;
}

.home-section h2 a {
	display: block;
	font-weight: normal;
	height: 2em;
	background-repeat: no-repeat;
	background-position: 0 -59px;
	padding: 2px 0 0 58px;
}

.home-section h2 a:hover {
	background-position: 0 0;
}

#home #h-events {
	padding-top: 4em;
}

#h-events h2 a {
	background-image: url(../images/icon_events_home.png);
}

#h-speakers h2 a {
	background-image: url(../images/icon_speakers_home.png);
}

#h-topics h2 a {
	background-image: url(../images/icon_topics_home.png);
}

#h-topics {
	padding-bottom: 65px;
}

.home-section {
	float: left;
	width: 100%;
	border-top: 1px solid #eee;
	margin: 0 0 1em 0;
	padding: 2.5em 0 0.5em 0;
}

.home-section li {
	display: block;
	float: left;
	font-size: 1.5em;
	line-height: 1.75em;
	margin: 0 1.5em 0 0;
}

.home-section li a {
	font-weight: normal;
}

.home-section li.more a {
	font-weight: bold;
}

#home-images {
	width: 960px;
	overflow: hidden;
}

#home #home-images ul {
	padding: 0;
}

#home-images li {
	position: relative;
	float: left;
	font-size: 1.2em;
	line-height: 1.3em;
	overflow: hidden;
	width: 120px;
	height: 100px;
	margin: 0;
	padding: 0;
}

#home-images li a {
	position: relative;
	display: block;
	text-decoration: none;
	cursor: pointer;
	background: #000;
	width: 120px;
	height: 100px;
}

#home-images li span {
	display: none;
	position: absolute;
	bottom: 0;
	width: 100%;
	font-family: Arial, Helvetica, sans-serif;
	color: #fff;
	font-weight: normal;
	background: #000;
	text-decoration: none;
	opacity: 0.7;
	filter: alpha(opacity=70);
	padding: 0.5em;
}

#home-images li img {
	display: block;
	position: absolute;
}

.nojs #home-images li img {
	width: 100%;
	min-height: 100%;
}

#home-images li a strong {
	display: block;
	font-weight: bold;
}

/*
#home-images a:hover {
	-webkit-transform: scale(1.1);
	-moz-box-shadow: 0 1px 6px #000;
	-webkit-box-shadow: 0 1px 6px #000;
	box-shadow: 0 1px 6px #000;
}
*/

/***** speaker / presenation *****/

#meta {
	float: left;
	width: 100%;
	background: #f4f4f4;
	margin: 0 0 2em 0;
	padding: 0.75em 0;
}

#meta ul {
	float: left;
	width: 100%;
	padding: 0  1.25em;
}

#meta li {
	float: left;
	font-size: 1.2em;
	line-height: 1.4em;	
	border-left: 1px solid #ddd;
	margin: 0.5em 0 0 0.75em;
	padding: 0 0 0 0.75em;
}

#meta li.primary {
	border-left: 0;
	margin-left: 0;
	padding-left: 0;
}

#meta a {
	font-weight: normal;
}

#meta .toggler-more,
#meta .toggler-less {
	font-weight: normal;
	margin: 0 0 0 0.5em;
}

.presentation #meta {
	margin: 0 0 1em 0;
	}

.presentation #meta ul {
	width: auto;
	margin: 0 3em 0 0;
}

.presentation #meta li {
	float: none;
	border: 0;
	margin: 0 0 0.2em 0;
	padding: 0;
}

.presentation #meta .primary a {
	font-weight: bold;
}

#meta p.also {
	float: right;
	font-size: 1.2em;
	background: #e7e7e7;
}

#info {
	float: left;
	clear: both;
	margin: 0;
	padding: 0 1.25em;
}

.brand #info,
.series #info {
	width: 100%;
	margin: 0 0 2em 0;
	padding: 0;
}

.brand  #info {
	margin: 0;
}

.brand dl {
	clear: both;
}

.series-list #meta {
	/*background: transparent;*/
}

.speakers-list #info {
	margin: 0;
	padding: 0;
}

.speakers-list #info p,
.brand #info p,
.series #info p {
	margin: 0 0 1em 0;
}

#info p {
	font-size: 1.2em;
	line-height: 1.5em;
	margin: 0.75em 0 0.5em 0;
}

.info-more {
	display: none;
}

.info-more .toggler-less {
	margin-left: 0;
}

.hidden {
	display: none;
}

.hasvideo {
	font-size: 0.75em;
	font-style: normal;
	font-weight: normal;
	text-transform: uppercase;
	color: #de7800;
	background: url(../images/icon_video.png) left 0 no-repeat;
	margin: 0 0 0 0.5em;
	padding: 0 0 3px 18px;
}

.list dt .official {
	font-size: 10px;
	font-weight: normal;
	text-transform: uppercase;
	margin-left: 0.5em;
}

.external {
	background: url(../images/icon_external.png) right 2px no-repeat;
	padding-right: 14px;
}

.external:hover {
	background-position: right -119px;
}

.external-rev {
	color: #fff;
	background: #c2c2c2 url(../images/icon_external_rev.png) right 3px no-repeat;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	padding-top: 3px;
	padding-left: 5px;
	padding-right: 19px;
	padding-bottom: 3px;
}

.external-rev:hover {
	color: #fff;
	background-color: #de7800;
	background-position: right -18px;
}

.related-links a {
	/*display: block;*/
	background: url(../images/icon_external.png) left 2px no-repeat;
	padding-left: 16px;
}

.related-links a:hover {
	background-position: left -119px;
}

.tags a {
	display: block;
	background: url(../images/icon_tag.png) left 2px no-repeat;
	padding-left: 20px;
	padding-bottom: 0.25em;
}

.tags a:hover {
	background-position: left -82px;
}

.list {
	border-bottom: 1px solid #eee;
	padding: 0 0 0.25em 0;
}

.list table {
	clear: both;
	width: 100%;
}

#events-list table,
#speakers-list table {
	border-bottom: 1px solid #ddd;
}

.list th {
	font-size: 1.1em;
	font-weight: normal;
	color: #666;
	background: #eee;
	text-align: left;
	padding: 0.7em 10px 0.5em 10px;
}

.list th.first {
	padding-left: 10px;
}

.list th a {
	font-weight: normal;
}

.list th.sort a {
	font-weight: bold;
	color: #000;
	background: url(../images/icon_sort.png) right 2px no-repeat;
	padding-right: 15px;
}

.list th.desc a {
	background-position: right -40px;
}

.list td {
	border-top: 1px solid #eee;
	padding: 1.15em 10px;
}

.list td.item {
	width: 10em;
	line-height: 1.7em;
	padding-left: 0;
}

.series-list td.item {
	white-space: nowrap;
}

.list th#event {
	width: 5em;
}

.list td.speaker {
	white-space: nowrap;
}

.list td.date {
	color: #666;
	white-space: nowrap;
}

.list td.location {
	width: 35%;
}

.list .date em {
	font-style: normal;
	padding: 3px 6px;
}

.list td.date,
.list td.location,
.list td.notes {
	font-size: 1.2em;
	line-height: 1.3em;
}

.list td.notes {
	width: 100%;
}

.list td.notes a {
	font-weight: normal;
}

.item a {
	font-size: 1.3em;
	font-weight: bold;
}

.child {
	color: #666;
}

.child h4 {
	font-size: 1.3em;
	line-height: 1.4em;
	margin: 0 0 0.1em 0;
	font-weight: normal;
}

.child p {
	font-size: 1.2em;
	line-height: 1.4em;
}

.child a {
	font-weight: normal;
}

#sub #img-main {
	background: #fff;
	padding-top: 0;
	padding-left: 0;
	margin-bottom: 0;
}

#sub #img-main img {
	max-width: 240px;
	max-height: 300px;
}

#sub p.more-images {
	font-size: 1.1em;
}

/***** brands *****/

.brand dl {
	border-top: 1px solid #eee;
	margin: 1em 0 0 0;
	padding: 1em 0 0 0;
}

.brand dt {
	float: left;
}

.brand dd {
	color: #666;
	padding: 0 0 0 10em;
}

.brand dd a {
	font-weight: normal;
}

#sub .logo {
	text-align: center;
}

/***** presentations *****/

#presentations {
	border-top: 0;
}

/***** search results *****/

#search-results #main .section {
	float: left;
	width: 100%;
	padding-bottom: 1em;
}

.results {
	float: left;
	clear: both;
	width: 100%;
	padding: 1.25em 0 0.5em 0;
}

.results li {
	float: left;
	clear: both;
	width: 100%;
	color: #666;
	line-height: 1.3em;
	margin: 0.25em 0 0.75em 0;
}

.results li a {
	font-weight: normal;
}

.results li a.item {
	font-weight: bold;
}

/***** pagination *****/

.pagination {
	float: left;
	width: 100%;
	padding: 1em 0 4em 0;
}

.per-page {
	float: left;
	padding: 3px 0 2em 0;
}

.per-page dt,
.per-page dd {
	float: left;
	font-size: 1.2em;
	font-weight: normal;
	border-right: 1px solid #ddd;
	margin-right: 6px;
	padding-right: 6px;
}

.per-page dd a {
	font-weight: normal;
}

.per-page dd.current a {
	color: #000;
}

.counter {
	float: right;
}

.counter li,
.counter a {
	display: block;
	float: left;
}

.counter a {
	width: 30px;
	border-right: 0;
	text-align: center;
	margin: 0 1px 0 0;
	padding: 4px 0;
}

.counter .current a {
	color: #fff;
	background: #0071bc;
	text-decoration: none;
	-moz-border-radius: 16px;
	-webkit-border-radius: 16px;
}

.counter a:hover {
	color: #fff;
	background: #de7800;
	text-decoration: none;
	-moz-border-radius: 16px;
	-webkit-border-radius: 16px;
}

.counter .prev a,
.counter .next a {
	display: block;
	float: left;
	text-indent: -9999em;
	width: 28px;
	background-position: 6px 6px;
	background-repeat: no-repeat;
	-moz-border-radius: 16px;
	-webkit-border-radius: 16px;
}

.counter .prev a:hover,
.counter .next a:hover {
	background-position: 6px -64px;
}

.counter .prev a {
	background-image: url(../images/icon_arrow_left.png);
}

.counter .next a {
	background-image: url(../images/icon_arrow_right.png);
}

/***** speakers *****/

#photo-section {
	padding-top: 1em;
}

/***** photos *****/

#main-image img {
	width: 250px;
	padding: 0;
}

#main-image .more {
	text-align: left;
	font-size: 1.1em;
	padding: 3px 10px;
}

#photos img {
	display: block;
	float: left;
	max-height: 140px;
	max-width: 300px;
	padding: 0;
}

#photos a {
	display: block;
	float: left;
	border: 1px solid #fff;
}

#photos div.options a {
	display: inline;
	float: none;
}

/***** presentations *****/

#video {
	padding: 1.5em 0;
}

#presentation #meta {
	margin: 0;
}

/***** tooltips *****/

.tooltip {
	display: none;
	font-size: 1.2em;
	line-height: 1.5em;
	height:70px;
	width: 160px;
	padding: 25px;
	color: #fff;	
	background: #000;
}

/***** messages *****/

.message {
	float: left;
	clear: both;
	-moz-border-radius: 1em;
	-webkit-border-radius: 1em;
	-moz-box-shadow: 0 1px 3px #999;
	-webkit-box-shadow: 0 1px 3px #999;
	box-shadow: 0 3px 3px #999;
	color: #000;
	background: #beffaa;
	border: 1px solid #a5e891;
	margin: 2em 0 0 0.25em;
	padding: 1em 1.25em 1em 1.5em;
}

.message a.close {
	display: block;
	float: right;
	text-indent: -9999em;
	background: url(../images/icon_close.png) no-repeat;
	width: 20px;
	height: 20px;
}

.message p {
	float: left;
	padding: 0 1em 0 0;
}

.error {
	color: #c00;
	border: 1px solid #ffceaa;
	background: #ffe4d0;
}

a.autotag {margin-right: 8px;}