/* v1.0 | 20080212
   See: http://meyerweb.com/eric/tools/css/reset/
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
        margin: 0;
        padding: 0;
        border: 0;
        outline: 0;
        font-size: 100%;
        vertical-align: baseline;
        background: transparent;
}
ol, ul {
        list-style: none;
}
blockquote, q {
        quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
        content: '';
        content: none;
}

/* remember to define focus styles! */
:focus {
        outline: 0;
}

/* remember to highlight inserts somehow! */
ins {
        text-decoration: none;
}
del {
        text-decoration: line-through;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
        border-collapse: collapse;
        border-spacing: 0;
}


/* Site specific rules */
html {
     font-size: 12px; height: 100%;
}

body {
     font-family: Verdana, Arial, Tahoma, Serif; height: 100%;
}

a {
    outline: none;
}

.t_margin {
    margin-top: 35px; 
}

.no_margin {
    margin: 0px!important;
}

.clearer {
    clear: both;
}

.hidden {
    display: none;
}

.bold {
    font-weight:bold;    
}



.t_highlight {
    font-weight: bold;
}

.l_col, .r_col {
    float: left;
}

#main_container {
     background: #FFFFFF; height:100%; margin: auto; width: 100%;
}

#main_header {
     background: transparent url('../images/main_header_bg.gif') repeat-x left top;  height: 124px; width: 100%;
}

#header_container {
     background: transparent; margin: auto; height:100%; width: 970px;
}


#main_body {
     background: #FFFFFF; height: auto;
}

#content_wrapper {
   background: transparent url('../images/main_content_bg.gif') left top repeat-x; padding-bottom: 40px;
}

#content {
     height: 100%;  min-height: 530px;
}

.content_container {
     margin: auto; padding: 0px 47px; width: 870px;
}

#main_footer {
       background: #1f2023; color: #ebebeb; font-size: 12px; font-weight: bold; height: 305px; line-height: 15px; margin: auto; padding-top: 30px; width: 100%;
}


#id_link {
    float: right;
}

#id_link a {
    color: #FFFFFF; text-decoration: none;
}

#id_link span {
    color: #a0a0a0;padding-top: 10px; margin-right: 5px; vertical-align: middle;
}

/* Header rules start */
#header_container .l_col {
     height: 100%; width: 256px;
}

#header_container .l_col img {
     position: absolute; z-index: 20;
}

#header_container .r_col {
     height: 100%; width: 714px;
}

#header_container .r_col div {
     float: left;
}

#header_container .r_col #header_description {
     height: 26px; width: 714px;
}

#header_container .r_col #header_description span {
     color: #f2f2f2; display: inline-block; font-family: Arial; font-size: 10px; height: 26px; padding: 6px 0 0 12px; width: 714px;
}

#header_container .r_col #header_menu {
     height: 98px; width: 714px;
}

#header_container .r_col #header_menu img {
     float: right; margin: 32px 50px 0 0;
}

#main_menu {
     height: 32px; margin: 32px 0px 0px 0px; width: 458px;
}

#main_menu a {
    background: transparent url(../images/header/menu_bg.gif) no-repeat right -64px; display: inline-block; font-size: 16px; height: 32px; padding: 0 12px 0 0; margin-right: 17px; text-decoration: none; text-align: center;
}

#main_menu a span {
    background: transparent url(../images/header/menu_bg.gif) no-repeat left top; color: #717273; display: block; height: 27px; padding:5px 0 0 12px; position: relative;  text-align: center; white-space: nowrap;
}

#main_menu a:hover, #main_menu a.selected {
	background-position: right -96px;
}

#main_menu a:hover span, #main_menu a.selected span {
	background-position: 0 -32px;
}
/* Header rules end */

/* Content rules start */


#content .medium_col h1, #content .small_col h1 {
    color: #81b740; display: inline-block; font-size: 30px;  line-height: 12px; margin-bottom: 35px;
}

#content .medium_col h1 span, #content .small_col h1 span {
    clear: both; color: #464848; display: inline-block; font-size: 16px;  height: 14px;
}

#content .medium_col > p {
    color: #202123; line-height: 20px; 
}

#content .medium_col > ul {
    color: #202123; line-height: 14px; list-style-type: disc;
}

#content .medium_col > ul ul {
    color: #202123; line-height: 14px; margin-top:5px; 
}

.content_container {
    padding-top: 45px;
}

.errors {
   border: 1px solid #e62222;
   background-color: #ffc1c1;
   color: #cb0b0b;
   font-size: 100%;
}

.info, .success {
   border: 1px solid #129a3d;
   background-color: #a6ffc2;
   color: #129a3d;
   padding: 15px 20px;
}

.errors ul, .info ul{
   padding-left: 40px!important;
   list-style: none!important;
   margin: 16px 0px!important;
}

.small_col {
    float: left; width: 290px;
}

.medium_col {
    float: left; padding-right: 20px; width: 560px;
}
.medium_col p {
    margin-bottom:10px;
}
.medium_col ul {
    list-style-type:circle;
    margin-left:25px;
}
.medium_col li {
    margin-bottom:10px;
}

.t_center {
    text-align: center;
}

.f_left {
    float: left;
}

.f_right {
    float: right;
}

.bold {
    font-weight: bold;
}

.small_top_margin {
    margin-top: 5px !important;
}

#content p label {
    display: inline-block; width: 160px;
}

.medium_top_margin {
    margin-top: 17px;
}

a {
    color: #000000; text-decoration: underline;
}

.mailto_link {
    text-decoration: underline;
}

a.btn {
    border: 0; cursor: pointer; margin: 0px; overflow: visible; outline: none; padding: 0px; position: relative;
}

a.btn::-moz-focus-inner {
    border: none;  /* overrides extra padding in Firefox */
}

a.btn {
    background: transparent url(../images/buttons/black_bg.png) no-repeat right -68px; border: none;  display: inline-block; float: left;  font-size: 16px; font-style: bold; font-weight: bold;  height: 34px; padding: 0 31px 0 0;  text-decoration: none; text-align: center;
}

a.btn span {
    background: transparent url(../images/buttons/black_bg.png) no-repeat left top; border: none; color: #FFFFFF; display: inline-block; float: left; height: 28px; padding:6px 0 0 30px; position: relative;  text-align: center; vertical-align: top; white-space: nowrap;
}

a.btn:hover {
	background-position: right -102px;
}

a.btn:hover span {
	background-position: left -34px;
}


/* Content rules END */

/* Widgets rules START */
.widget_container {
     float: right; width: 287px;
}

.widget_container div {
     float: left; padding: 0px 15px; width: 257px;
}

.widget_container .header {
     background-position: left top; min-height: 88px;
}

.widget_container .footer {
     background-position: left bottom; height: 8px;
}

#services_widget .header, #services_widget .footer {
    background-image: url('../images/widgets/services/main_bg.png');
}

#services_widget .content {
    background: #ebebeb; color: #202123; font-size: 14px;;
}

#services_widget .content ul {
    list-style-image:url("../images/widgets/services/list_item_bg.gif"); margin-top: 15px; padding-left: 35px;
}

#services_widget .content ul li{
    padding-top: 0px; margin-bottom: 4px; 
}

#services_widget .content ul li a{
    display:inline-block; font-size:13px;  margin-top: 2px; vertical-align: top;
}

#enquiry_widget .header, #enquiry_widget .footer {
    background-image: url('../images/widgets/enquiry/main_bg.png');
}

#enquiry_widget{
    color: #b8b8b8;
}

#enquiry_widget .header {
    padding-top: 100px;
}

#enquiry_widget .content {
    background: #1f2023;
}

#enquiry_widget label {
     clear: both; display: inline-block; float: left; font-weight: bold; margin: 5px 0px; width: 300px;
}

#enquiry_widget input, #enquiry_widget textarea {
    background-color: #404144; border: 0px; clear: both; color: #b8b8b8; display: block; float: left; height: 30px; padding-left: 4px; width: 100%;
}

#enquiry_widget textarea {
    height: 50px;
}

#enquiry_widget button {
    clear: both; display: block; float: left;
}

#enquiry_widget label.error {
   color: #E62222;
}

#enquiry_widget input.error, #enquiry_widget textarea.error {
    border: 1px solid #e62222; background-color: #ffc1c1; color: #000000;
}

#enquiry_widget .errors,  #enquiry_widget .info{
    width: 227px;
}

#enquiry_widget .errors ul, #enquiry_widget .info ul {
    padding-left:10px!important;
}


/* Widgets rules END */

/* Home page rules START */
#home_banner {
    background: transparent url('../images/banners/home_bg.gif') repeat-x left top; height: 447px;
}

#home_banner a{
    text-decoration: none;
}

#home_banner .panel {
    background: transparent url('../images/banners/home_panel_bg.png') no-repeat left top; color: #FFFFFF;  display: inline-block; float: left; height: 403px; width:219px;
}

#home_banner a .panel.selected {
    background-position: left -401px;
}


#home_banner .panel .icon {
    background: transparent url('../images/banners/home_panel_icons.png') left top no-repeat; display: block; height: 40px; margin-top: 35px; margin-left: 86px; width:33px;
}

#home_banner .panel h1 {
     display: inline-block; font-size:30px; font-weight: bold; height: 40px; line-height:20px; margin: 20px 0; padding: 0 10px; text-align: center; width:199px;
}

#home_banner .panel p {
    display: inline-block; font-size: 12px; margin-top: 5px; padding: 0 10px; text-align: center; width:199px;
}


#home_banner a:hover .panel .icon {
    background-position: left -40px; margin-top: 26px;
}

#home_banner a:hover .panel h1 {
    line-height: 28px; margin-top: 22px;
}

#home_banner a:hover .panel p {
    line-height: 16px; margin-top: 10px;
}


#home_banner a:hover .panel {
    background-position: left -804px;
}

#home_banner #home_panel_db {
    background-position:left top; margin-left: 92px; width:33px;
}

#home_banner a:hover #home_panel_db {
    background-position:left -40px; margin-left: 94px;
}

#home_banner #home_panel_ntwk {
    background-position:-35px top;  margin-left: 93px; width:32px;
}

#home_banner a:hover #home_panel_ntwk {
    background-position:-35px -40px; margin-left: 94px;
}

#home_banner #home_panel_robot.icon {
    background-position:-69px -2px; width:42px;
}

#home_banner a:hover #home_panel_robot {
    background-position:-69px -45px;
}

#home_banner #home_panel_appdev.icon {
    background-position:-114px top; width:48px;
}

#home_banner a:hover #home_panel_appdev {
    background-position:-113px -45px;
}

.banner_content {
   margin:auto; padding: 40px 47px 0px 47px; width:876px;
}

#testimonial_carousel {
    margin: 0px; padding: 0px; width: 555px;
}

#testimonial_carousel ul{
    list-style:none;
}


#testimonial_carousel div{
   display: inline-block; float: left; height: auto; width: 555px;
}

#testimonial_carousel .item_top{
    background: #FFFFFF url('../images/home/testimonial_top_bottom.jpg') no-repeat left top; height: 20px;
}

#testimonial_carousel .item_middle{
    background: #FFFFFF url('../images/home/testimonial_middle.jpg') repeat-y left top; min-height: 20px;
}

#testimonial_carousel p{
    float: right; margin-right: 40px; margin-top: 15px; min-height: 100px; width:400px;
}

#testimonial_carousel p.credits{
    font-size: 12px; font-weight: bold; margin-top: 8px; min-height: 20px; text-align: right;
}


#testimonial_carousel .item_middle{
    background: #FFFFFF url('../images/home/testimonial_middle.jpg') repeat-y left top; min-height: 140px;
}


#testimonial_carousel img{
    float: left; margin-left: 15px; 
}


#testimonial_carousel .item_bottom{
    background: #FFFFFF url('../images/home/testimonial_top_bottom.jpg') no-repeat left bottom; height: 59px;
}



/* Home page rules END */

/* Services page rules START */
#services_banner {
    background: transparent url('../images/banners/services_bg.jpg') repeat-x center top; height: 368px;
}

#services_banner .banner_content {
    background: transparent url('../images/banners/services_hero_bg.jpg') no-repeat 47px top;  height: 368px; width:870px; padding-top: 0px;
}

#services_banner .banner_content p {
    float: left; margin-top: 170px; height: 102px; width: 530px;
}

#services_banner .banner_wrapper {
    margin: auto; width: 1570px;
}

#services_menu  {
    float: left; height: 96px;  margin: auto; width: 870px;
}

#services_menu li  {
    float: left;  width: 217px
}

#services_menu li:first-child  {
    margin-left: 1px
}

#services_menu li a {
    background: transparent url('../images/banners/services_menu_bg.jpg') left top no-repeat; display: inline-block; height: 96px;  width: 218px;
    color: #FFFFFF; font-size: 18px; font-weight: bold; text-decoration: none;
}

#services_menu li a:hover, #services_menu li a.selected {
    background-position: left -96px;
}

#services_menu li span {
    display: inline-block; float: left; margin: 19px 0 0 87px
}

/* Services page rules END */

/* About page rules START */
#about_banner {
    background: #e7e7e7 url('../images/banners/about_bg.jpg') repeat-x center top; height: 322px;
}

#about_banner .banner_content {
    background: transparent url('../images/banners/about_hero_bg.jpg') no-repeat 47px top;  height: 322px; width:870px; padding-top: 0px;
}

#about_banner .banner_content p {
    float: left; margin-top: 170px; width: 530px;
}
/* About page rules END */

/* Contact page rules START */
#contact_banner {
    background: #e7e7e7 url('../images/banners/contact_bg.jpg') repeat-x center bottom; height: 322px;
}

#contact_banner .banner_content {
    background: transparent url('../images/banners/contact_hero_bg.jpg') no-repeat 47px top;  height: 322px; width:870px; padding-top: 0px;
}

#contact_banner .banner_content p {
    float: left; margin-top: 170px; width: 530px;
}

#contact_banner .banner_wrapper {
    margin: auto; width: 1570px;
}

#contact_banner .banner_gutter {
    float: left; height: 322px; width: 350px;
}

#contact_banner .banner_gutter.left {
    background: transparent url('../images/banners/contact_gutter_left.jpg') no-repeat right bottom;
}

#contact_banner .banner_gutter.right {
    background: transparent url('../images/banners/contact_gutter_right.jpg') no-repeat left bottom;
}

#contact_form .header, #contact_form .footer {
    background-image: url('../images/contact/form_unsent_bg.jpg');
}

#contact_form.sent .header, #contact_form.sent .footer {
    background-image: url('../images/contact/form_bg.jpg');
}


#contact_form{
    color: #b8b8b8; float: left; padding: 0px; width: 551px;
}

#contact_form p{
    color: #b8b8b8!important; float: left
}


#contact_form .header {
     background-position: left top; height: 100px;
}

#contact_form .footer {
     background-position: left bottom; height: 10px;
}


#contact_form .content {
    background: #1f2023; padding-left: 15px;
}

#contact_form label.error {
    color: #E62222;
}

#contact_form input.error, #contact_form textarea.error {
    border: 1px solid #e62222; background-color: #ffc1c1; color: #000000
}

#contact_form label {
     clear: both; display: inline-block; float: left; font-weight: bold; margin: 5px 0px; width: 300px;
}

#contact_form input, #contact_form textarea {
    background-color: #404144; border: 0px; clear: both; color: #b8b8b8; display: block; float: left; height: 30px; padding-left: 4px; width: 520px;
}

#contact_form textarea {
    height: 50px;
}

#contact_form button {
    clear: both; display: block; float: left; outline: none;
}

#contact_form .errors,  #contact_form .info{
    width: 520px;
}

#contact_form .errors ul, #contact_form .info ul {
    padding-left:10px!important;
}

/* Contact page rules END */


/* Form styling rules START */
form .element_wrapper, form .checkbox_wrapper {
    margin-top: 10px;
}

form .group_wrapper {
    clear:both;
}

form .group_wrapper .element_wrapper, form .group_wrapper .checkbox_wrapper {
    float:left;
}

form button {
    border: 0; cursor: pointer; margin: 0px; overflow: visible; padding: 0px; position: relative;
}

form button::-moz-focus-inner {
    border: none;  /* overrides extra padding in Firefox */
}



form button {
    border: 0; cursor: pointer; margin: 0px; overflow: visible; margin-top: 10px; padding: 0px; position: relative;
}

form button {
    background: transparent url(../images/buttons/black_bg.png) no-repeat right -68px; border: none;  display: inline-block; float: left;  font-size: 16px; font-style: bold; font-weight: bold;  height: 34px; padding: 0 29px 0 0;  text-decoration: none; text-align: center;
}

form button span {
    background: transparent url(../images/buttons/black_bg.png) no-repeat left top; border: none; color: #FFFFFF; display: inline-block; float: left; height: 28px; padding:6px 0 0 30px; position: relative;  text-align: center; vertical-align: top; white-space: nowrap;
}

form button.green {
    background-image: url(../images/buttons/green_bg.png) ;
}

form button.green span {
    background-image: url(../images/buttons/green_bg.png);
}


form button:hover, button.hover {
	background-position: right -102px;
}

form button:hover span, button.hover span {
	background-position: left -34px;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
    /*Safari and Google Chrome only - fix margins */
    form button span {
        margin-top:-1px!important;
        padding-top: 6px !important;
    }

    form button  {

        padding-right: 28px;

    }
}

form label {
    float:left; display:inline-block; padding-top: 4px; width: 106px;
}

form .element_wrapper span {
    float:left; display:inline-block; padding-top: 4px;
}

form input[type="text"], form .form_text {
    width: 470px;
}

form textarea {
    height: 60px; width: 478px;
}

form select {
    width: 452px;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
	/* Safari and Google Chrome only - fix margins */
	form button span {
		margin-top: -1px;
	}
}

/* Form styling rules END */

/* Footer styling rules START */

#main_footer {
    color: #ebebeb; font-size: 11px; font-weight: bold;
}

.footer_col {
    float: left; height:260px; width:220px;
}

#main_footer h1 {
        color: #999898; font-size: 18px; font-weight: bold;
}

.social_links h1 {
    margin-bottom: 15px;
}

#main_footer p {
        display: inline-block; margin-top: 15px; width: 100%;
}

#main_footer ul {
        list-style-image: url('../images/footer/list_item_bg.gif'); margin-left: 20px;
}

#main_footer ul li {
        margin-top: 10px;
}

#main_footer label {
        float: left;  margin-right: 5px;
}

#main_footer span {
        float: left;
}

#footer_links {
    float: left; margin-left: 288px; margin-top: 111px;
}

#footer_links, #footer_links a {
     color: #FFFFFF;
}

#main_footer a {
    border-bottom: 1px solid #858687; color: #ebebeb; text-decoration: none;
}

#footer_links a:hover {
     text-decoration: underline;
}

#main_footer .social_links a, #id_link a {
    border-bottom: none;
}

#main_footer .social_links a {
    background: transparent url('../images/footer/social_links_bg.jpg') no-repeat left top; display: inline-block; height: 46px; width: 42px;
}

#main_footer .social_links a:hover {
    background-position: 0 -45px;
}

#main_footer #twitter_link {
    background-position: -43px 0;
}

#main_footer #twitter_link:hover {
    background-position: -43px -45px;
}

#main_footer #in_link {
    background-position: -85px 0; width: 43px;
}

#main_footer #in_link:hover {
    background-position: -85px -45px;
}


#main_footer #delicious_link {
    background-position: -130px 0;  width: 43px;
}

#main_footer #delicious_link:hover {
    background-position: -130px -45px;
}



/* Footer styling rules END */

