body {
	font:70% Verdana, Arial, Helvetica, sans-serif;
	margin:0;
	background:url(../images/bg.jpg) repeat-x #d0d0d0 3px 0;
	/*background-color:#FFFFFF;*/
	border-top:3px solid #41b946;
	border-bottom:3px solid #41b946;			 
	line-height:1.5em;	
}

#fancyPage {
	background-color:#fff;	
}

/* ---- Headers ---- */
h1 {
	font:bold 145% Arial, Helvetica, sans-serif;	
	text-align:left;
	color:#0079CA;
}

h2 {
	border-top:1px solid #ccc;
	font:bold 130% Arial, Helvetica, sans-serif;	
	color:#797979;
	padding-top:10px;
	margin-top:20px;
}

#home h2 {	
	font:bold 130% Arial, Helvetica, sans-serif;	
	/*color:#9C6;*/
	border-bottom:1px solid #9C6;	
	border-top:none;
	clear:right;
	padding-top:10px;
	margin-top:20px;
}




/* Alternative H2 with blue text and a bg image */
h2.alt {
	font:bold 120% Arial, Helvetica, sans-serif;	
	color:#0099FF;
	background:url(../images/h2_bg.jpg) no-repeat center;  	
	padding:5px 0 24px;
	margin:0;	
	text-indent:55px;
	/*height:38px;	*/	
	/*background-position:0px -1px;*/
	z-index:1;		
	display:block;   
	  
}

#homeCol1 h2.alt {
	font:bold 120% Arial, Helvetica, sans-serif;	
	color:#0099FF;
	background:url(../images/h2_bg.jpg) no-repeat -10px center;  	
	padding:5px 0 24px;
	margin:0;	
	text-indent:55px;
	/*height:38px;	*/	
	/*background-position:0px -1px;*/
	z-index:1;		
	display:block;   
	margin-top:20px;
}

h3.alt {
	font:bold 120% Georgia, "Times New Roman", Times, serif;
	color:#000000;
	background:url(../images/h3_ruleline.jpg) no-repeat center bottom;
	border:0;
	padding-bottom:4px;
	margin-bottom:0;	
	display:block;
	height:44px;
	text-align:center;
}

h3 {
	font:130% "Times New Roman", Times, serif;
	color:#0099FF;
	text-align:left;
	border-bottom:1px solid black;	
}

h4 {
	font-size:100%;
	font-weight:bold;
	margin:0 0 10px 0;
	padding:0;
	font-size:110%;
}

h5 {
	font-size:100%;
	color:#42c83f;
	border-bottom:1px solid #333;
	margin: 0 0 10px 0;
}
/* ---- End Headers ---- */


/* ---- Colours and Formatting ---- */
/* Alternative colour used for highlighting text */
.alt {
	 color:#0099FF;
}

/* only used for codeblocks */
.emphasis {
	color:#3CA661;
}

#resourcesFooter {
	overflow:auto;
	border-top:1px solid #ccc;
	margin:10px 0 0 0;
	padding:5px 0 0 0;
	clear:both;
}

.caption {
	font:130% 'Times New Roman', Times, serif; 
	margin-top:3px;	
}

/* For all date other date formats */
.date {
	font-size:90%;
	color:#8F8F8F;
	font-family:Geneva, Arial, Helvetica, sans-serif;
	margin:0;
	padding:0;
}

/* Displays the calendar image for latest news */
.cal {
	background:url(../images/cal_icon.gif) no-repeat;
	width:40px;
	height:45px;
	float:left;
	padding:0;
	margin:3px 6px 0;	
	letter-spacing:-1px;
}

.cal .day {
	padding-top:15px;	
	text-align:center;
	width:37px;	
	font:bold 110% Verdana, Arial, Helvetica, sans-serif;	
	color:#2C7C48;
	font-size:90%;
}

.cal .month {
	text-transform:uppercase;
	font-size:90%;
	margin-left:3px;
}

.cal .year {
	font-size:80%;
	text-align:center;	
	font-weight:bold;	
}

.codeBlock, pre {
	font-size:130%;		
	border:1px solid #cccccc;
	margin:0;
	padding:0;
	overflow:scroll;
}


.codeBlock strong, .codeBlock em {
	color:black;	
}

code.emphasis {
	/*color:#3CA661;*/
	color:#60ac42;
}

.codeBlock code, code.codeBlock  {
	display:block;
	font-size:130%;
	color:#0033CC;
}

code {
	font-size:130%;
	margin:0;
	padding:0;
}

/* ---- End Colours and Formatting ---- */


/* ---- Links ---- */
a {
	/*color:#3CA661;*/
	color:#1e9046;
	font-weight:normal;
	font-weight:bold;
	text-decoration:none;
}

a:visited {
	color:#3CA661;	
	font-weight:normal;
	text-decoration:underline;
}

.controls a, .controls a:visited {
	color:#0079CA;
	background-color:#DFDFDF;
	border:3px solid #000000;
	font:bold 125% Arial, Helvetica, sans-serif;	
	text-decoration:underline;
	padding:6px;	
	outline:none;
}

ul.controls a {
	display:block; 
	height:100%;	
}

div.controls {
	width:auto;
	height:100%;
	padding:12px 0;	
	margin-top:10px;
	overflow:auto;
	font-size:80%;
}

ul.controls {
	list-style-type:none;
	margin:0;
	padding:10px 10px 20px 0;
	font-size:80%;
	overflow:auto;
}

ul.controls li {
	display:block;
	float:left;		
	height:100%;
	overflow:auto;
	margin-right:5px;
}
/* ---- End Links ---- */


/* ---- Page Layout ---- */
#container {
	width:887px;
	height:100%;
	overflow:auto;
	margin:0 auto;
	padding:0;	
	background:url(../images/main_bg.jpg) no-repeat -14px 0;	
	position:relative;
}


#inner_container {
	width:700px;
	height:100%;		
	overflow:auto;	
	margin:0 auto;
	background-image:url(../images/innercontainer_bg.jpg);
	background-position:0 335px;			
	background-repeat:repeat-x;		
	text-align:left;	
	padding:20px 20px 0 30px;
	border-left:1px dotted black;
	border-right:1px dotted black;		
}

#top {
	width:887px;
	height:200px;
	overflow:auto;	
	position:relative;
}

#banner {
	width:212px;
	height:186px;	
	display:block;
	background:url(../images/banner.jpg) no-repeat;
	position:absolute;
	top:4px;
	left:149px;	
}

#nav, #nav ul {       
   width:700px;
   margin:5px auto;
   font:125% Georgia, "Times New Roman", Times, serif;    
   padding:0 5px 0 0;     
   height:20px;  
   overflow:auto;
   text-align:right;      
}

#nav li {
   display:inline;
   margin-left:8px;
}

#nav a {
	font-weight:bold;
	color:#70A0F1;	
	background:none;
	text-decoration:none;
}

#nav a:hover {
	border-bottom:1px solid #A7B7BA;	
	background:none;
	text-decoration:none;
}

#footer {
	width:700px;
	height:100%;
	overflow:auto;	
	margin:0 auto;		
	/*background:url(../images/main_bg.jpg) no-repeat -83px -229px #ffffff;		*/
	background:url(../images/footer_bg.jpg) repeat-x;	
	text-align:left;	
	padding:0 20px 0 30px;
	border-left:1px dotted black;
	border-right:1px dotted black;	
}

#footer #facebook-icon {
	text-decoration:none;	
}

#footer #facebook-icon img {
	border:0;	
}

#footer div {
	margin-top:40px;
	height:auto;
	overflow:auto;
	width:auto;
}

#footer ul {
	width:auto;
	text-align:center;
	padding-bottom:5px;
	border-bottom:1px solid #999999;
}

#footer p {
	text-align:center;
}

#footer li {
	margin:3px;
	display:inline;
}

#footer a {
	color:#00CC66;
	font-weight:normal;
	background:none;
}

#main {
   width:720px;
   height:100%;
   overflow:auto;
   padding:4px;     
   border-bottom:1px dotted #eeeeee;
   position:relative;
}

/* Holds the small thumbnails on the portfolio page */
#portThumbs {
	width:400px;
	height:100%;
	overflow:auto;	
}

#portThumbs img {	
	width:60px;
	height:60px;
	border:0;	
}

#portThumbs a {
	margin:4px;
	float:left;
	width:60px;
	height:60px;
	display:block;
	padding:2px;
	border:1px solid #dedede;
}

#portThumbs a:hover {
	margin:4px;
	float:left;
	width:60px;
	height:60px;
	display:block;
	padding:2px;
	border:1px solid #0099FF;
}

#portThumbs a.on {	
	border:1px solid #0099FF;
}


/* Used to display non-tabular data in rows */
.row {
	width:auto;
	height:100%;
	overflow:auto;
	clear:both;

}

.portItem {
	width:650px;
	height:100%;
	overflow:auto;
	padding:8px;
	background-color:white;
	border:1px solid #dcd7d7;
	margin-bottom:10px;
	padding:3px;
}

.portItem h2 {
	margin:0;
	padding:0;
}

.portItem img {
	float:left;
	background:white;
	margin-right:8px;
	padding:3px;
	border:1px solid #c1bce1;
}

.portItem .text {
	display:block;
	width:500px;
	float:left;
}


.portItem .inner {
	background:#ecece9;
	height:100%;
	overflow:auto;
	border:1px solid #c1bce1;	
	padding:10px;
}
/* ---- End Page Layout ---- */


/* ---- Lists ---- */

.list {
	list-style-type:circle;	
}

.no_bullet, .no_bullet ul  {	
	list-style-type:none;	
	margin:0;
	padding:0;
}

.no_bullet li {
	margin-bottom:6px;
}

.no_bullet a, .no_bullet a:visited {
	font-weight:bold;
	text-decoration:none;
	color:#0079CA;
}

.no_bullet h3, #resources h3 {
	border-bottom:1px dotted #999999;
	color:#3CA661;
}
/* ---- End Lists ---- */


/* ---- Forms ---- */
.textBox {	
	border:1px solid #9C6;	
	width:660px;
	background-color:#eee;
	padding:6px;
}

label {
	display:block;
	width:100px;	
	color:#3CA661;
	font:120% Georgia, "Times New Roman", Times, serif;
}

form, textarea, input {
	font:100% Verdana, Arial, Helvetica, sans-serif;
}

form .row {
	margin:3px;
}

form p {
	clear:both;
}

fieldset {
	border:0;
}

textarea {
	width:350px;
	height:250px;
}

.defaultButton {
	color:#0079CA;
	background-color:#DFDFDF;
	border:3px solid #000000;
	font:bold 125% Arial, Helvetica, sans-serif;	
	padding:6px;	
}

/* ---- End Forms ---- */

#sitesEx {
	width:618px; 
	height:100%; 
	overflow:auto; 
	margin:0 auto; 
	/*border:1px solid #666666;*/
}

#sitesEx img {
	width:200px; 
	height:150px;
	float:left;
	border:1px solid #cccccc;
	margin:2px;
}

.recImgHolder {
	height:100%;
	overflow:auto; 
	margin-top:10px; 
}

.recImgHolder img {
	display:block; 
	float:left
}

.recImgHolder div {
	clear:both;
	margin-bottom:10px;	
	overflow:auto;
}

.recImgHolder div.float {
	float:left;
	clear:none;		
	overflow:auto;
}

.recImgHolder div span {	
	display:block;
	width:100px;
	float:left;
	color:#0099FF;
	margin-left:3px;
}

.latestNews {
	width:340px; 
	float:left; 
	border:1px dashed #ccc; 
	height:100%; 
	overflow:auto;
	background:#eee;
	margin-right:8px;
	min-height:1650px;
	margin-bottom:20px;
}

.newsItem {
	height:100%;
	overflow:auto;	
	margin-bottom:10px;
	/*border-bottom:1px solid #E2E2E2;*/
	min-height:60px; /* For IE7 */	
	background:#eee;
	padding:10px;	
}

#archivedNews .day {
	color:#196ba2;
}

#archivedNews .year {
	color:#443939;
}

#archivedNews a {
	color:#196BA2;	
}

#archivedNews h3 {
	/*color:#4581e3;	*/
	color:#05c331;
}

.newsItem h3 {
	width:600px;
	float:left;
	margin:0;	
	padding:0 0 3px 0;
	margin-left:5px;	
	display:block;
	margin-top:26px;
	border-bottom:1px dashed #ccc;
	font-size:150%;	
}

.latestNews h3 {
	margin-top:0;
	width:250px;

}

.newsItem .text {
	clear:left;
	margin:0;
	padding:5px 0 0 5px;
	width:auto;	
}

.romanList {
	list-style-type: lower-roman;
}

#socialLinks {
	list-style-type:none;	
	margin:0;
	padding:0;
}

#socialLinks li {
	display:inline;	
}

#socialLinks a {
	border:0;
	text-decoration:none;
}

#socialLinks a img {
	border:0;
	padding:0 10px 0 0;
}


.skills {
	margin:0 5px 20px 0;
	padding:0;
	list-style-type:none;
	float:left;
	width:340px;
}

.skills a {
	display:block;
	background-color:#eee;
	border:1px solid #b1afaf;
	padding:6px;
	margin:5px 0;
	text-decoration:none;
	font-weight:normal;
}

.skills a:hover {
	background-color:#0079CA;
	color:white;
	border:1px solid #999;
}

#aboutPic {
	width:200px; 
	height:297px; 
	display:block; 
	float:right; 
	margin-top:13px; 
	padding:0 0 10px 10px; 
	background:white;
}

#aboutPic img {
	 border:1px solid #ccc;	
}

#referenceColOne {
	float:left; 
	width:350px; 
	margin-bottom:10px	
}

.referenceColOne ul + h4 {
	margin-top:40px;	
}

#referenceColTwo {
	float:right; 
	width:260px; 
	margin-bottom:10px	
}

#referenceList {
	margin:0 0 20px 0;
	background-color:#fff;
}

#referenceList dt {
	padding:6px;
	background-color:#eee;
	border-bottom:1px solid #ccc;
}

#referenceList dd {
	margin:0 0 10px 0;
	padding:6px;
	color:#fff;
	background-color:#797979;
}