/**
 * Reset CSS, so that we start with the same in all browsers
 */
html, body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, p, blockquote, th, td {
    margin: 0;
    padding: 0;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
fieldset, img {
    border: 0;
}
address, caption, cite, code, dfn, em, strong, th, var {
    font-style: normal;
    font-weight: normal;
}
ol, ul {
    list-style: none;
}
caption, th {
    text-align: left;
}
h1, h2, h3, h4, h5, h6 {
    font-size: 100%;
}
q:before, q:after {
    content: '';
}

/**
 * Custom CSS starts here
 */

html {
    overflow-x: auto;
    overflow-y: scroll;
}

body {
    background-color: #eeeeec;
    font-family: sans-serif;
    font-size: 12px;
    line-height: 1.4em;
}

legend {
    color: windowtext;
}

/**
 * Overall site layout definitions
 */

.break {
	clear: both;
	height: 0px;
	float: none;
	float: none !important;
}

div.header {
    background-color: #58585a;
    border-bottom: solid 5px #d0e292;
}

div.header ul.navigation {
    width: 800px;
    margin: auto;

    list-style: none;
    height: 14px;
    padding: 2px 0px;
}

div.header ul.navigation li {
    float: right;
    margin-left: 2px;
}

div.header ul.navigation li#home {
    float: left;
    margin: 0;
}

div.header ul.navigation li a {
    display: block;
}

div.header ul.navigation li a img.flag {
    margin-right: 5px;
}

div.main {
    background-color: #97bf0d;
}

div.main div.centered {
    width: 800px;
    margin: auto;
    padding: 0px 0px 20px 0px;

    background-image: url( "/images/main_bg.png" );
    background-repeat: no-repeat;
}

div.main h1 {
    float: left;
    height: 71px;
    width: 221px;
	margin-bottom: 12px;
}

div.main h1 a {
    display: block;
    height: 71px;
    width: 260px;

    overflow: hidden;
    text-indent: -9999em;

    background-image: url( "/images/logo.png" );
    background-repeat: no-repeat;
    background-position: 0em 0px;
}

div.main ul.navigation {
    float: right;
    margin-top: 30px;

    border-bottom: 5px solid #b9d35b;
}

div.main ul.navigation li {
    display: inline;
}

div.main ul.navigation li a {
    display: inline-block;
    width: 80px;
    font-weight: bold;
    text-align: center;
    margin: 1px;

    text-decoration: none;
    color: #ffffff;
}

div.main ul.navigation li.requested a {
    font-weight: normal;
}

div.main div.content,
div.main ul.navigation li.requested a {
    color: #000000;

    border: 1px solid #ffffff;
    margin: 0px;
    background-color: #eff1cf;
}

div.main .box {
    border-top: 1px solid #ffffff;
}

div.main .box {
    vertical-align: top;
    padding: 8px 5px;
}

div.main li.box {
	padding: 8px 10px;
}

div.main div.services {
	list-style-type: none;
	padding: 0px;
	margin: 0px;

    background-image: url( "/images/service_top_background.png" );
    background-position: bottom;
    background-repeat: no-repeat;
}

div.main ul.services {
	list-style-type: none;
	padding: 0px;
	margin: 0px;
}

div.main ul.services li {
	width: 237px;
	float: left;
	margin-left: 15px;
}

div.main ul.services li.consulting {
	margin-left: 0px;
}

div.main ul.services li.training {
	width: 236px;
}

div.main ul.services h3 {
	text-align: center;
}

div.main ul.services p {
	margin-bottom: .5em;
}

div.main ul.services li > a {
	display: block;
	text-align: right;
}

div.main div.phrase {
    text-align: center;
    padding: 20px 0px;
}

div.main div.services_mid {
	padding: 0px;
	margin: 0px;

    background-image: url( "/images/service_mid_background.png" );
    background-position: bottom;
    background-repeat: no-repeat;
}

div.main div.stairways,
div.main div.life_cycle {
    height: 240px;
	width: 518px;
	float: left;
}

div.main div.life_cycle {
    background-image: url( "/images/graphic.png" );
    background-position: 210px 27px;
    background-repeat: no-repeat;
}

div.main div.stairdesc,
div.main div.twitter {
	width: 246px;
	margin-left: 16px;
	float: left;
}

div.main div.content div.height_limit {
    height: 240px;
    overflow: hidden;
}

div.main div.twitter h3 {
    margin-bottom: .3em;
    font-size: 1.2em;
}

div.main div.twitter img.icon {
    float: right;
}

div.main div.twitter p {
    margin-bottom: .6em;
    font-size: .9em;
}

div.main div.twitter p a {
    display: block;
    text-decoration: none;
    color: #000000;
}

div.main div.twitter p a:hover {
    text-decoration: underline;
}

div.main div.twitter p .date {
    display: block;
    color: #555753;
    text-decoration: none;
    font-size: .8em;
}

div.main div.content {
    clear: both;
    padding: 15px 10px 10px 10px;
}

div.main div.content a.read_more {
    display: block;
    float: right;
    overflow: hidden;
    text-indent: -9999px;
	text-align: left;
    
    width: 44px;
    height: 32px;

    background-image: url( "/images/read_more.png" );
    background-repeat: no-repeat;
}

div.main div.content#start a.read_more,
div.main div.content#content a.read_more,
div.main div.content#services a.read_more {
    position: absolute;
    bottom: 0;
    margin-left: 200px;

    overflow: hidden;
    text-indent: -9999px;
}

div.main div.content#start,
div.main div.content#content,
div.main div.content#services {
    position: relative;
    margin-bottom: 1.4em;
}

div.main div.content#start,
div.main div.content#content,
div.main div.content#services {
    padding: 0px;
    border: 0px;
    background-color: transparent;
}

div.main div.content#start h3 a,
div.main div.content#content h3 a,
div.main div.content#services h3 a {
    color: #000;
    text-decoration: none;
}

div.main div.content#start h3 a:hover,
div.main div.content#content h3 a:hover,
div.main div.content#services h3 a:hover {
    text-decoration: underline;
}

div.content div.admonition-disclaimer {
	margin:		1em 0 1em 0;
	padding:	1em 0 0 1em;
	border:		1px solid #647F09;
	width:		518px;
}

/**
 * Link button boxes
 */

div.main div.content div.admonition ul li {
    float: left;
}

div.main div.content div.admonition ul li p a {
    background: transparent none 0 0 no-repeat;
    display: block;
    margin: 2px 0;

    width: 32px;
    height: 32px;

    overflow: hidden;
    text-indent: -9999em;
}

div.main div.admonition ul {
    float: right;
    margin-top: -50px;

    list-style: none inside none;

    width: 180px;
}

div.main div.content div.admonition span.title {
	display:	none;
}

/**
 * Team link button boxes
 */

div.main div.content div.admonition-team-links ul {
    margin: 0px;
	padding: 0px;
	float: right;
	clear: right;
	margin-top: .5em;
    width: 160px;
}

div.main div.content div.admonition-team-links ul li:first-child p a {
    background-image: url( "/images/socialmedia/blog.png" );
}

div.main div.content div.admonition-team-links ul li:first-child + li p a {
    background-image: url( "/images/socialmedia/xing.png" );
}

div.main div.content div.admonition-team-links ul li:first-child + li + li p a {
    background-image: url( "/images/socialmedia/linkedin.png" );
}

div.main div.content div.admonition-team-links ul li:first-child + li + li + li p a {
    background-image: url( "/images/socialmedia/twitter.png" );
}

div.main div.content div.admonition-team-links ul li:first-child + li + li + li + li p a {
    background-image: url( "/images/socialmedia/ohloh.png" );
}

/**
 * Project link button boxes
 */

div.main div.content div.admonition-project-links ul {
    margin: 0px;
	padding: 0px;
	float: right;
	clear: right;
	margin-top: .5em;
    width: 124px;
}

div.main div.content div.admonition-project-links ul li:first-child p a {
    background-image: url( "/images/socialmedia/blog.png" );
}

div.main div.content div.admonition-project-links ul li:first-child + li p a {
    background-image: url( "/images/socialmedia/ohloh.png" );
}

/**
 * Project logos
 */

div.main div.right.logo {
	padding: 5px;
	margin-right: 35px;
}

div.main div.right.logo span.image_title {
	display: none;
}

div.footer {
    background-image: url( "/images/footer_bg.png" );
    background-repeat: repeat-x;
}

div.footer div.footer_content {
    width: 800px;
    margin: auto;
    padding: 20px 0px 10px 0px;
}

div.footer ul.navigation {
    float: right;
}

div.footer ul.navigation li {
    text-align: right;
    padding: 1px 0px;
}

div.footer ul.navigation li.legal {
    padding-top: 15px;
}

div.footer ul.navigation li a {
    text-decoration: none;
    color: #000000;
    font-size: 11px;
}

div.footer span.copyright {
    display: block;
    float: right;
    clear: right;
    padding: 11px 0px;

    color: #555753;
    font-size: 10px;
}

div.footer fieldset {
    padding-right: 5%;
    border-right: 1px solid #babdb6;
    width: 500px;
}

div.footer fieldset legend {
    font-weight: bold;
    font-size: 1.2em;
    margin-bottom: 10px;
}

div.footer fieldset input.name,
div.footer fieldset input.mail {
    width: 200px;
}

div.footer fieldset input.name {
    float: left;
}

div.footer fieldset input.mail {
    float: right;
}

div.footer fieldset textarea {
    clear: both;

    width: 500px;
    margin-top: 5px;
}

div.footer fieldset input.send {
    float: right;
    margin-top: 5px;
    width: 100px;
}

/**
 * TOCs
 */

div.content div.toc ul {
	padding-left:		15px;
	list-style-type: 	none;
}

div.content div.toc ul li {
	padding-top:		0px;
	margin-top:			0px;
}

div.content div.toc ul li p {
	margin-bottom:		7px;
}

/**
 * Start page specials
 */

div.content ul.benefits {
	padding-left: 20px;
}

ul.benefits > li {
	list-style-type: none;
	font-size:		 1.1em;
	line-height:     3em;
}

div.life_cycle a.whitepaper {
	display: block;
    position: absolute;
	top: 230px;
}

/**
 * Whitepaper
 */

div#whitepaper div.image.center {
	margin-bottom: 15px;
}

div#whitepaper div.image.center span.image_title {
	display: none;
}

div#whitepaper div.image.center img {
	padding-bottom: 1em;
	padding-top: 1em;
}

div#presentations div.image.left span.image_title,
div#whitepaper div.image.left span.image_title {
	display: none;
}

div#whitepaper div.image.left img {
	padding-bottom: 5px;
}

div#whitepaper div.image.right.outstanding {
	margin-left: 12px;
	margin-bottom: 10px;
}

div#whitepaper div.image.right.outstanding span.image_title {
	display: none;
}

/**
 * Support page
 */

div.content#support table td[colspan="3"] {
	text-align: center;
}

div.content#support table tbody tr:nth-child(odd) {
	background-color: #fafae5;
}

/**
 * Blog templates
 */

div.content ul.blog {
	padding: 0em;
	margin: 0em;

	list-style-type: none;
}

div.content ul.blog li {
	margin: 1em 0em .5em 0em;
	padding: 0em 0em 1em 0em;
}

div.content ul.blog li p {
	padding-left: 1.5em;
}

div.content ul.blog li span.comment {
	display: block;
	padding: 0em .2em;

	text-align: right;
	text-decoration: none;
}

div.content ul.blog li h3 {
    text-shadow: #babdb6 1px 1px 2px;
    margin-bottom: .5em;
}

div.content ul.blog li h3 a {
	color: #000000;
    text-decoration: none;
}

div.content ul.blog li h4 {
	font-size: 0.9em;
    margin-bottom: .5em;
	color: #647f09;
}

div.content ul.comments {
	padding: 0em 1em;
	margin: 0em;

	list-style-type: none;
}

div.content ul.comments li {
	margin: .5em;
	border: 1px solid #babdb6;
	padding: .1em;
}

div.content ul.comments li h4 {
	margin: 0em 0em .1em 0em;
	padding: 0em;

	font-size: 1.1em;
	font-weight: normal;
	color: #647f09;
}

div.content ul.comments li h4 a {
	display: inline;
}

div.content ul.comments li p {
	margin: 0em;
	padding: 0em;
}

div.content ul.comments li a.permalink {
	display: block;
	padding: 0em .1em;

	font-size: 0.9em;
	text-align: right;
	text-decoration: none;
}

div.content ul.bookmark {
	text-align: right;
	list-style-type: none;
	padding: .1em .3em;
	height: 1.2em;
}

div.content ul.bookmark li,
div.content ul.bookmark li a,
div.content ul.bookmark li img {
	margin: 0em;
	padding: 0em;
}

div.content div.content ul.bookmark li a:after {
	content: none;
}

div.content div.flattr {
    float: right;
}

span.scroll {
	display: block;
	clear: both;

	text-align: center;
}

span.scroll a {
	text-decoration: none;
}

/**
 * Search styles
 */
ul.search li {
	margin: .5em 0em;
}

ul.search li h3,
ul.search li h4 {
	margin: .2em 0em;
}

ul.search li h3 a {
	font-size: 1.1em;
	color: #000000;
}

ul.search li h4 {
	font-size: 1em;
	color: #555753;
}

ul.search li p {
	padding-bottom: 1em;
	border-bottom: 1px solid #babdb6;
}

div.content #search input[type="submit"] {
	float: right;
	clear: right;
}

/**
 * Custom text rendering enhancements
 */

div.content li p:last-child {
    margin: 0 0 .8em;
}

div.content div.image.center {
	width: 550px;
    margin: 0 0 1.5em;
	text-align:	center;
}

div.content div.image.center img {
	margin:	auto;
}

/**
 * Tooltips
 */

#tooltip {
    position: absolute;
    border: 1px solid #babdb6;
    background-color: #ffffff;
    font-size: .8em;
    padding: 5px;
    opacity: 0.85;
    width: 300px;
}

#tooltip h3 {
    font-size: 1em;
    font-weight: normal;
}

#tooltip h3, #tooltip div {
    margin: 0;
}


/**
 * Text rendering definitions
 *
 * Inspired by blueprint.css
 */

/* typography.css */
div.content h2,
div.content h3,
div.content h4,
div.content h5,
div.content h6 {
    font-weight: normal;
    color: #000000;
	clear: left;
}

div.content div.image {
	background-color: #fafae5;
    border: 1px solid #ffffff;
	padding: 1px;
}

div.content div.image img {
	display: block;
}

div.content div.image span.image_title {
	font-size: .8em;
}

div.content .right {
	float: right;
	clear: right;
	margin: 0em 0em 1em 1em;
}

div.content .left {
	float: left;
	clear: left;
	margin: 0em 1em 1em 0em;
}

div.content h2,
div.content h3 {
    text-shadow: #babdb6 1px 1px 2px;
}

div.content h2 {
    font-size: 2em;
    margin-bottom: 0.75em;
}

div.content h3 {
    font-size: 1.5em;
    line-height: 1;
    margin-bottom: 1em;
}

div.content h4 {
    font-size: 1.2em;
    line-height: 1.25;
    margin-bottom: 1.25em;
}

div.content h5 {
    font-size: 1em;
    font-weight: bold;
    margin-bottom: 1.5em;
}

div.content h6 {
    font-size: 1em;
    font-weight: bold;
}

div.content h2 img,
div.content h3 img,
div.content h4 img,
div.content h5 img,
div.content h6 img {
    margin: 0;
}

div.content p {
    margin: 0 0 1.5em;
    max-width: 550px;
}

div.content dl.footnote,
div.content div.note,
div.content div.toc {
    width: 170px;
	float: right;
	clear: right;
	margin-bottom: 1em;
	padding: 4px;

	background-color: #fafae5;
    border: 1px solid #ffffff;
	box-shadow: 2px 2px 2px #babdb6;
	-moz-box-shadow: 2px 2px 2px #babdb6;

	font-size: .9em;
}

div.content dl.footnote dt {
	float: left;
	font-weight: normal;
}

div.content dl.footnote dt a {
	text-decoration: none;
	color: #000000;
}

div.content a.footnote {
	vertical-align: super;
	font-size: .7em;
	text-decoration: none;
}

div.content p img.left {
    float: left;
    margin: 1.5em 1.5em 1.5em 0;
    padding: 0;
}

div.content p img.right {
    float: right;
    margin: 1.5em 0 1.5em 1.5em;
}

div.content a:focus,
div.content a:hover {
    color: #000;
}

div.content a {
    color: #647f09;
    text-decoration: underline;
}

div.content blockquote {
    margin: 1.5em;
    color: #666;
    font-style: italic;
}

div.content strong {
    font-weight: bold;
}

div.content em,
div.content dfn {
    font-style: italic;
}

div.content dfn {
    font-weight: bold;
}

div.content sup,
div.content sub {
    line-height: 0;
}

div.content abbr,
div.content acronym {
    border-bottom: 1px dotted #666;
}

div.content address {
    margin: 0 0 1.5em;
    font-style: italic;
}

div.content del {
    color: #666;
}

div.content pre {
    margin: 1.5em 0;
    white-space: pre;
}

div.content pre, code, tt {
    font: 1em monospace;
    line-height: 1.5;
}

div.content code.block {
    display: block;
    margin: 0em 0 1.5em;
    
    white-space: pre;

	border-left:	1px solid #647F09;
	padding-left:	1em;
}

div.content li ul,
div.content li ol {
    margin: 0;
}

div.content ul, ol {
    margin: 0 1.5em 1.5em 0;
    padding-left: 3.333em;
}

div.content ul {
    list-style-type: disc;
}

div.content ol {
    list-style-type: decimal;
}

div.content dl {
    margin: 0 0 1.5em 0;
}

div.content dl dt {
    font-weight: bold;
}

div.content dd {
    margin-left: 1.5em;
}

div.content table {
    width: 100%;
	max-width: 550px;
    margin: 0 1.5em 1.5em 0;
	border: 2px solid #000000;
	border-left: none;
	border-right: none;
}

div.content th {
    font-weight: bold;
}

div.content thead th {
	border-bottom: 1px solid #000000;
}

div.content th,
div.content td,
div.content caption {
    padding: 4px 10px 4px 5px;
}

div.content tr.even td {
}

div.content tfoot {
    font-style: italic;
}

div.content caption {
    background: #eee;
}

div.content .small {
    font-size: .8em;
    margin-bottom: 1.875em;
    line-height: 1.875em;
}

div.content .large {
    font-size: 1.2em;
    line-height: 2.5em;
    margin-bottom: 1.25em;
}

div.content .hide {
    display: none;
}

div.content .quiet {
    color: #666;
}

div.content .loud {
    color: #000;
}

div.content .highlight {
    background: #ff0;
}

div.content .added {
    background: #060;
    color: #fff;
}

div.content .removed {
    background: #900;
    color: #fff;
}

div.content .first {
    margin-left: 0;
    padding-left: 0;
}

div.content .last {
    margin-right: 0;
    padding-right: 0;
}

div.content .top {
    margin-top: 0;
    padding-top: 0;
}

div.content .bottom {
    margin-bottom: 0;
    padding-bottom: 0;
}


/* forms.css */
div.content label {
	display: block;
	width: 30%;
	text-align: right;
	clear: both;
	float: left;
	padding: 1em 0em 0em 0em;

    font-weight: bold;
}

div.content fieldset {
    padding: 1.4em;
    margin: 0 0 1.5em 0;
    border: 1px solid #ffffff;
	clear: both;
}

div.content fieldset p {
    clear: both;
}

div.content legend {
    font-weight: bold;
    font-size: 1.2em;
}

div.content input[type=text],
div.content input[type=password],
div.content input.text,
div.content input.title,
div.content textarea,
div.content select {
	width: 65%;
	float: right;

    /* Use native UI elements:
    background-color: #fff;
    border: 1px solid #bbb;
    */
}

input[name=url],
input[name=blog_url] {
	/* Catching spam bots */
	display: none;
}

div.content input[type="submit"] {
	width: 20%;
	float: right;
}

div.content input[type=text]:focus,
div.content input[type=password]:focus,
div.content input.text:focus,
div.content input.title:focus,
div.content textarea:focus,
div.content select:focus {
    /* Use native UI elements:
    border-color: #666;
    */
}

div.content input[type=text],
div.content input[type=password],
div.content input.text,
div.content input.title,
div.content textarea,
div.content select {
    margin: 0.5em 0;
}

div.content input.text,
div.content input.title {
    padding: 5px;
}

div.content input.title {
    font-size: 1.5em;
}

div.content textarea {
    height: 150px;
    padding: 5px;
}

div.content input[type=checkbox],
div.content input[type=radio],
div.content input.checkbox,
div.content input.radio {
    position: relative;
    top: 1em;
    left: 2em;
}

div.content form.inline {
    line-height: 3;
}

div.content form.inline p {
    margin-bottom: 0;
}

div.content .error,
div.content .notice,
div.content .success {
    padding: .8em;
    margin-bottom: 1em;
    border: 2px solid #ddd;
}

div.content .error {
    background: #FBE3E4;
    color: #8a1f11;
    border-color: #FBC2C4;
}

div.content .notice {
    background: #FFF6BF;
    color: #514721;
    border-color: #FFD324;
}

div.content .success {
    background: #E6EFC2;
    color: #264409;
    border-color: #C6D880;
}

div.content .error a {
    color: #8a1f11;
}

div.content .notice a {
    color: #514721;
}

div.content .success a {
    color: #264409;
}

