/*********** global **********/
body {
	margin: 0;
	padding: 0;
	font-size: 14px;
	line-height: 18px;
	color: #252525;
	background: #111111;
	overflow-x: hidden;
	font-family: 'helvetica_neue', arial, helvetica, sans-serif;
}

img {
	border: 0;
	max-width: 100%;
	vertical-align: middle;
}

p {
	margin: 0;	
	padding: 0 0 20px 0;
}

p.lead_in {
	font-size: 18px;
	line-height: 22px;
	color: #acacac;
	padding: 0 0 28px 0;
}

p.read_more {
	text-align: center;
	padding: 10px 0 0 0;	
}

#logo {
	position: absolute; 
	top: 40px; 
	left: 5px;
}

.float_left {
	float: left;
}

.float_right {
	float: right;
}

.clearfix {
	clear: both;
}

.banner {
	padding: 120px 0 95px 0;
	text-align: center;
}

.banner h4 {
	font-weight: normal;
}

.center {
	padding: 300px 0 0 0;
	text-align: center;
}

.content_half {
	float: none;
	width: 100%;
	padding: 0 0 25px 0;
}



/********** hyperlinks **********/
a {
	color: #F3B403;
	text-decoration: none;
}

a:hover {
	color: #0061b2;
}

a:active { 
	outline: none; 
}

a:focus { 
	-moz-outline-style: none; 
}

:focus {
	outline: 0;
}



/********** fonts **********/
@font-face {
    font-family: 'helvetica_neue';
    src: url('helvetica_neue.eot');
    src: url('helvetica_neue.eot?#iefix') format('embedded-opentype'),
         url('helvetica_neue.woff') format('woff'),
         url('helvetica_neue.ttf') format('truetype'),
         url('helvetica_neue.svg#helvetica_neue') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'helvetica_neue_medium';
    src: url('helvetica_neue_medium.eot');
    src: url('helvetica_neue_medium.eot?#iefix') format('embedded-opentype'),
         url('helvetica_neue_medium.woff') format('woff'),
         url('helvetica_neue_medium.ttf') format('truetype'),
         url('helvetica_neue_medium.svg#helvetica_neue_medium') format('svg');
    font-weight: normal;
    font-style: normal;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 0;	
	font-weight: normal;
}

h1 {
}

h2 {
	font-size: 36px;
	line-height: 36px;
	text-transform: uppercase;
	font-weight: bold;
}

h3 {
	font-size: 16px;
	line-height: 24px;
}

h4 {
	font-size: 18px;
	line-height: 24px;
	font-weight: bold;
	padding: 0 0 25px 0;
}

h4.normal {
	font-size: 18px;
	line-height: 24px;
	font-weight: normal;
	padding: 0 0 25px 0;	
}

h4.white {
	font-size: 12px;
	line-height: 14px;
	font-weight: normal;
	padding: 0 0 25px 0;
	color: #ffffff;
}

h4.yellow {
	font-size: 14px;
	line-height: 18px;
	font-weight: bold;
	padding: 0 0 10px 0;
	color: #f3b403;
}

h5 {
	font-size: 14px;
	line-height: 18px;
	color: #acacac;
	font-weight: bold;
}

h5.white {
	font-size: 14px;
	line-height: 18px;
	color: #ffffff;
	font-weight: bold;
}

h5.yellow {
	font-size: 14px;
	line-height: 18px;
	color: #f3b403;
	font-weight: bold;
	padding: 0 0 20px 0;
}

h5.red {
	font-size: 14px;
	line-height: 18px;
	color:  #ff0000;	
}



/********** lists **********/
ul.listing {
	margin: 0;
	padding: 0;
}

ul.listing li {
	margin: 0 0 0 1.5em;
	padding: 0;
}



/********** preloader **********/
#preloader {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #111111; /* change if the mask should have another color then white */
	z-index: 10000; /* makes sure it stays on top */
}

#status {
	width: 200px;
	height: 200px;
	position: absolute;
	left: 50%; /* centers the loading animation horizontally one the screen */
	top: 50%; /* centers the loading animation vertically one the screen */
	background-image: url(../im/progress.gif); /* path to your loading animation */
	background-repeat: no-repeat;
	background-position: center;
	margin: -100px 0 0 -100px; /* is width and height divided by two */
}



/********** navigation **********/
#bg_top {
	display: none;
}

#btn_search {
	width: 42px;
	height: 36px;
	position: absolute;
	top: 45px;
	right: 10px;
	z-index: 1000;	
	-webkit-box-shadow: -1px 2px 5px 0px rgba(50, 50, 50, 0.55);
	-moz-box-shadow: -1px 2px 5px 0px rgba(50, 50, 50, 0.55);
	box-shadow: -1px 2px 5px 0px rgba(50, 50, 50, 0.55);
	display: block;
}

#search {
	width: 134px;
	line-height: 36px;
	height: 36px;
	color: #ffffff;
	background: #898989;
	padding: 0 13px 0 13px;
	position: absolute;
	top: 45px;
	right: 52px;
	z-index: 1000;
	font-size: 14px;
	border: 0;
	display: none;
}

#mobile_nav {
	display: block;	
}

#desktop_nav {
	display: none;
}

#btn_menu {
	display: none;
}

#main_nav {
	width: 100%;
	height: 35px;
	background: #f3b403;
	font-family: 'helvetica_neue_medium', arial, helvetica, sans-serif;
	color: #ffffff;
	font-size: 14px;
	line-height: 35px;
	text-align: center;
	top: 0;
	position: fixed;
	z-index: 1100;
	display: block;
}

.fixed {
	position: fixed !important;
	top: 0 !important;
	left: 0;
	z-index: 1000;
}

a#pull {  
	display: block;  
	width: 100%;  
	position: relative;
	color: #ffffff;  
}  

a#pull:after {  
	content:"";  
	background: url(../im/nav-icon.png) no-repeat;  
	width: 30px;  
	height: 30px;  
	display: inline-block;  
	position: absolute;  
	right: 0;  
	top: 8px;   
}  

#mobile_nav ul.main_nav_listing {
	display: none;
	width: 100%;
	margin: 0 auto 0 auto;
	padding: 0; 
	text-transform: uppercase;
}

#mobile_nav ul.main_nav_listing li {
	float: left;
	width: 100%;
	list-style-type: none;
	background: #f3b403;
}

#mobile_nav ul.main_nav_listing li a {
	color: #ffffff;
	padding: 0 25px 0 25px;
}

#mobile_nav ul.main_nav_listing li a:hover {
	color: #f47920;
	display: block;
}	

#mobile_nav ul.main_nav_listing li a.selected {
	color: #f47920;
	display: block;
}



/********** layout **********/
.story {
	margin: 0 auto;
	padding: 10px;
}

.story .float-left, .story .float-right {
	padding: 100px 0 0 0;
	position: absolute;
	width: 350px;	
}

#home, #about_us, #solutions, #services, #partners, #references, #contact_us {
	width: 100%;
}

#home {
	background: url(../im/bg_home.jpg) top center no-repeat;
	background-size: cover;
	color: white;
	margin: 0 auto 0 auto;
	padding: 0;
	position: relative;
	min-height: 750px;
}

	#home .center .list_carousel {
		background: url(../im/carousel_top.png) top center no-repeat;
	}
	
	#home .center .list_carousel li {
		font-size: 28px;
		line-height: 36px;
		padding: 45px 10px 0 10px;
		font-weight: bold;
	}

	#home #testimonial {
		width: 100%;
		height: 180px;
		padding: 70px 0 0 0;
		background: url(../im/bg_testimonials.png) top center no-repeat;
		text-align: center;
		font-size: 12px;
		line-height: 18px;
		font-style: italic;
		position: absolute;
		bottom: 0;
	}
	
	#home #testimonial .list_carousel {
		max-width: 70%;
		margin: 0 auto 0 auto;
	}
	
	#home #testimonial .list_carousel .testimonial  {
		font-size: 14px;
		line-height: 18px;
		font-weight: bold;
		padding: 0 0 20px 0;
	}

#about_us {
	background: url(../im/bg_about_us.jpg) top center no-repeat;
	background-size: cover;
	color: white;
	margin: 0 auto;
	padding: 0;
}

	#about_us #map {
		background: #ffffff url(../im/bg_map.jpg) top center no-repeat;
		background-size: cover;
		color: white;
		width: 100%;
		margin: 0 auto;
		padding: 0;
		clear: both;
		color: #252525;
		font-size: 14px;
		line-height: 18px;
	}
	
	#about_us #map #content_left {
		width: 88%;
		float: left;
		padding: 0 2% 0 0;
	}
	
	#about_us #map #content_right {
		width: 10%;
		float: left;
	}

#solutions {
	background: url(../im/bg_solutions.jpg) top center no-repeat;
	background-size: cover;
	color: white;
	margin: 0 auto;
	padding: 0;
}
	
	#solutions a {
		text-decoration: underline;
	}

	#solutions #solutions_content {
		background: #31373a;
		padding: 10px 0 10px 0;
	}
	
	#solutions .solutions_image {
		width: 50%;
		padding: 0;
		margin: 0 auto 0 auto;
	}
	
	#solutions .solutions_content {
		width: 100%;
		padding: 25px 0 0 0;
		float: none;		
		text-align: center;
	}
	
	#solutions .solutions_divider {
		clear: both;
		height: 50px;
	}
	
#solutions_details {
	background: url(../im/bg_solutions_details.jpg) top center no-repeat;
	/*background-size: cover;*/
	color: white;
	margin: 0 auto;
	padding: 0 0 0 0;	
}

	#solutions_details .banner {
		padding: 200px 0 95px 0;
	}

	#solutions_details #solutions_content {
		background: #31373a;
		padding: 10px 0 10px 0;
	}
	
	#solutions_details #solutions_content .clearfix {
		clear: none;
		float: left;
	}
	
	#solutions_details .solution_thumb {
		width: 48%;
		float: left;
		margin: 0 2% 2% 0;
		text-align: center;
		height: 220px;
	}
	
	#solutions_details .solution_thumb img {
		margin: 0 0 10px 0;
	}

#services {
	background: url(../im/bg_services.jpg) top center no-repeat;
	background-size: cover;
	color: white;
	margin: 0 auto;
	padding: 0;
}

	#services #services_content {
		padding: 0 10px 0 10px;	
	}
		
	#services .row {
		width: 100%;
	}
	
	#services #row_2 {
		margin: 0 12.5% 0 12.5%;
	}
	
	#services #row_1 .service:last-child, #services #row_2 .service:last-child {
		margin: 0 !important;	
	}
	
	#services .service img {
		padding: 0 0 25px 0;
	}
	
	#services .service {
		width: 20%;
		float: left;
		padding: 0 2.5% 10% 2.5%;
		text-align: center;
	}
	
	#services h5.white {
		font-size: 12px;
		line-height: 14px;
	}

#partners {
	background: #dddddd;
	color: #777777;
	margin: 0 auto;
	padding: 0;
}

	#partners #partners_content {
		background: #dddddd;	
	}
	
	#partners .partner {
		width: 33.13%;
		float: left;
		padding: 5% 0 5% 0;
		text-align: center;
		background: #eeeeee;
		margin: 0.1%;
	}

#references {
	background: url(../im/bg_references.jpg) top center no-repeat;
	background-size: cover;
	color: white;
	margin: 0 auto;
	padding: 0;
}

	#references_details .banner {
		padding: 200px 0 95px 0;
	}

	#references #references_content {
		background: #272425;	
		padding: 0;
	}
	
	#references .reference {
		background: #ffffff;
		width: 48%;
		color: #252525;
		float: left;
		margin: 0 1% 10px 1%;
		min-height: 600px;
		max-height: 600px;
		overflow: hidden;
	}
	
	#references .writeup {
		padding: 10px;
	}
	
#references_details {
	background: url(../im/bg_references_details.jpg) top center no-repeat;
	background-size: cover;
	color: white;
	margin: 0 auto;
	padding: 0 0 0 0;	
}

	#references_details #references_content {
		background: #f2f2f2;
		padding: 10px 0 10px 0;
		color: #252525;
	}
	
	#references_details .content_left {
		width: 100%;
		margin: 0 0 30px 0;
		float: none;
		-webkit-border-radius: 10px;
		-moz-border-radius: 10px;
		border-radius: 10px;
		-webkit-box-shadow: 7px 7px 20px 0px rgba(50, 50, 50, 0.5);
		-moz-box-shadow: 7px 7px 20px 0px rgba(50, 50, 50, 0.5);
		box-shadow: 7px 7px 20px 0px rgba(50, 50, 50, 0.5);
		background: #ffffff;
	}
	
	#references_details a {
		color: #777777;
	}
	
	#references_details a.selected {
		color: #252525;
		font-weight: bold;
	}
	
	#references_details a:hover {
		color: #252525;
	}
	
	#references_details ul.references_listing {
		margin: 0;
		padding: 0;
	}
	
	#references_details ul.references_listing li {
		line-height: 18px;
		list-style-type: none;
		border-bottom: 1px dotted #cccccc;
		background: transparent;
		margin: 0;
		padding: 10px 15px 10px 15px;
	}
	
	#references_details ul.references_listing li:first-child {
		background: #ebb209;
		-webkit-border-top-left-radius: 10px;
		-webkit-border-top-right-radius: 10px;
		-moz-border-radius-topleft: 10px;
		-moz-border-radius-topright: 10px;
		border-top-left-radius: 10px;
		border-top-right-radius: 10px;
		color: #ffffff;
		font-size: 18px;
		font-weight: bold;
	}
	
	#references_details ul.references_listing li:last-child {
		border-bottom: none;
	}
	
	#references_details .content_right {
		float: none;
		width: 100%;
	}

#contact_us {
	background: #111111;
	color: white;
	margin: 0 auto 0 auto;
	padding: 0;
}

	#contact_us .banner {
		padding: 70px 0 70px 0;
	}

	#contact_us #contact_us_content {
		background: url(../im/bg_divider.png) top repeat-x;	
		padding: 25px 0 25px 0;
	}
	
	#contact_us #contact_us_content #container {
		max-width: 960px; 
		margin: 0 auto 0 auto;
	}
	
	#contact_us table {
		margin: 0 auto 0 auto;	
	}
	
	#contact_us .contact_1, #contact_us .contact_2, #contact_us .contact_3 {
		width: 100%;
		margin: 0 0 50px 0;
		float: none;	
		text-align: center;
	}

#footer {
	background: url(../im/bg_divider.png) top repeat-x;	
	height: 50px;
	color: #ffffff;
	text-align: center;
	font-size: 12px;
	line-height: 50px;
	position: relative;
	bottom: 0;
	width: 100%;
}

/********** forms **********/
input, select, textarea {
	font-size: 14px;
	color: #545454;
}

input[type="submit"]::-moz-focus-inner, 
input[type="reset"]::-moz-focus-inner, 
input[type="button"]::-moz-focus-inner { /* remove buttons' border in firefox */
 	border: 0;
}

.textfield {
	width: 207px;
	height: 39px;
	padding: 0 15px 0 15px;
	line-height: 39px;
	border: 0;
	background: url(../im/bg_textfield_small.png) no-repeat;
}

.textfield_error {
	background: url(../im/bg_textfield_error_small.png) no-repeat;
}

.bg_textarea {
	width: 207px;
	height: 122px;
	background: url(../im/bg_textarea_small.png) no-repeat;
	padding: 15px;
}

.bg_textarea_error {
	background: url(../im/bg_textarea_error_small.png) no-repeat;
}

.textarea {
	width: 207px;
	height: 122px;
	border: none;
	resize: none;
}

.btn_clear {
	background: url(../im/btn_clear.png) no-repeat;
	border: none;
	cursor: pointer;
	height: 27px;
	width: 74px;
}

.btn_send {
	background: url(../im/btn_send.png) no-repeat;
	border: none;
	cursor: pointer;
	height: 27px;
	width: 74px;
	margin: 0 0 0 10px;
}

.error {
	color: #ff0000;
	display: none;
}



/********** tables **********/
table tr td {
	vertical-align: top;	
}

table.table_solutions tr td {
	margin: 0;
	padding: 40px 0 40px 0;
	border-bottom: 1px solid #5a5f61;
}

table.table_solutions tr:first-child td {
	padding: 0 0 20px 0;
}

table.table_solutions tr:last-child td {
	border-bottom: none;
}