@charset "utf-8";

/* Reset inconsistent browser styles */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;}
body {line-height:1.5;}
table {border-collapse:separate;border-spacing:0;}
caption, th, td {text-align:left;font-weight:normal;}
table, td, th {vertical-align:middle;}
blockquote:before, blockquote:after, q:before, q:after {content:"";}
blockquote, q {quotes:"" "";}
a img {border:none;}
textarea {margin:0;}

/* Basic styles */
body {
	margin: 0px;
	padding: 0px;
	font: 16px/20px "Georgia", serif;
	color: #000000;
}
#content a {
	color: #0066CC;
}
#content a:visited {
	color: #660099;
}
#content a:hover {
	color: #0099FF;
}
#content th, #content td {
	vertical-align: top;
}
#content th {
	font-weight: bold;
	color: #000000;
}
#content textarea {
	margin: 0px;
	padding: 2px;
	display: block;
}
#content p, 
#content ul, 
#content ol, 
#content dl,
#content pre,
#content address {
	margin-top: 0px;
	margin-bottom: 10px;
}
#content em {
	font-style: italic;
	line-height: 19.9px; /* Fixes a line height bug on FF 3.5 */
}
#content strong {
	font-weight: bold;
	line-height: 19.9px; /* Fixes a line height bug on FF 3.5 */
}
#content small {
	font-size: 12px;
	line-height: 20px;
}
#content h1 {
	position: relative;
	top: -1px;
	margin-top: 40px;
	margin-bottom: 10px;
	font: 32px/40px "ITC Franklin Gothic Std Bk Cd", "Arial Narrow", "Arial", "Helvetica", sans-serif;
	color: #333333;
}
#content h2 {
	position: relative;
	margin-top: 30px;
	margin-bottom: 10px;
	font: 26px/40px "ITC Franklin Gothic Std Bk Cd", "Arial Narrow", "Arial", "Helvetica", sans-serif;
	color: #333333;
}
#content h3 {
	position: relative;
	top: 2px;
	margin-top: 20px;
	margin-bottom: 10px;
	font: 22px/40px "ITC Franklin Gothic Std Bk Cd", "Arial Narrow", "Arial", "Helvetica", sans-serif;
	color: #333333;
}
#content h1 + h2 {
	margin-top: 20px;
}
#content h2 + h3 {
	margin-top: 10px;
}
#content h1 a, 
#content h2 a, 
#content h3 a,
#content h1 a:visited, 
#content h2 a:visited, 
#content h3 a:visited {
	color: #333333;
	text-decoration: none;
	padding-left: 26px;
	background: transparent url(/img/arrow-right.png) no-repeat left 4px;
}
#content h1 a:hover, 
#content h2 a:hover, 
#content h3 a:hover {
	color: #A2CA23;
	text-decoration: none;
	padding-left: 26px;
	background: transparent url(/img/arrow-right-hover.png) no-repeat left 4px;
}
#content ul li {
	margin-left: 35px;
}
#content ol li {
	margin-left: 35px;
}
#content blockquote {
	margin: 20px 0px;
	border-left: 8px solid #CCCCCC;
	padding-left: 17px;
	font-size: 14px;
	font-style: italic;
}
#content pre {
	font: 12px/20px "Courier New", "Lucida Console", monospace;
	/*padding: 9px;
	border: 1px solid #CCCCCC;
	background-color: #EEEEEE;
	overflow: auto;*/
}
#content code {
	font: 12px/20px "Courier New", "Lucida Console", monospace;
}
.hidden {
	display: none;
}
.system-message-success,
.system-message-failure {
	padding: 9px 10px 1px 45px;
	font-family: "Arial", "Helvetica", sans-serif;
	margin-bottom: 10px;
}
.system-message-success {
	background: #EEEEEE url('/img/system-message-success.png') no-repeat 5px 4px;
}
.system-message-failure {
	background: #EEEEEE url('/img/system-message-failure.png') no-repeat 5px 5px;
}
.system-message-success *,
.system-message-failure * {
	position: relative;
	top: 1px;
}

/* Layout styles */
#page {
	margin: 0px auto;
	width: 860px;
	padding: 0px 30px;
}
#header {
	position: relative;
	height: 231px;
}
#logo {
	display: block;
	position: absolute;
	top: 33px;
	left: 20px;
}
#logo img {
	position: absolute;
	top: 0px;
	left: 0px;
	border: none;
}
#main-navigation, 
#main-navigation li, 
#main-navigation a, 
#main-navigation a:visited {
	font: 18px/30px "ITC Franklin Gothic Std Bk Cd", "Arial Narrow", "Arial", "Helvetica", sans-serif;
	color: #111111;
	text-align: right;
}
#main-navigation {
	position: absolute;
	top: 71px;
	right: 20px;
	list-style: none;
}
#main-navigation li {
	float: left;
	padding-left: 27px;
}
#main-navigation a {
	text-decoration: none;
}
#main-navigation a:hover, 
#main-navigation .active a {
	color: #A2CA23;
}
#balloon {
	position: absolute;
	top: 102px;
}
#content {
	padding: 2px 20px 35px 20px;
}
#introduction .col, 
#process .col, 
#rates .col {
	margin-left: 280px;
}
#services .col {
	margin-right: 350px;
}
#works .col, 
#contact-us .col {
	margin-right: 280px;
}
#content .sidebar {
	display: inline; /* Fixes IE6 double margin bug */
}
#introduction .sidebar, 
#process .sidebar, 
#rates .sidebar {
	float: left;
	width: 260px;
	margin: -4px 0px 10px -280px;
	padding-right: 20px;
	text-align: right;
}
#services .sidebar {
	float: right;
	width: 330px;
	margin: -4px -350px 10px 0px;
	padding-left: 20px;
	text-align: left;
}
#works .sidebar, 
#contact-us .sidebar {
	float: right;
	width: 260px;
	margin: -4px -280px 10px 0px;
	padding-left: 20px;
	text-align: left;
}
#footer {
	position: relative;
	padding: 21px 20px 40px 20px;
	border-top: 2px dotted #666666;
}
#bottom-navigation {
	list-style: none;
}
#bottom-navigation, 
#bottom-navigation li, 
#bottom-navigation a, 
#bottom-navigation a:visited, 
#copyright {
	font: 18px/30px "ITC Franklin Gothic Std Bk Cd", "Arial Narrow", "Arial", "Helvetica", sans-serif;
	color: #111111;
	text-align: left;
}
#bottom-navigation {
	list-style: none;
}
#bottom-navigation li {
	margin-right: 24px;
	display: inline;
}
#bottom-navigation a {
	text-decoration: none;
}
#bottom-navigation a:hover,
#bottom-navigation .active a {
	color: #A2CA23;
}
#back-to-top {
	position: relative;
	float: right;
	top: 4px;
	margin-left: 12px;
	width: 16px;
}
#copyright {
	text-align: right;
	display: none;
}

/* Common content styles*/
#content .summary {
	font: 20px/30px "ITC Franklin Gothic Std Bk Cd", "Arial Narrow", "Arial", "Helvetica", sans-serif;
	line-height: 30px;
	margin-bottom: 20px;
	color: #111111;
}
#content .tabs .labels {
	position: relative;
	margin: 20px 0px 0px 0px;
	padding: 0px;
	height: 40px;
	list-style: none;
	font-family: "Arial", "Helvetica", sans-serif;
	font-weight: bold;
}
#content .tabs .labels li {
	display: inline;
	float: left;
	margin: 0px 10px 0px 0px;
}
#content .tabs .labels li a,
#content .tabs .labels li a:visited {
	display: block;
	float: left;
	height: 40px;
	line-height: 40px;
	padding: 0px 20px;
	background-color: #CCCCCC;
	color: #000000;
	text-decoration: none;
	outline: none;
}
#content .tabs .labels li a.active {
	background-color: #EEEEEE;
	color: #000000;
}
#content .form {
	margin: 20px 0px 18px 0px;
	padding: 20px 20px 11px 20px;
	font-family: "Arial", "Helvetica", sans-serif;
	background-color: #EEEEEE;
}
#content .form .form-heading {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 21px;
	margin-top: -1px;
}
#content .form table {
	line-height: 1;
}
#content .form table thead th {
	padding: 2px 0px 13px 0px;
	border-bottom: 1px solid #CCCCCC;
}

/* Page-specific styles */

/* Page: introduction */
#introduction .person {
	margin-bottom: 20px;
}
#introduction .person p, 
#introduction .person ul {
	margin-left: 70px;
}
#introduction .person .picture {
	float: left;
	margin-left: -10px;
	margin-top: -8px;
	padding: 10px;
	background: transparent url(/img/picture-shadow-50-50.png) no-repeat;
}
#introduction .person .links {
	list-style: none;
}
#introduction .person .links li {
	display: inline;
	margin-left: 0px;
}
#introduction .person .links .linkedin,
#introduction .person .links .cv {
	margin-left: 5px;
	padding-left: 14px;
	background: transparent url(/img/bullet-grey-16.png) no-repeat left center;
}

/* Page: services */
#services .sidebar .summary {
	margin-right: 90px;
}
#services .sidebar .picture {
	float: right;
	margin-top: 6px;
}
#services .recommendation .author {
	font-weight: bold;
}

/* Page: process */
#process .process-model-charts {
	position: relative;
	height: 320px;
	margin: 20px 0px;
}
#process .waterfall-model-chart{
	float: left;
	margin-left: -10px;
	margin-top: -8px;
	padding: 10px;
	background: transparent url(/img/picture-shadow-190-318.png) no-repeat;
}
#process .iterative-model-chart {
	float: left;
	margin-left: 20px;
	margin-top: -8px;
	padding: 10px;
	background: transparent url(/img/picture-shadow-190-270.png) no-repeat;
}

/* Page: works */
#works .screenshot {
	margin-top: -8px;
	margin-left: -10px;
	padding: 10px;
	background: transparent url(/img/picture-shadow-260-195.png) no-repeat;
}
#works .screenshot.smf {
	background: transparent url(/img/picture-shadow-260-55.png) no-repeat;
}
#works .screenshot.prodev {
	background: transparent url(/img/picture-shadow-190-121.png) no-repeat;
}
#works .sitelink a {
	padding-left: 18px;
	background: transparent url(/img/link-arrow.png) no-repeat 0px 5px;
}
#works .sitelink a:visited {
	background: transparent url(/img/link-arrow-visited.png) no-repeat 0px 5px;
}
#works .sitelink a:hover {
	background: transparent url(/img/link-arrow-hover.png) no-repeat 0px 5px;
}

/* Page: rates */
#price-calculator table {
	width: 100%;
	margin-bottom: 14px;
}
#price-calculator .time,
#price-calculator .rate,
#price-calculator .sum {
	padding-left: 10px;
}
#price-calculator tbody .task,
#price-calculator tbody .rate,
#price-calculator tbody .sum {
	padding: 7px 0px;
}
#price-calculator tbody .time {
	padding-top: 2px;
	vertical-align: middle;
}
#price-calculator tbody .first .task,
#price-calculator tbody .first .rate,
#price-calculator tbody .first .sum {
	padding-top: 10px;
}
#price-calculator tbody .first .time {
	padding-top: 5px;
}
#price-calculator tbody .last .task,
#price-calculator tbody .last .rate,
#price-calculator tbody .last .sum {
	padding-bottom: 13px;
}
#price-calculator tbody .last .time{
	padding-bottom: 6px;
}
#price-calculator tfoot {
	font-style: italic;
}
#price-calculator tfoot td {
	border-top: 1px solid #CCCCCC;
	padding-top: 9px;
}
#price-calculator .time, 
#price-calculator .amount, 
#price-calculator .rate, 
#price-calculator .sum, 
#price-calculator .total {
	text-align: right;
}

/* Page: contact us */
#contact-details {
	margin-top: 0px !important;
	padding: 20px 20px 10px 20px;
}
#contact-details .person {
	border-bottom: 1px solid #CCCCCC;
	margin-bottom: 20px;
	padding-bottom: 2px;
}
#contact-details .person p,
#contact-details .person table {
	margin-left: 70px;
}
#contact-details .person table {
	margin-top: 1px;
	margin-bottom: 6px;
}
#contact-details .company table {
	margin-bottom: 1px;
}
#contact-details .person .picture {
	float: left;
	margin-left: -10px;
	margin-top: -8px;
	padding: 10px;
	background: transparent url(/img/picture-shadow-form-50-50.png) no-repeat;
}
#contact-details .skype {
	vertical-align: middle;
	margin-right: 4px;
}
#contact-details th {
	padding: 1px 0px 12px 0px;
}
#contact-details td {
	padding: 1px 0px 13px 0px;
}
#contact-details .label {
	padding-right: 20px;
	color: #666666;
}
#content #contact-form {
	margin-top: 0px !important;
}
#contact-form label {
	display: block;
	margin-bottom: 5px;
}
#contact-form .subject label {
	margin-bottom: 10px;
}
#contact-form .col-1,
#contact-form .col-2 {
	float: left;
	width: 153px;
	margin-right: 20px;
}
#contact-form .col-3 {
	margin-left: 346px;
}
#contact-form .subject {
	margin-bottom: 20px;
}
#contact-form .message,
#contact-form .contact-info,
#contact-form .time,
#contact-form .project-description,
#contact-form .self-description {
	margin-bottom: 23px;
}
#contact-form .url,
#contact-form .cv {
	position: relative;
	height: 50px;
	margin-bottom: 19px;
}
#contact-form .attachments {
	position: relative;
	height: 109px;
	margin-bottom: 21px;
}
#contact-form .message textarea,
#contact-form .contact-info textarea,
#contact-form .project-description textarea,
#contact-form .self-description textarea {
	width: 492px;
}
#contact-form .time textarea,
#contact-form .message textarea,
#contact-form .project-description textarea,
#contact-form .self-description textarea {
	height: 296px;
}
#contact-form .contact-info textarea,
#contact-form .time textarea {
	height: 146px;
}
#contact-form .url input,
#contact-form .attachments input {
	width: 450px;
}
#contact-form #attachment-1,
#contact-form #attachment-2 {
	margin-bottom: 6px;
}
#contact-form .submit{
	margin-bottom: 16px;
}

/* Spam honeypot field on the contacting form */
#t7969 {
	display: none;
	width: 1px;
	height: 1px;
	position: absolute;
}