/* Main Layout tags */
#widecontainer {
	background: transparent url('images/userBG.jpg') top left repeat-x;
}

#help {
	height:385px;
}


.pillar {
	width:270px;
}

.pillar .heading {
	padding-left:5px;
	vertical-align: super;	
}

.left, .right {
	width:49%;
	float:left;
	clear:none;
}

#left, #middle, #right {
	width:30%;	
	float:left;
	clear:none;	
}

.bottomContent {
	clear:both;
	width:100%;	
}

/* Header Box Markup */
.headerBox {
	background:transparent url('images/boxHeader.png') top left no-repeat;
	padding:10px;
	margin:10px 10px;
}

.headerBox a.header {
	color:#333366;
	font-size:107%;	
	z-index:12;
}

.headerBox ul {
	list-style-type: none;
	position:relative;
	top:-30px;
	clear:both;		
}

.headerBox ul li {
	padding:5px 0px;	
}

.headerBox .posted {
	color:#555;
	font-size:80%;	
}

.headerBoxIcons {
	position:relative;
	float:left;
	top:-30px;
	z-index:10;
	padding-right:5px;
}

.rssIcon {
	margin-left:10px;
}

/* Floating Icons Markup */

.floatingIcon {
	width:180px;
	text-align:center;
	position:absolute;
	clear:none;
}

.floatingIcon img {
	margin:0px;
	padding:0px;	
}

.floatingIcon .heading {
	font-size:120%;
	margin:0px;
	padding:0px;
	color:#28145f;	
	font-weight:bold;
}

.floatingIcon p.subText {
	margin:0px;
	padding:0px;
	font-size:80%;	
}

/* Floating Icons Layout */

#project {
	top:200px;
	left:150px;
}

#portals {
	top:200px;
	left:570px;
}

#resources {
	top:150px;
	left:400px;
}

#events {
	top:340px;
	left:490px;
}

#training {
	top:275px;
	left:290px;
}

#documentation {
	top:390px;
	left:120px;
}

/* Swap View Markup */
.swap {
	width:260px !important;
	text-align:left !important;
}

#toggleText {
	font-size:180%;
	color:#222;	
}

#toggleLink {
	color:#636;
	cursor:pointer;	
}

.visible {
	visibility:visible;
}

.invisible {
	opacity:0;
	visibility: hidden;
}



