/* common */

* {
	margin:0;
	padding:0;
}

body {
	font-family:"trebuchet ms", helvetica, arial;
	line-height:20px;
	background:#F6F6F6 url('../images/body_bg.jpg') no-repeat 50% 0 fixed;
	font-size:13px;
	color:#333;
	opacity:.99; /* type hack for firefox/mac */
}
img {
	border:none;
}

a {
	color:#693;
	text-decoration:none;
}
li {
	list-style:url(../images/li_squares.gif);
}
h2 {
		font-size:20px;
		line-height:25px;
		margin-bottom:15px;
		color:#693;
	}
	h3 {
		font-size:15px;
		line-height:25px;
		margin:5px 0 10px;
	}
	p, ul {
		font-size:13px;
		line-height:20px;
		margin-bottom:10px;
		color:#444;
	}
		li {		
			margin-left:20px;
		}
	a:hover {
		text-decoration:underline;
	}
	.even a {
		color:#7db828;
	}
	
/* common classes */
.right {
	float:right;
}
.left {
	float:left;
}
.clear_right {
	clear:right;
}
.clear_left {
	clear:left;
}

.thumb {
	margin-left:20px;
	text-align:center;
}

.thumb img {
	padding:4px;
	border:1px solid #ccc;
	margin:0;
}

.thumb span {
	text-transform:uppercase;
	color:#999;
	font-size:11px;
	font-weight:bold;
}

strong {
	color:#333;
}

/* rounded corner green background div */
.rounded {
	width:100%;
	float:left;
	background:#eaffa7;
}
	.rounded .top, .rounded .main, .rounded .bottom {
		float:left;
		width:100%;
	}
	.rounded .top, .rounded .bottom, .rounded .corner {
		height:10px;
		overflow:hidden;
	}

	.rounded .corner {
		width:10px;
		float:right;
	}

	.rounded .top {
		background:url('../images/1.gif') no-repeat top left;
	}
		.rounded .top .corner {
			background:url('../images/2.gif') no-repeat top right;		
		}
	.rounded .bottom {
		background:url('../images/4.gif') no-repeat top left;
	}
		.rounded .bottom .corner {
			background:url('../images/3.gif') no-repeat top right;
		}

.wrap {
	width:950px;
	margin:auto;	
}

/* #head */

#head {
	width:100%;
	background:url('../images/header_bg.gif') repeat-x;
	height:120px;
	overflow:hidden;
}
	#head .wrap {
		background:url('../images/header_fg.gif') no-repeat 65px 0px;
		height:120px;
		position:relative;
	}
	#head #logo {
		float:left;
		margin:22px 0 0 129px;
	}
	#head #tagline {
		float:left;
		width:317px;
		margin:31px 0 0 15px;
		background:url('../images/braces.gif') no-repeat;
		min-height:51px;
		height:auto !important;
		height:51px;
		padding:15px 27px 0 25px;
		font-size:13px;
		color:#edffc5;
		line-height:1.4em;
	}
		#head #tagline strong {
			color:#fff;
			font-weight:bold;
		}
	#head #lmp {
		position:absolute;
		right:50px;
		top:27px;
	}
	
/* #body */

#body {
	width:950px;
	margin:auto;
}
	#body .wrap {
		background:url('../images/body_fg.png') repeat-y 58px 0;
		width:100%;
		padding:45px 0 0 0;
		margin:0;
		float:left;
	}

	#body h1 {
		font-family:georgia, serif;
		font-size:30px;
		margin-bottom:25px;
		line-height:35px;
		font-weight:normal;
		color:#000;
	}
		#body h1 a {
			color:#000;
		}
		#body .perma h1 {
			padding-right:50px;
		}
		#body .perma .comment_bubble {
			float:right;
			background:url('../images/comment_bubble.gif') no-repeat;
			width:42px;
			height:37px;
			font-size:20px;
			font-family:georgia;
		}
			#body .perma .comment_bubble a {
				color:#693;
				display:block;
				padding:3px 5px 12px;
				text-align:center;
			}
				#body .perma .comment_bubble a:hover {
					text-decoration: none;
				}
	
	
	#main {		
		float:left;
		width:610px;
		margin:0 40px 0 90px;
	}
		/* POST STYLING */
		#body .post {
			margin:0 60px;
			position:relative;
			float:left;
			width:490px;
		}
			#body .post.even {
				margin:30px 30px;
				padding:25px 30px;
				background-color:#f8ffe8;
			}
			#body .post.even p, #body .post.even ul {
				color:#444;
			}
			
			#body .post p.image {
				text-align:center;
				/* float:left; */
				width:100%;
				margin:5px 0 15px; 
				background:#fff;
			}
				#body .post p.image a {
					line-height:0;
					display:block;
				}
					
					#body .post p.image img {
						border:1px solid #ddd;
						padding:19px;
					}

			
			/*date*/
			#body .post p.date {
				width:63px;
				height:72px;
				background:url('../images/date_tab.png') no-repeat;
				position:absolute;
				left:-123px;
				top:-4px;
				font-family:Georgia, serif;
				text-align:center;
				line-height:18px;
				padding:14px 0 0 5px;
				color:#666;
			}
				#body .post.even p.date {
					left:-93px;
					top:22px;
				}
				.post .date .month {
					font-size:15px;
					text-transform:uppercase;
				}
				.post .date .day {
					font-size:28px;
				}
				
			/*blockquote styles (links and quotes)*/
			
			#body .post p.link, #body .post p.quote {
				font-size:16px;
				line-height:25px;
				margin-bottom:15px;
				padding-left:50px;
				float:left;
				background-repeat:no-repeat;
				background-position:0 5px;
			}
			
			/*link*/
			#body .post p.link {
				background-image:url(../images/link.gif);
			}
				#body .post.even p.link {
					background-image:url(../images/link_green.gif);
				}
			
			/*quote*/
			#body .post p.quote {
				font-family:Georgia, serif;
				background-image:url(../images/quote.gif);
			}
				#body .post.even p.quote {
					background-image:url(../images/quote_green.gif);
				}
				#body .post blockquote.quote span {
					color:#999;
					font-style:italic;
				}
				
			/* CODE styling */
			pre {
				padding: 0;
				line-height:normal;
				margin:7px 0 15px;
				font-family:monaco, monospace;
				font-size:11px;
			}
			code {
				font-size:11px;
				font-family:monaco, monospace;
				color:#222;
				
			}
				
			/* RUBY (vibrant ink) */
			.ruby {
				background-color: black;	
			}
				.ruby code, .ruby code span {
					padding:0 0 1px;
					color:white;
					font-size:12px;
					font-family:monospace;
					font-weight:bold;
				}
				.ruby .keyword { color: #FF6600; }
				.ruby .constant { color: #339999; }
				.ruby .attribute { color: white; }
				.ruby .global { color: white; }
				.ruby .module { color: white; }
				.ruby .class { color: white; }
				.ruby .string { color: #66FF00; }
				.ruby .ident { color: white; }
				.ruby .method { color: #FFCC00; }
				.ruby .number { color: white; }
				.ruby .char { color: white; }
				.ruby .comment { color: #9933CC; }
				.ruby .symbol { color: white; }
				.ruby .regex { color: #44B4CC; }
				.ruby .punct { color: white; }
				.ruby .escape { color: white; }
				.ruby .interp { color: white; }
				.ruby .expr { color: white; }
				.ruby .offending { background-color: gray; padding:2px 0 !important; padding:0 0 1px;}
				.ruby .linenum {
					width: 75px;
					padding:3px 0.8em 2px 0pt;
					color: #000000;
					background-color: #FFFFFF;
				}
				#body .post.even .ruby .linenum {
					background-color:#F8FFE8;
				}
			
			/* CSS code */
			.css {
				font-size: 12px;
				color: #333;
			}
				.css code, .css code span {
					padding:0 0 1px;	
				}
				.css .selector { color: #693; }
				.css .punct { color: #333; }
				.css .property { color: #333; }			
				.css .value { color: #7DB828; }
				.css .comment { color: #999; font-weight:normal; }
				.css .offending { background-color: gray; padding:2px 0 !important; padding:0 0 1px;}
				/*
				.css .linenum {
					width: 75px;
					padding:3px 0.8em 2px 0pt;
					color: #000000;
					background-color: #FFFFFF;
				}
				#body .post.even .css .linenum {
					background-color:#F8FFE8;
				}
				*/
			
			#body .post p.caption {
				margin:-10px 0 15px 16px;
				font-size:11px;
				line-height:15px;
				color:#333;	
			}
							
			/* author */
			#body .post p.author {
				float:right;
				
				line-height:15px;
				text-align:right;
				width:100%;
				margin:0;
			}
			
				#body .post p.author strong {
					letter-spacing: 1px;
				}
					#body .post p.author strong a {
						letter-spacing:normal;
					}
				#body .post p.author span {
					font-size:10px;
					letter-spacing:1px;
					color:#999;
				}
					#body .post p.author span a {
						color:#999;
						letter-spacing: normal;
					}
						#body .post p.author span a:hover {
							color:#7db828;
						}
							
				/* author: permalink */
				#body .perma.post p.author {
					float:left;
					text-align:left;
					margin:9px 0 20px;
					padding-top:20px;
					border-top:1px solid #eee;
				}
					#body .perma.post p.author strong {
						color:#333;
					}
					
		/* COMMENTS */
		#comments {
			float:left;
			width:550px;
			padding:0 30px;
		}
			#comments h4 {
				float:left;
				font-size:15px;
				font-weight:bold;
				text-transform:uppercase;
				letter-spacing:1px;
				margin:15px 0 5px 30px;
				display:inline;
				width:520px;
				color:#333;
			}
				#comments h4 span {
					color:#666;
				}
			#comments .commentainer {
				float:left;
				background:#faffee;
				border-top:2px solid #d7eda5;
				padding:15px 30px 15px;
				width:490px;
				clear:left;
				margin:0;
			}
				#comments .commentainer.even {
					background:#fff;
				}
				#comments .commentainer.last {
					border-bottom:2px solid #d7eda5;
				}
				
				/* author */
				#comments .commentainer .author {
					float:left;
					width:120px;
					padding-right:10px;
					position:relative;
					
				}
					#comments .commentainer .author .name {
						display:block;
						float:left;
						clear:left;
						font-size:14px;
						font-weight:bold;
						color:#333;
						width:120px;
						overflow:hidden;
					}
						#comments .commentainer .author .name a {
							color:#3f7b04;
						}

					#comments .commentainer .author .date {
						display:block;
						float:left;
						clear:left;
						color:#999;
						font-size:11px;
						text-transform:uppercase;
						line-height:15px;
						width:120px;
					}
					#comments .commentainer .author .crew {
						position:absolute;
						width:50px;
						height:42px;
						top:-3px;
						left:-60px;
						background:url(../images/lmp_author.gif) no-repeat;
					}
						#comments .commentainer.even .author .crew {
							background:url(../images/lmp_author_even.gif) no-repeat;
						}
				
				/* comment */
				#comments .commentainer .comment {
					float:left;
					width:360px;
				}
					#comments .commentainer .comment p {
						font-size:12px;
						color:#444;
					}
					
					#comments .commentainer .comment blockquote p {
						border-left:1px solid #D7EDA5;
						padding-left:18px;
						font-family:georgia, serif;
						font-style:italic;
						color:#333;
					}
					#comments .commentainer .comment strong {
						color:#333;
					}
					#comments .commentainer .comment pre {
						margin-bottom:10px;
					}
					
				/* add a comment */
				#add {
					float:left;
					width:490px;
					padding:15px 30px;
					margin-bottom:20px;
				}
				#add h4 {
					width:490px;
					margin:20px 0 19px 0;
					padding-bottom:5px;
					border-bottom:1px solid #eee;
				}
				#add p {
					margin:0;
				}
					#add p strong {
						font-size:11px;
						color:#333;
					}
					#add p#html {
						margin-top:10px;
						font-size:11px;
					}
					#add p#html code {
						font-size:10px;
						color:#666;
					}
				#add p, #add label, #add input {
					float:left;
				}
				
				#add label {
					margin-bottom:10px;
				}
				#comment_left {
					float:left;
					width:190px;
				}
					#comment_left input {
						width:170px;
						border:1px solid #ddd;
					}
				#comment_right {
					float:left;
					width:300px;
				}
					#comment_right p a {
						font-size:11px;
					}
					#comment_right textarea {
						width:298px;
						height:184px;
						border:1px solid #ddd;
					}
					#comment_right input {
						font-weight:bold;
						padding:3px;
						float:right;
						border:1px solid #ddd;
						background:#eee;
					}
				
			
		/* footer */
		#footer {
			clear:both;
			float:left;
			padding:0 30px 0 90px;
			background:url(../images/footer_fade.png) bottom repeat-x;
			width:610px;
			text-align:center;
		}
			#body #footer_nav {
				width:550px;
				float:left;
				margin-bottom:150px;
				border-top:1px solid #eee;
				padding-top:15px;
			}
				#footer span {
					font-size:18px;
					line-height:30px;
					font-weight:bold;
				}
					#footer span a {
						color:#59a013;
					}
				#footer_nav span.left {
					float:left;
					padding-left:23px;
					background:url(../images/arrow_up.gif) no-repeat left;
				}
				#footer_nav span.right {
					float:right;
					background:url(../images/arrow_next.gif) no-repeat right;
					padding-right:23px;
				}
			#body p#copyright {
				font-size:12px;
				font-weight:bold;
				color:#bbb;
				text-transform:uppercase;
				letter-spacing:1px;
				padding:20px 0;
				margin:0 60px 50px;
				border-top:1px solid #ddd;
				width:490px;
			}
				#body p#copyright a {
					color:#777;
				}
				
				
				
/* #side */	
#side {
	float:left;
	width:200px;
}
	#side h4 {
		font-size:15px;
		text-transform:uppercase;
		letter-spacing:1px;
		margin:5px 0;
	}
	#side p {
		font-size:12px;
	}
	#side span {
		color:#999;
	}
	#side ul {
		list-style:none;
		float:left;
		clear:left;
	}
		#side ul li {
	margin:0;
	font-size:12px;
	border-bottom:1px dotted #ddd;
	width:200px;
	float:left;
		}
			#side ul li.blackruby a {
				padding:0 0 0 60px;
				background:url(../images/black_ruby.gif) no-repeat 0 0;
				width:140px;
				min-height:55px;
				height:auto !important;
				height:55px;
				margin-top:10px;				
			}
				#side ul li.blackruby a:hover {
					background:url(../images/red_ruby.gif) no-repeat 0 0;
				}
				#side ul li.blackruby a:hover strong {
					color:#333;
				}
				#side ul li.blackruby a:hover span {
					color:#999;
				}
		#side ul li a {
	color:#555;
	width:200px;
	float:left;
	padding-top: 5px;
	padding-right: 0;
	padding-bottom: 4px;
	padding-left: 0;
		}
			#side ul li a:hover {
				background:url(../images/hover_bg.png);
				text-decoration:none;
				color:#73ab23;
			}
				#side ul li a:hover span {
					color:#aadb3f;
				}
			#side ul li.active a {
	background: url('../images/li_active.gif') no-repeat 0 50%;
	font-weight:bold;
	padding-left:15px;
	color:#333;
	width: 185px;
			}
			#side ul li a strong {
				color:#555;
			}
				#side ul li a:hover strong {
					color:#693;
				}
		#side ul.clean li {
			padding:0;
			border:none;
			clear:left;
		}
			#side ul.clean li a {
				padding:0;
			}
		
		#side #rss h4 {
			margin:0;
			padding:15px 35px 5px 0;
			background:url('../images/rss.gif') no-repeat right 11px;
		}
		#twitter_panel {
			clear:left;
			padding:10px;
			background:#333;
			-moz-border-radius:3px;
			-webkit-border-radius:3px;
			margin:20px 0;
		}
			#twitter_panel h4 {
				color:#ddd;
			}
			#twitter_panel p {
				color:#999;
			}
		
/* rubyista post */

.presenter {
	padding:0 0 10px;
	margin:20px 0 0;
	border-top:1px solid #bbb;
}
.presenter_header img.speaker {
	float:right;
	border:none;
	padding-top:3px;
}
	.presenter_header {
		float:left;
		background:#eee;
		width:100%;
		margin-bottom:10px;
	}
		.presenter_header img {
		float:left;
		border-right:2px solid white;
		margin-right:10px;
	}
		.presenter_header ul {
				padding:5px;
				margin-bottom:0;
		}
		.presenter_header li {
			list-style:none;
		}
		.name {
			color:Black;
			font-size:16px;
		}
		.twitter {
			background:url(../images/twitter.gif) right no-repeat;
			padding-right:20px;
		}
			.summary span {
				color:#333;
				font-weight:bold;
				font-style:italic;
			}
			.presentation {
				margin-bottom:15px;
			}
