/*
 *  ====================================================================
 *  Begin RESET
 *  ====================================================================
*/

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,
article, aside, dialog, figure, footer, header,
hgroup, nav, section {
    margin: 0;
    padding: 0;
    border: 0;
    font-weight: inherit;
    font-style: inherit;
    font-size: 100%;
    font-family: inherit;
    vertical-align: baseline;
    }

article, aside, dialog, figure, footer, header,
hgroup, nav, section {
    display:block;
    }

body {
    line-height: 1.5;
    }

/* Tables still need 'cellspacing="0"' in the markup. */
table { border-collapse: separate; border-spacing: 0; }
caption, th, td { text-align: left; font-weight: normal; }
table, td, th { vertical-align: middle; }

/* Remove possible quote marks (") from <q>, <blockquote>. */
blockquote:before, blockquote:after, q:before, q:after { content: ""; }
blockquote, q { quotes: "" ""; }

/* Remove annoying border on linked images. */
a img { border: none; }

/*
 *  ====================================================================
 *  End RESET
 *  ====================================================================
*/

body {
    background-color: #f6f6f6;
    background-image: url(../images/header_bg.png);
    background-repeat: repeat-x;
    text-align: center;
    font-family: sans-serif;
    color: #444444;
}

a { color: #444444; }
a:hover { color: #000000; text-decoration: none; }
a:visited { color: #444444; }

p { padding: 10px 0; font-size: 15px; text-align: justify; }

#container {
    margin-left: auto;
    margin-right: auto;
    width: 800px;
    text-align: left;
    }

#header {
    width: 800px;
    height: 107px;
    }

#logo {
    float: left;
    position: relative;
    top: 10px;
    }

#nav {
    float: right;
    position: relative;
    top: 50px;
    }

.navButton {
    padding-bottom: 8px;
    margin-left: 12px;
    /* border-bottom: 1px solid #CCCCCC; */
    }

#content {
    width: 800px;
    min-height: 300px;
    text-align: center;
    padding-top: 20px;
    }

#content-contact {
    width: 800px;
    min-height: 300px;
    text-align: left;
    padding-top: 20px;
    }

#indexCube {
    }

.body-shadow {
    background: url(../images/cube_shadow.png);
    background-repeat: no-repeat;
    background-position: bottom;
    height: 575px;
    }

#login-page {  }
#login-page h2 { font-size: 28px; padding-bottom: 15px; }
#login-box { margin: 0 auto; width: 325px; padding: 10px 50px 0; margin-top: 50px; border: solid #CCCCCC; border-width: 0 1px; }
.login-form .input-block { padding-bottom: 10px; }
.login-form label { color: #666666; font-size: 14px; margin: 0; }
.login-form input.text { font-size: 18px; margin-bottom: 5px; width: 325px; }
#login-news { width: 375px; }
#login-news .news-title { font-size: 16px; }
.login-form .forgot-pw { padding-left: 20px; font-size: 12px; text-decoration: none; }
.login-form a { color: #CC0000; }
.login-form a:hover { color: #0000CC; }
#submit-button { padding-top: 15px; }


#process-page { color: #444444; font-family: sans-serif; }
#process-page hr { clear: both; color: #f6f6f6; }
#process-page-title { float: right; color: #CC0000; font-size: 43px; line-height: 1; padding-bottom: 10px; }
.process-step { clear: both; padding-bottom: 20px; }
.process-step-title { float: left; color: #CC0000; font-size: 26px; }
.process-step-subtitle { padding-left: 20px; float: right; color: #CCCCCC; font-size: 26px; }
.process-paragraph { clear:left; width: 800px; text-align: justify; }


#services-page { color: #444444; font-family: sans-serif; }
#services-page hr { clear: both; color: #f6f6f6; }
#services-page-title { float: right; color: #CC0000; font-size: 43px; line-height: 1; padding-bottom: 10px; }
#services-page #frameworks { padding-top: 20px; }
.services-step { clear: both; padding-bottom: 20px; }
.services-step-title { float: left; color: #CC0000; font-size: 26px; }
.services-step-subtitle { padding-left: 20px; float: right; color: #CCCCCC; font-size: 26px; }
.services-paragraph { clear:left; width: 800px; text-align: justify; }
#icon-tablet { padding-left: 15px; position: relative; top: -8px; }
#icon-chart { padding-right: 15px; position: relative; top: 8px; }


#workContentPage { margin-top: 10px; }
.workProject { padding-top: 25px; clear: both; }
.workProjectDetails { width: 200px; float: left; }
.workProjectDetails p { padding: 10px 20px 0 0; font-size: 12px; }
.workProjectDetails a { color: #CC0000; text-decoration: none; }
.workProjectDetails a.visitSite { color: #444444; text-decoration: none; }
.workProjectDetails a.visitSite:hover { color: #CC0000; text-decoration: none; }
.workProjectDetails a:hover { color: #000000; }
.workProjectDetails ul { padding-top: 10px;}
.workProjectDetails li { /* list-style-image: url("../images/work/li-bg.png"); */ list-style-type: disc; list-style-position: inside; font-size: 12px; }
.workProjectScreenshot { width: 600px; float: right; margin-bottom: 25px; }
.border { border: 1px solid #CCCCCC;}
.clientName { color: #CC0000; }


.contact-header {
    font-family: sans-serif;
    font-size: 24px;
    color: #333333;
    margin-bottom: 10px;
    }

#contact-page-left-pane {
    width: 400px;
    float: left;
    padding-bottom: 15px;
    }

#contact-page-right-pane {
    width: 400px;
    float: right;
    padding-bottom: 15px;
    }

#contact-address {
    float: left;
    width: 200px;
    margin-bottom: 35px;
    color: #444444;
    font-size: 15px;
    font-family: sans-serif;
    }

#contact-phone {
    float: left;
    width: 200px;
    margin-bottom: 35px;
    color: #444444;
    font-size: 15px;
    font-family: sans-serif;
    text-align: right;
    }

#contact-map {
    width: 400px;
    }

#contact-form {
    width: 350px;
    float: right;
    font-size: 15px;
    font-family: sans-serif;
    }

.contact-form-required-text {
    float: right;
    color: #999999;
    font-size: 12px;
    }

.validation-error {
    /* background-color: #CC0000; */
    color: #CC0000;
    width: 350px;
    text-align: right;
    }

.contact-field {
    padding-bottom: 10px;
    color: #444444;
    }

#contactSuccessPage {
    width: 800px;
    min-height: 350px;
    padding-top: 100px;
    text-align: center;
    font-family: sans-serif;
    color: #444444
    }

#contactSuccessNotice a {
    color: #333333;
    }
    
/* Recaptcha stuff

v\:* {
      behavior:url(#default#VML);
    }
*/
