/* ################################################################################ */
/* CSS reset - Make css defaults the same across browsers */
html, body, div, span, object, iframe,
a, img, p, blockquote, pre, abbr, acronym, address, code,
h1, h2, h3, h4, h5, h6,
ul, ol, li, dl, dt, dd, q,
fieldset, form, label, legend
table, tbody, thead, tfoot, th, tr, td, caption {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
}

html, body { height: 100%; }
:focus { outline: 0; }

table {
	border-collapse: collapse;
	border-spacing: 0;
}

a {	outline: none; }
a img { border: none; }

/* ################################################################################ */
/* Site defaults */

body {
	margin: 0;
	padding: 0;
	font-family: Arial, verdana, sans-serif;
	font-size: 62.5%;
	color: #333;
	background: #8c8c8c;
}

a, a:visited { color: #0081C8; text-decoration: underline; }
a:hover { color: #990033; text-decoration: underline; }

hr {
	height: 1px;
	margin: 5px 0 0 0;
	border: 0;
	color: #ccc;
	background-color: #ccc;
}

blockquote {
	padding: 0 0 10px 10px;
}

th {
	text-align: left;
	font-weight: bold;
}

td { vertical-align: top; }

li { margin-left: 20px; }

input.submit,
input.reset,
button {
	padding: 2px 5px;
	color: #000;
	border: 1px solid #666;
	background-color: #EEE;
}

ul {
	list-style: none;
}

/* for clearing floated elements */
.clear { clear: both; }

/* ################################################################################ */
/* Shell */

#container {
	margin: 0 auto;
	width: 1020px;
	background: url(images/containerBG.jpg) repeat-y 0 0;
}

#container {
	background: url(images/containerHomeBG.jpg) repeat-y 0 0;
}

body#downloads #container {
	background: url(images/containerAgendaBG.jpg) repeat-y 0 0;
}


/*body#agenda #container {
	background: url(images/containerAgendaBG.jpg) repeat-y 0 0;
}
*/
#innerContainer {
	margin: 0 9px 0 11px;
}

#mastHead {
	position: relative;
	height: 94px;
	background: #FFF;
	padding: 18px 0 0 25px;
}

#MLlogo {
	position: absolute;
	top: 29px;
	right: 54px;
}

#content {
	margin: 0;
}

/* -------------------------------------------------------------------------------- */
/* content background/banner images */

#content {
	background: url(images/banner.jpg) no-repeat 0 0;
}

#home #content {
	background-image: url(images/bannerHome.jpg);
}

#leftCol {
	width: 226px;
	margin-top: 20px;
	padding: 13px 0 0 0;
	float: left;
	background: url(images/leftColTopBG2009.gif) no-repeat 0 0;
}

#mainCol {
	width: 555px;
	float: left;
	clear: none;
	padding-bottom: 20px;
}

body#downloads #mainCol {
	width: 770px;
}

/*body#agenda #mainCol {
	width: 670px;
}
*/
#mainCol .block {
	padding: 0 20px 20px 35px;
}

#mainCol .block,
#rightCol .block {
	margin-top: 20px;
}

#rightCol {
	width: 215px;
	float: right;
	clear: none;
}

#rightCol .block {
	padding: 10px 25px 0 20px;
}

.breakout {
	margin: 20px 0 20px 0;
	padding: 20px;
	background: #EAE9C1;
}

.breakout.top {
	margin-top: 50px;
}

.breakingNews { 
	margin: 5px 0 20px 0;
	padding: 20px;
	background: #E5E3B1 url(images/breakingNewsBG.gif) repeat-x 0 0; 
	border-top: 1px solid #AAAAAA;
}

.breakingNews a { text-decoration: none; font-weight: bold; }

.breakingNews img {
	margin: 0 16px 20px 0;
	float: left;
}

/* -------------------------------------------------------------------------------- */
/* homepage columns */

#mainCol {
	width: 495px;
}

#mainCol .block {
	padding: 0 20px 20px 35px;
}

#rightCol {
	width: 275px;
}

#rightCol .block {
	padding: 10px 19px 0 19px;
}

/* -------------------------------------------------------------------------------- */
/* to compensate for insufficient content in #mainCol .block and force page to be proper height for Speakers Slideshow */

body#contact #mainCol .block {
	padding-bottom: 630px;
}

body#newsAndCoverage #mainCol .block {
	padding-bottom: 230px;
}

body#preConfTraining #mainCol .block {
	padding-bottom: 100px;
}

#footer {
	padding: 0 0 30px 15px;
	background: #8c8c8c url(images/footerBG.jpg) no-repeat 0 0;
}

#footer {
	background: #8c8c8c url(images/footerHomeBG.jpg) no-repeat 0 0;
}

/*body#agenda #footer,
body#downloads #footer {
	background: #8c8c8c url(images/footerAgendaBG.jpg) no-repeat 0 0;
}
*/
#footer p {
	padding: 20px 0 0 0;
	font-size: 1.1em;
	color: #fff;	
}

#footer a {
	color: #fff;
	text-decoration: underline;
}


/* ################################################################################ */
/* Content */

#mainCol p,
#rightCol p {
	font-size: 1.2em;
	padding: 5px 0 8px 0;
}

p span {
	font-weight: bold;
}

h1, h2, p.disclaimer {
	color: #0081C8;
	font-weight: bold;
}

h1 {
	padding: 12px 0 8px 0;
	font-size: 1.5em;
	text-transform: uppercase;
}

body#home h1 {
	font-size: 1.8em;
}

h1 span,
body#home h1 {
	text-transform: none;
}

h1 span.dayTitle {
	color: #333;
	text-transform: uppercase;
}

h1.news { padding-bottom: 0; color: #A0AD43; }
	
h2 {
	padding: 5px 0 0 0;
	font-size: 1.4em;
}

h2 span {
	color: #333;
}

h2.rule {
	border-bottom: 1px solid #999;
}

h3, h4 {
	font-weight: bold;
	color: #333;
}

h3 {
	margin: 0;
	padding: 10px 0 0 0;
	font-size: 1.3em;
}

h4 {
	margin: 0;
	padding: 10px 0 0 0;
	font-size: 1.2em;
}

p span.newsDate { padding-right: 15px; }

/* -------------------------------------------------------------------------------- */
/* slideshows */

#speakersSlideshow,
#sponsorsSlideshow {
	position: relative;
	height: 175px;
}

#speakersSlideshow {
	height: 400px;
}

#speakersGallery {
	margin-left: 15px;
	width: 137px !important;
	height: 261px !important;
	position: absolute;
	top: 30px;
	left: 30px;
}

#speakersGallery.jdGallery .slideElement {
	background-color: #ecefda;
}

.slideElement {
	top: 0px;
}

#sponsorsGallery {
	width: 206px !important;
	height: 123px !important;
	position: absolute;
	top: 30px;
	left: -18px;  /* see ie.css, line 19 for IE6 specific adjustment */
}

/* -------------------------------------------------------------------------------- */
/* to compensate for rightCol's increase in width on homepage */

#sponsorsSlideshow #sponsorsGallery {
	left: 18px;
}

body#tumblr #sponsorsSlideshow {
	margin-top: 20px;
}

#sponsorsSlideshow h2 {
	text-align: center;
	color: #333;
}

body#home #sponsorsSlideshow h2 {
	text-align: left;
}

/* -------------------------------------------------------------------------------- */
/* Register Now/Login buttons */

#mainCol #loginDownloadButton {
	margin: 0;
	padding: 0;
	width: 143px;
	height: 34px;
	border: none;
	background: url(images/buttonLogin.gif) no-repeat left top;
}

#mainCol #loginDownloads button:hover {
	background-position: right top;
}

#loginDownloads .error {
	margin-top: 10px;
	color: #900;
}

/* -------------------------------------------------------------------------------- */
/* section/page titles/button wrappers */

.sectionHeader {
	position: relative;
	margin-left: 226px;
	height: 150px;
}

#home .sectionHeader {
	height: 234px;
}

.buttonWrapper {
	position: relative;
	margin-left: 226px;
	height: 234px;
}

.sectionHeader h1 {
	position: absolute;
	left: 35px;
	top: 40px;
	color: #FFF;
	font: 28px Arial;
	text-transform: inherit;
}

/* -------------------------------------------------------------------------------- */
/* Register Now button positions/tweaks */

.registerNowButton {
	display: block;
	width: 186px;
	height: 45px;
	position: absolute;
	right: 30px;
	bottom: 27px;
	background: url(images/register.jpg) no-repeat 0 0;
}

.registerNowButton:hover {
	background-position: 0 bottom;
}

#home .registerNowButton {
	background-image: url(images/registerHome.jpg);
	bottom: 18px;
	right: 28px;
}

#registerOnlineToday {
	position: relative;
	padding: 20px 15px;
	background: #D5DBB0;
}

#registerOnlineToday .registerNowButton {
	background-image: url(images/registerBox.jpg);
	right: 30px;
	top: 7px;
}

#registerOnlineToday h2 {
	padding: 20px 0 0 0;
	display: inline;
}

/* -------------------------------------------------------------------------------- */
/* Generic Lists */

ul.list {
	margin: 5px 0 8px 0;
}

ul.list li {
	margin: 0 0 0 15px;
	font-size: 1.2em;
	list-style: disc;
}

ul.list ul,
#mainCol ol ol {
	margin-left: 0;
}	

ul.list li ul li {
	font-size: 100%;
}

ul.list, 
ol {
	margin: 0 0 0 15px;
	padding: 5px 0 8px 0;
}

ul.list li {
	padding: 2px 0 2px 8px;
}

ul.list.bold {
	font-weight: bold;
}

li span {
	padding: 5px 0 2px 0;
	font-weight: bold;
}

ol li {
	padding: 2px 0 2px 0;
	font-size: 1.2em;
	font-weight: bold;
}

ol li span,
#rightCol ol li {
	font-weight: normal;
}

#rightCol ol {
	margin-top: 20px;
}

/* -------------------------------------------------------------------------------- */
/* event list */

ul.event {
	margin: 0 0 15px -20px;
}		

ul.event li {
	padding: 2px 0 2px 0;
	font-size: 1.2em;
	list-style: none;
}

ul.event li span {
	padding-right: 3px;
}

ul.event li ul li {
	margin-left: 38px;
	font-size: 100%;
}


/* -------------------------------------------------------------------------------- */
/* Widgets */

body#speakers #speakersSlideshow {
	display: none;
}

/* ################################################################################ */
/* Main Menu */

#mainMenu {
	width: 226px;
	background: #ECEFDA;
	}

#mainMenu ul {
	width: auto;
	padding: 0;
	list-style: none;
	overflow: hidden;
	}

#mainMenu ul li {
	margin: 0;
	/*white-space: nowrap;*/
	}

#mainMenu ul li a {
	margin: 0;
	height: auto; /* IE6 needs a specific height -  see /css/ie.css */
	padding: 10px 25px 8px 26px;
	font-size: 1.4em;
	text-decoration: none;
	color: #333;
	border-bottom: 1px solid #BFC2B4;
	display: block;
	}
	
#mainMenu ul li.home a {
	border-top: 1px solid #BFC2B4;
}

#mainMenu ul li a:hover {
	/*color: #990033;*/
	color: #0081C8;
	background: #DCDFCF;
	}

/* -------------------------------------------------------------------------------- */
/* On state */

body#home #mainMenu ul li.home a,
body#agenda #mainMenu ul li.agenda a,
body#location #mainMenu ul li.location a,
body#register #mainMenu ul li.register a,
body#downloads #mainMenu ul li.downloads a {
	color: #0081C8;
	font-weight: bold;
	background: #dad99b;
}
	
/* ################################################################################ */
/* Tables */

table {
	width: 100%;
}

table.news { margin-top: 15px; }

/* -------------------------------------------------------------------------------- */
/* Conference Agenda */

table.agenda {
}

table.agenda td {
	padding: 8px;
	font-size: 1.1em;
	border: 3px solid #fff;
}

table.agenda td.center {
	/*text-align: center;*/
}	

table.agenda td {
	background: #ECEFDA;
}

table#monday.agenda td {
	background: #d5dbb0;
}	

table.agenda td.emphasis {
	background: #A6BC09;
}

table#tuesday.agenda td.emphasis {
	background: #96A43A;
}

table.agenda td.trackSessions,
table.agenda td.trackSessionsTime {
	background: #d4dbb1;
	text-transform: uppercase;
}

table.agenda td.Session {
	text-align: center;
}

table.agenda td.Session span {
	display: block;
	font-weight: bold;
}

#mainCol table.agenda td.Session p.speaker {
	font-size: 1.0em;
}

td.GrandBallroom,
td.UnionSquare,
td.InterContinentalBallroomAB,
td.InterContinentalBallroomC {
	width: 110px;
	text-align: center;
}

table.agenda td.GrandBallroom {
	background: #c5cc7e;
}

table.agenda td.UnionSquare {
	background: #4ca7d6;
}

table.agenda td.InterContinentalBallroomAB {
	background: #fbb442;
}

table.agenda td.InterContinentalBallroomC {
	background: #ffe085;
}

/* -------------------------------------------------------------------------------- */
/* agenda table anchors */

.trackOne a,
.trackOneB a,
.trackTwo a,
.trackThree a {
	color: #333;
	text-decoration: underline;
	font-weight: bold;
}

table.agenda td.emphasis,
table.agenda tr.emphasis td {
	background: #D5DBB1;
}

/* -------------------------------------------------------------------------------- */
/* Conference Information */

table.info {
	margin: 10px 0;
}

table.info td {
	padding: 8px;
	font-size: 1.1em;
	border: 3px solid #fff;
	background: #d5dbb0;
}

table.info thead th {
	font-size: 1.2em;
	padding: 8px;
	background: #ececec;
	border: 3px solid #fff;
}

/* -------------------------------------------------------------------------------- */
/* forms */

#mainCol form {
	width: auto;
	margin: 10px 0;
	padding: 5px 20px 10px 20px;
	background: #ecefda;
	border: 1px solid #ccc;
}

#mainCol input.button,
#mainCol input.reset,
#mainCol button {
	width: 8em;
	margin: 20px 0;
	padding: 2px 5px;
	color: #000;
	border: 1px solid #666;
	background-color: #dedede;
}

#mainCol fieldset {
	margin: 10px 0;
}

#mainCol input,
#mainCol select,
#mainCol textarea {
	margin: 5px 0;
	display: block;
}

#mainCol textarea {
	width: 350px;
}

#mainCol label {
	padding-top: 10px;
	font-size: 1.2em;
	color: #666;
	display: block;
}

.required {
	color: #990033;
}

#formErrors {
	margin: 10px 0;
	padding: 10px;
	border: 1px solid #900;
	background-color: #FDD;
	color: #900;
}

#formErrors li {
	margin: 0;
	padding: 0;
	list-style-type: none;
	font-size: 1.2em;
	line-height: 1.6em;
}

form#loginDownloads {
	width: 600px;
}

/* -------------------------------------------------------------------------------- */
/* Agenda Key/Downloads Key */

#agendaKey,
#downloadsKey {
	margin: 30px 0 10px;
	padding: 10px;
	background: #ECEFDA;
}

#agendaKey h1,
#downloadsKey h1,
form#filter h1 {
	color: #333;
	font-size: 1.2em;
}

#downloadsKey h1 {
	margin-top: 0;
	padding-top: 3px;
}

#agendaKey table,
#downloadsKey table {
	width: 100%;
}

#agendaKey table td,
#downloadsKey table td,
#agendaKey table table td {
	padding: 5px 0 5px 0;
	font-size: 1.1em;
}

#agendaKey table td img,
#downloadsKey table td img {
	position: relative;
	top: 3px;
}

#agendaKey table td span,
#downloadsKey table td span {
	padding-left: 5px;
	text-transform: uppercase;
	font-weight: bold;
}

##downloadsKey table td span {
	font-weight: normal;
}

#agendaKey table td.keyGovernment {
	padding: 0;
}

#agendaKey table td.keyGovernment img {
	padding-right: 5px;
	position: relative;
	top: 3px;
}



/* -------------------------------------------------------------------------------- */
/* Hover Boxes */

a.hoverLink div {
	position: relative;
	display: none;
}

a.hoverLink:hover div {
	display: block;
}

a.hoverLink div div {
	z-index: 2;
	position: absolute;
	top: 20px;
	left: 20px;
	width: 300px;
	padding: 5px 10px;
	border: 2px solid #333;
	background: none #FFF;
	color: #333;
	font-size: .9em;
	text-decoration: none;
	text-align: left;
}

.sessionTitle {
	color: #0081C8;
	display: block;
	font-weight: bold;
}

a.hoverLink div div p {
	font-weight: normal;
}

.hoverBoxArrow {
	display: block;
	position: absolute;
	top: -20px;
	left: 20px;
	width: 27px;
	height: 20px;
	background: url(images/hoverBoxArrow.gif) no-repeat;
}

a.hoverLink {
	text-decoration: underline;
	/*color: #333;*/
}

a.hoverLink .hoverLinkRight { left: -100px; }
a.hoverLink .hoverLinkRight .hoverBoxArrow { left: 140px; }

a.hoverLink .hoverLinkBottom {
	top: auto;
	bottom: 40px;
}

a.hoverLink .hoverLinkBottom .hoverBoxArrow {
	top: auto;
	bottom: -20px;
	background-image: url(images/hoverBoxArrowDown.gif);
}

a:hover { /* IE Fix */
	border-color: white;
}

/* -------------------------------------------------------------------------------- */
/* Downloads form/filter and table */

form#filter {
	margin: 0 0 10px 0;
	padding: 0;
	background: transparent;
	border: 0;
}

form#filter h1 {
	padding: 0 10px 0 10px;
}

form#filter span {
	padding: 0 5px 0 5px;
	font-size: 1.4em;
}

form#filter h1,
form#filter span {
	position: relative;
	bottom: 5px;
}

form#filter h1,
form#filter span,
form#filter select {
	display: inline;
}

#agendaDownloads table {
	border-bottom: 1px solid #666;
}

#agendaDownloads table thead th {
	padding: 8px 0 8px 10px;
	background: #D5DBB0;
	font-size: 1.4em;
	border-bottom: 1px solid #666;
}

#agendaDownloads table td {
	padding: 10px;
	font-size: 1.2em;
	background: url(images/dashedBorder.gif) repeat-y left top;
	border-bottom: 1px solid #666;
}

/* -------------------------------------------------------------------------------- */
/* Downloads table row indicators */

#agendaDownloads table {
	border-bottom: 1px solid #666;
}

#agendaDownloads table th {
	padding: 8px 0 8px 10px;
	background: #D5DBB0;
	font-size: 1.4em;
	border-bottom: 1px solid #666;
}

#agendaDownloads table td.time {
	border-left: 1px solid #666;
	white-space: nowrap;
}

#agendaDownloads table td {
	padding: 10px;
	font-size: 1.2em;
	background: url(images/dashedBorder.gif) repeat-y left top;
	border-bottom: 1px solid #666;
}

#agendaDownloads table td.downloads {
	width: 100px;
	border-right: 1px solid #666;
}

#agendaDownloads table td span,
#agendaDownloads table td em {
	display: block;
}

#agendaDownloads table td span {
	color: #666;
}

.videoLink {
	padding-right: 10px;
	background: url(images/popWinArrow.gif) no-repeat right top;
}

#downloadsLogin h1 {
	font-size: 1.8em;
	text-transform: none;
}

.notice {
	padding: 10px;
	background-color: #ECEFDA;
	border-bottom: 1px solid #770;
	font-size: 1.2em;
	text-align: center;
}

/* -------------------------------------------------------------------------------- */
/* Filter */

.showMon .tues,
.showMon .wed,
.showMon .thurs,

.showTues .mon,
.showTues .wed,
.showTues .thurs,

.showWed .mon,
.showWed .tues,
.showWed .thurs,

.showThurs .mon,
.showThurs .tues,
.showThurs .wed,

.showTrackGeneral .trackTraining,
.showTrackGeneral .trackApps,
.showTrackGeneral .trackTechnology,
.showTrackGeneral .trackBestPractices,
.showTrackGeneral .trackPartner,

.showTrackTraining .trackGeneral,
.showTrackTraining .trackApps,
.showTrackTraining .trackTechnology,
.showTrackTraining .trackBestPractices,
.showTrackTraining .trackPartner,

.showTrackApps .trackGeneral,
.showTrackApps .trackTraining,
.showTrackApps .trackTechnology,
.showTrackApps .trackBestPractices,
.showTrackApps .trackPartner,

.showTrackTechnology .trackGeneral,
.showTrackTechnology .trackTraining,
.showTrackTechnology .trackApps,
.showTrackTechnology .trackBestPractices,
.showTrackTechnology .trackPartner,

.showTrackBestPractices .trackGeneral,
.showTrackBestPractices .trackTraining,
.showTrackBestPractices .trackApps,
.showTrackBestPractices .trackTechnology,
.showTrackBestPractices .trackPartner,

.showTrackPartner .trackGeneral,
.showTrackPartner .trackTraining,
.showTrackPartner .trackApps,
.showTrackPartner .trackTechnology,
.showTrackPartner .trackBestPractices

{ display: none; }
