/* CLEAR */ * {
    margin: 0;
    padding: 0;
}

/* ELEMENT DEFAULTS */

body {
    font-size: 17px;
}

body, input, textarea {
    color: #222;
    font-family: trebuchet ms, helvetica, arial, verdana, sans-serif;
}

input, textarea {
    font-size: 12px;
}

strong {
    color: #666;
}

a {
    text-decoration: none;
    font-weight: bold;
    font-family: lucida grande, trebuchet ms, helvetica, arial, verdana, sans-serif;
    font-size: 90%;
    color: #36b;
}

a:hover {
    text-decoration: underline;
}

fieldset {
    border: none;
}

label {
    display: block;
}

button {
  background: #777;
  background: -webkit-gradient(linear, left top, left bottom, from(#ccc), to(#888));
	background: -moz-linear-gradient(top,  #ccc,  #888);
	font-weight: normal;
	font-size: .8em;
	color: #222;
	-webkit-border-radius: 14px;
	-moz-border-radius: 14px;
	border-radius: 14px;
	padding: 5px 20px;
	border: none;
	text-shadow: 0 1px 0 #ccc;
}

button:hover {
	background: #888;
	color: #fff;
}

button:active {
	background: #555;
	color: #ddd;
}

code {
	font-size: .8em;
	font-family: "Monaco", "Andale Mono", "Courier New", courier, monospace;
	color: #860c26;
}

iframe {
	border: 1px solid #aaa;
}

/* DEFINED CLASSES */

.meta {
	display: none;
}

.nobr {
	white-space: nowrap;
}

.addthis_right {
	opacity: .5;	
	float: right;
}
.addthis_right:hover {
	opacity: 1;
}	

/* CLEARFIX */

.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.clearfix {
	display: inline-table;
}
/* Hides from IE-mac \*/
* html .clearfix {
	height: 1%;
}
*+html .clearfix {
	height: 1%;
}
.clearfix {
	display: block;
}
/* End hide from IE-mac */

/* PAGE LAYOUT */

body {	
	background-color: #5e5b5b;
}

.container {
	width: 790px;
	margin: 0 auto;
	padding: 0;
}

.sky {
	background: #e5e5e5 url(../img/background.png) left top repeat-x;
	min-height: 500px;
}

.ground {	
	background: #5e5a5b url(../img/footer.png) left top repeat-x;
	min-height: 350px;
}

/* HEADER */

#header {
	/*text-align: center;*/
}

#header h1 {
	padding: 30px 0 0 0;
}

/* COLUMNS */

.left {
	float: left;
	width: 550px;
	margin: 0;
	padding: 0 10px 20px 0;
}

.right {
	float: right;
	width: 230px;
	margin: 0;
	padding: 0 0 20px 0;
}

.full {
	float: left;
	width: 800px; 
}

/* FOOTER */

#footer {
	padding: 5px 0 0;
	font-size: 10px;
	font-family: arial, verdana, helvetica, sans-serif;
	color: #444;
}

#footer h4 {
	display: none;
}

#footer ul#custom {
	display: block;
	margin: 5px 0 0;
	padding: 0;
	list-style: none;
}

#footer ul#custom li {
	display: block;
	float: left;
	margin: 0 .5em 0 0;
}

#footer a {
	font-family: lucida grande;
	color: #aab;
	font-weight: bold;
	text-decoration: none;
}

#footer img {
	float: right;
	margin: 10px;
	opacity: .2;
}

/* MENUBAR */

.menubar-wrapper {
	padding: 0 0 20px 0;
}

/* CRUMBS */

.crumbs-wrapper {
	padding: 0 0 10px 5px;
	font-size: .9em;
	clear: both;
}

ul.crumbs {
	list-style: none;
	list-style-image: none;
	list-style-position: inside;
}

ul.crumbs li {
	color: #aaa;
	float: left;
}

ul.crumbs li a {
	color: #99a8c4;
}

/* LINKS */

#links a {
}

/* ARTICLE */

.article {
	margin: 10px 0 0;
	color: #333;
}
.article h2 {
	color: #444;
	font-size: 17px;
	text-transform: uppercase;
}
.article p {
	margin: 21px 0 0;
}

.home .article {
	margin-bottom: 30px;
}

.article .liner {
	background: #eee;
	color: #666;
	padding: 2px 5px;
	border-bottom: 1px dashed #ddd;
}

/* NOT-A-BLOG */

.generic-index {
	margin-bottom: 20px;
}

.generic-index h3 {
  color: #444;
  font-size: 14px;
  text-transform: uppercase;	
	margin: 0;
	padding-left: 2px;
}

.generic-index ul {
	margin-top: 5px;
}

.generic-index li {
	background: #e1e1e1;
	padding: 2px 5px;
	font-size: .8em;
	list-style: none;
	list-style-image: none;
	margin-bottom: 5px;
}

.generic-index .date {
	display: block;
	font-family: arial, verdana, sans-serif;
	font-size: 10px;
	font-weight: normal;	
}

.generic-index .title {
	display: block;
}

/* NOT-A-BLOG ARTICLE */

.article.not-a-blog p {
	margin-bottom: 10px;
}
.article.not-a-blog h2 {
	margin-bottom: 0;
}
.article.not-a-blog .pub-info {
	color: #aaa;
	font-size: .8em;
	margin-bottom: 15px;
}

/* PROJECT ARTICLE */

.article.project {
	font-size: 90%;
	padding-bottom: 50px;
}
.article.project h1 {
	color: #C49F5D;
	text-transform: uppercase;
	margin: 0 0 15px;
}
.article.project h2,
.article.project h3,
.article.project h4 {
	margin: 0 0 5px;
}
.article.project p {
	margin: 0 0 15px;
}
.article.project pre {
  margin-bottom: 20px;	
}
.article.project ul,
.article.project ol {
	margin-bottom: 15px;
}
.article.project li {
	list-style-position: inside;
}
.article.project .introduction {
	font-size: 1.2em;
	padding-bottom: 12px;
}
.article.project ul.toc {
	list-style: none !important;
	list-style-image: none !important;
	list-style-position: inside !important;
	float: right;
	margin: 0 25px 5px 10px;
	padding: 15px;
	border: 1px solid #aaa;
	background: #eee;
}

/* INFO */

.info {
	font-size: 11px;
	margin-bottom: 37px;
	color: #555;
}

.info img {
	float: left;
	border: solid 4px #aaa;
	margin-right: 8px;
}

/* NEWS */

.news h3 {
  color: #444;
  font-size: 14px;
  text-transform: uppercase;  
  margin: 0;
  padding-left: 2px;
}

.news {
	/*font-size: 12px;*/
	color: #333;
}

.news ul {
  margin-top: 5px;	
}

.news li {
  background: #ccc;
  padding: 3px 6px;
  font-size: .76em;
  list-style: none;
  list-style-image: none;
  margin-bottom: 5px;	
}

.news abbr {
  font-family: arial, verdana, sans-serif;
  font-size: 10px;
  font-weight: normal;  
}

/* CUSTOMERS */

.customer {
	background: rgba(255,255,255,.2);
	padding: 15px;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	margin-bottom: 20px;
}
.customer p {
	font-size: 90%;
}

ul.customers {
	font-size: 90%;
	list-style: none;
	list-style-image: none;
	list-style-position: inside;
	margin: .3em 0 0 1ex;
}

/* PROJECTS */

ul.projects {
	list-style: none;
	list-style-image: none;
	list-style-position: inside;
	line-height: 1.3em;
}
ul.projects li {
	margin-top: 30px;
	padding: 10px 20px 8px 0px;	
	font-size: 80%;
}
ul.projects h2 {
	background: #cecece;
	padding: 4px 4px 4px 10px;
	margin-bottom: 4px;
	font-weight: bold;
	font-size: 120%;
}
ul.projects li h2 a {	
	color: #333;
}
ul.projects li h2 a:hover {
	text-decoration: none;
}
ul.projects p {
	margin: 10px 0 6px 4px;
	text-shadow: 0 1px 0 #ddd;
}
ul.projects dt {
	padding: 0px 2px;
	color: #222;
	font-weight: bold;
	display: block;
	width: 10ex;
	clear: both;
	float: left;
}
ul.projects dt:after {	
	content: ':';
}
ul.projects dd {
	padding: 0px 2px;
	color: #333;
	text-indent: 2ex;
  text-shadow: 0 1px 0 #ddd;  
}
ul.projects dd a {
  text-shadow: none;  
}

/* CONTACT */

#contact-wrapper {
	padding: 10px 40px;
}

form#contact {
	padding: 0;
	margin: 0;
}
.contact form#contact {
	margin: 10px 0 0 0;
}
#contact label {
	padding-left: 3px;
	color: #666;
}
#contact label:after {
	content: ': ';
}
#contact fieldset {
	display: block;
	padding: 0;
	margin: 0 0 5px;
}
#contact input,
#contact textarea {
	font-size: 1em;
	border: none;
	line-height: 120%;
	padding: 2px 3px;
	margin: 3px 0 0;
	border: 1px solid #aaa;
	border-top: 1px solid #666;
	border-bottom: 1px solid #ddd;
}
#contact input.inactive,
#contact textarea.inactive {
	color: #ccc;
}
#contact #subject {
	width: 90%;
}
#contact #sender {
  width: 90%;
}
#contact #message {
  width: 90%;
	height: 80px;
	font-size: .9em;
}
#contact textarea {
	height: 10em;
}
#contact .buttons {
	text-align: right;
	margin-right: 40px;
}
#contact .buttons button {
	margin: 5px 0 0 5px;
}
#contact #submit.disabled {
	opacity: .1;
}

a.big-download {
	display: block;
	padding: 1px;
	color: #0a3d10;
	text-shadow: 1px 1px 0px #9cffa1;	
	width: 232px;
	height: 90px;
	background: url(../img/download.png) left top no-repeat;
	text-align: center;
}
a.big-download span {
	text-transform: uppercase;
	display: block;
	font-size: 20px;
}

