/* SCREEN.CSS
   This is where all styles for on-screen media are declaired
   
   --------------------------------------------------------------------------------------------------------------------------
   FILE INFO
   Revision number:  1.1.1
   Last updated:     2008/10/14
   Last updated by:  Matt Wilcox
   ----------------------------------------------------------------------------------------------------------------------- */

/* =global_reset | based on http://meyerweb.com/eric/thoughts/2008/01/15/resetting-again/
   ----------------------------------------------------------------------------------------------------------------------- */
   
   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; }
   body {
     line-height: 1; }
   ol, ul {
     list-style: none; }
   blockquote, q {
     quotes: 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; }

/* =typography | based on http://alistapart.com/articles/settingtypeontheweb/
                          http://24ways.org/2006/compose-to-a-vertical-rhythm/
                          
    NOTE: found that margin-top applied to everything is be a pain - it often messes up layout and requires jumping through
          hoops to fix, so have stopped doing this as a default and now add top margin manually when required instead.
    NOTE: using px for type is bad for people using IE6, but good for my brain. IE6 is dying, so I think that's OK. Feel free
          to tut if you're a purist. I'm a pragmatist.
   ----------------------------------------------------------------------------------------------------------------------- */
   body {
     font : 93.75%/1.466 Verdana, Helvetica, Ariel, Verdana, sans-serif; }
   html > body {
     font : 15px/22px; }
   div, applet, object, iframe,
   h1, h2, h3, h4, h5, h6, p, blockquote, pre,
   address, img, dl, dt, dd, ol, ul, li,
   fieldset, form, label, legend,
   table, caption, tbody, tfoot, thead, tr, th, td {
     margin-bottom : 1.5em; }
   h1,
   .home h2 { font-size : 24px; line-height: 36px; margin-bottom: 18px; font-weight : normal; }
   h2 { font-size : 20px; line-height: 36px; margin-bottom: 18px; font-weight : normal; }
   h3, h4, h5, h6 {
     font-size : 18px; line-height: 18px; margin-bottom: 18px;
     font-weight : normal; }
   
/* =design | now the browser reset and basic typographic layout is done, lets get designing
   ----------------------------------------------------------------------------------------------------------------------- */
   
/* =html =body */
   html {
     background : #A7A8AA url(../images/footer-1.gif) 50% 100% no-repeat; }
   body {
     background : transparent url(../images/header-1.jpg) 50% 0 no-repeat; }
   body.about {
     background-image : url(../images/header-5.jpg); }
   body.services {
     background-image : url(../images/header-4.jpg); }
   body.business_benefits {
     background-image : url(../images/header-2.jpg); }
   body.case_studies,
   body.testimonials {
     background-image : url(../images/header-3.jpg); }
   body.recruitment,
   body.register {
     background-image : url(../images/header-5.jpg); }
   body.contact {
     background-image : url(../images/header-6.jpg); }

/* =h1 */
   #site_context h1,
   #page_context p {
     margin : 0; }
   
/* =h2 */
   #content_supp h2 {
     background-color : #eee; }
     
   #nav_main h2,
   #nav_supp h2 {
     display : none; }
     
   .home #content_main h2,
   #content_main h1,
   #pagination h2 {
     position : relative;
     display : inline-block; height : 44px; padding : 0 0 0 9px;
     font-size : 26px; font-weight : bold; color : #4D6EB5; background : url(../images/main-header-left.gif) 0 0 no-repeat; }
   .home #content_supp h2,
   #content_supp h2 {
     position : relative;
     display : block; width : 311px; height : 93px; margin-left : -19px; margin-top : -30px;
     text-indent : -999em; overflow : hidden; background : url(../images/h2-did-you-know.gif) 0 0 no-repeat; }
   
   .services #content_supp h2 {
     background-image : url(../images/h2-measuring.gif); }
     
   #site_info h2 {
     display : none; }
     
   .case_studies div.case_study h2 {
     padding : 80px 0 10px 50px;
     font-size : 22px; font-weight : bold; color : #4d6eb5; letter-spacing : -1px; line-height : 24px; background : url(../images/character-1.gif) 0 0 no-repeat; }
     
   #content_main h2 {
     color : #fff; font-weight : bold; letter-spacing : -1px; }
     
   .contact #content_main h2 {
     font-size : 18px; line-height: 18px; margin-bottom: 18px; }
     
/* =h3 */
   #content_main h3,
   .contact #content_main h2 {
     color : #4D6EB5; font-weight : bold; letter-spacing : -1px; }
     
   .register fieldset h3,
   .contact #content_main h2 {
     margin : .5em 20px 10px 20px; border-bottom : 1px dotted #4D6EB5; padding-bottom : 10px; }
     
/* =h4 */
   .register fieldset fieldset fieldset h4 {
     margin : 0 20px .5em 20px; border-top : 1px dotted #BED3FA; padding-top : .5em;
     font-size : 16px; color : #fff; letter-spacing : -1px; }
   .register fieldset fieldset fieldset.fs_vehicle-1 h4 {
     border-top : 0; }

/* =p */
   p.accessibility {
     position : absolute;
     margin : -3.5em 0 0 0;
     z-index : 2; }
     
   blockquote p:before {
     content : "\201c"; }
   blockquote p:after {
     content : "\201d"; }
   blockquote p.author {
     border-top : 1px dotted #666; }
   blockquote p.author:before,
   blockquote p.author:after {
     content : ""; }
     
   .attributed p {
     margin-bottom : 0; }
     
   label p.error {
     padding : .5em; color : #fff;
     background : #c00; text-align : left; }
     
   p.intro {
     padding : 0 200px 30px 0;
     font-size : 22px; font-weight : bold; color : #4d6eb5; letter-spacing : -1px; line-height : 24px; background : url(../images/border.gif) 0 100% no-repeat; }
     
   #site_info p {
     position : absolute; bottom : 6px; left : 120px;
     margin : 0;
     color : #fff; font-size : 12px; }
   
   p.captcha { margin-bottom: 1em;}
     
/* =blockquote */
   blockquote {
     clear : both; }

/* =em =strong =del =ins =abbr =acronym =code */
   em          { font-style : italic; }
   strong      { font-weight : bold; }
   del         { text-decoration : line-through; }
   ins         { text-decoration : none; color : #006; }
   del[title],
   ins[title]  { cursor : help; }
   acronym,
   abbr        { text-decoration : none; border-bottom : none; font-style : italic; cursor : help; }
   code        { font-family : dialogue, 'Courier New', courier, serif; }
   sup         { vertical-align : super; font-size : .8333em; }
   sub         { vertical-align : sub; }
   
/* =address */
   address {  }

/* =dl =dt =dd */
   dl {  }
   dt {
     margin-bottom : 0;
     font-weight : bold; font-style : italic; }
   dd {
     margin-top : 0;
     border-left : .3em solid #ddd; padding : .5em 0 0 .7em; }
   
/* =ul */
   #content ul {
     margin-left : 1em;
     list-style : disc outside; }
   #nav_main ul,
   #site_info ul {
     margin : 0; }
     
   #nav_main ul ul {
     position : absolute;
     display : none; padding : 0; }
   #nav_main ul li:hover ul {
     display : block; padding : 6px; margin : 0; }
     
   #site_info ul {
     position : absolute; bottom : 6px; right : 10px;
     margin : 0;
     font-size : 12px; }
     
   #pagination ul {
     margin-left : -1em; }
   
/* =ol */
   #content ol {
     margin-left : 1.6em;
     list-style : decimal outside; }

/* =li */
   li {
     margin : .5em 0; }
   #nav_main li,
   #site_info li,
   #pagination li {
     display : inline; margin : 0 0 0 1em; }
     
   #nav_main ul ul li {
     display : block; margin-bottom : 6px; border-bottom : 1px solid #000; }
     
/* =img */
   img,
   img a { border : none; }
   .attributed img {
     margin : 0; }
   
/* =hr */
   hr { display : none; }

/* =a */
   a:link    { color : #fff; text-decoration : none; }
   a:visited { color : #fff; text-decoration : none; }
   a:hover   { text-decoration : underline; }
   a:focus   { background-color : #ff9; color : #333; }
   a:active  { background-color : #ff6; color : #000; outline : none; }
   :target   { background-color : #ff6; }
   
   p.accessibility a {
     margin : 0; padding : 0; line-height : 1em; }
   p.accessibility a:focus {
     position : absolute; left : 1em;
     margin-top : 2.5em;
     background-color : #ffff99; }
     
   #site_context h1 a,
   #page_context p a {
     position : absolute; top : 14px; right : 0;
     display : block; width : 330px; height : 100px; margin : 0;
     overflow : hidden; text-indent : -999em; }
   #site_context h1 a:focus,
   #page_context p a:focus {
     background : transparent; outline : 3px solid #ff9; }
     
   #nav_main a {
     float : left;
     display : block; width : 77px; height : 35px;
     background : url(../images/nav_main.gif) 0 0 no-repeat; text-indent : -999em; overflow : hidden; }
   #nm_about a {
     width : 87px;
     background-position : -77px 0;}
   #nm_services a {
     width : 106px;
     background-position : -164px 0;}
   #nm_benefits a {
     width : 190px;
     background-position : -270px 0;}
   #nm_testimonials a {
     width : 143px;
     background-position : -460px 0;}
   #nm_recruitment a {
     width : 147px;
     background-position : -603px 0;}
   #nm_contact a {
     width : 98px;
     background-position : -750px 0;}

   .home #nm_home a {
     background-position : 0px -35px; }
   .about #nm_about a {
     background-position : -77px -35px; }
   .services #nm_services a {
     background-position : -164px -35px; }
   .business_benefits #nm_benefits a {
     background-position : -270px -35px;}
   .testimonials #nm_testimonials a {
     background-position : -460px -35px;}
   .recruitment #nm_recruitment a {
     background-position : -603px -35px;}
   .contact #nm_contact a {
     background-position : -750px -35px;}
   
   #ns_client a {
     position : absolute; top : 0; left : 10px;
     display : block; width : 310px; height : 160px;
     text-indent : -999em; overflow : hidden; }
   #ns_shopper a {
     position : absolute; top : 0; left : 330px;
     display : block; width : 310px; height : 160px;
     text-indent : -999em; overflow : hidden; }
   #ns_top a {
     position : absolute; bottom : 0; left : 10px;
     display : block; width : 90px; height : 20px;
     overflow : hidden; text-indent : -999em; }
     
   #ns_client a:focus,
   #ns_shopper a:focus,
   #ns_top a:focus {
     background-color : transparent; outline : 3px solid #ff9; }
     
   #content_supp a {
     color : #8F661E; }
     
   .recruitment #content_supp a,
   .register #content_supp a {
     display : inline-block;
     width : auto; height : auto; padding : 6px; border : 1px solid #fff; -moz-border-radius : 9px; -webkit-border-radius : 9px; border-radius : 9px;
     background : #D0962C; color : #fff; }
     
/* =table */
   table {
     width : 100%; border : 1px solid #ddd; }

/* =caption */
   caption {  }

/* =thead */
   thead {
     text-align : left; background : #ddd; }

/* =tfoot */
   tfoot {
     background-color : #ddd; }
   
/* =tbody */
   tbody {  }
   
/* =tr */
   tbody tr:hover { background-color : #f6f6f6; }
   
/* =th */
   th {
     font-weight : bold; padding : 2px; }

/* =td*/
   td {
     border : 1px dotted #ddd; padding : 2px; }

/* =form */
   form {
     position : relative;
     width : 100%;
     overflow : hidden; }
     
   #nav_main form {
     margin : 0; }
     
   .contact form {
      }
   
/* =fieldset */
   .register fieldset fieldset,
   .contact fieldset {
     background-color : #A6B7DA; border : 1px solid #000; -moz-border-radius : 9px; -webkit-border-radius : 9px; border-radius : 9px; }
   .register fieldset fieldset fieldset {
     border : none; }

/* =legend */
   legend {
     margin : 0; }
   
   #nav_main legend {
     display : none; }
   
/* =blockquote */
   blockquote {
     border-left : 5px solid #666; padding-left : 5px; }

/* =label */
   label {
     position : relative; /* so we can absolutely position errors */
     display : block;
     overflow : hidden; /* so no collapsing float issues */ }
     
   #content_main label {
     float : left;
     width : 275px; margin-left : 20px; }
   fieldset#message label {
     float : none;
     width : 570px; }
     
   .register #content_main label {
     width : 183px; margin-bottom : 15px; }
   .register #content_main .fs_address label {
     float : none; width : 100%; }
   .register #content_main label.question,
   .register #content_main .fs_experience label,
   .register #content_main .fs_distance label,
   .contact #content_main .fs_message label {
     float : none;
     width : auto; margin-top : 10px; }
     
   .register #content_main .fs_vehicle label {
     margin-bottom : 0; }
   
/* =input */
   input[type="text"],
   input[type="password"],
   textarea {
     border : 1px solid #000; }
   input[type="text"]:focus,
   input[type="password"]:focus,
   textarea:focus {
     background-color : #ffd; }
     
   label input {
     width : 96%; }
   .boolean input,
   .register #content_main .boolean input {
     width : auto; margin-right : .5em; }
     
   input,
   textarea,
   select {
     padding : 3px 4px; -moz-border-radius : 6px; -webkit-border-radius : 6px; border-radius : 6px;
     font : 14px/22px Verdana, Ariel, Helvetica; }
   div input {
     padding : auto; font : auto; }
     
   .register #content_main input {
     width : 173px; }
   .register #content_main .fs_address input,
   .register #content_main .fs_experience textarea,
   .register #content_main .fs_distance input {
     width : 450px; }
   
/* =textarea */
    textarea {
      width : 98%; height : 7em;
      font : 14px/22px Verdana, Ariel, Helvetica; }
    .contact #content_main .fs_message textarea {
     width : 580px; }


/* =select */
   label select {
     width : 100%; }
   select:focus {
     background-color : #ff9; }
     
   .register select {
     border : 1px solid #000; }
     
/* =div */
   #container {
     position : relative;
     width : 970px; margin : 0 auto; }
   #page_context,
   #site_context  {
     height : 400px; }
   #nav_main {
     position : absolute; top : 360px; left : 0;
     margin : 0; }
     
   #content_main {
     float : left;
     width : 630px; }
   #content_supp {
     float : right;
     width : 270px; padding : 9px 19px; margin-top : 2em;
     background : #e8cb96 url(../images/content_supp.gif) 0 100% no-repeat; font-size : 12px; }
     
   #site_info,
   #nav_supp {
     position : relative;
     height : 140px; margin-bottom : 0; } /*340*/
   #nav_supp {
     position : absolute; bottom : 0; left : 0;
     height : 360px; z-index : 2; }
     
   .contact form div {
     margin : 0; }
     
   .case_studies div.case_study {
     padding-bottom : 2em;
     background : url(../images/border.gif) 0 100% no-repeat; }
   
   #pagination {
     margin-bottom : 3em; }
     
/* =span */
   label span {
     display : block; }
   label.boolean span {
     display : inline; }
     
   .home #content_main h2 span,
   #content_main h1 span,
   #pagination h2 span {
     position : absolute; right : -12px; top : 0;
     display : block; height : 44px; width : 12px;
     background : url(../images/main-header-right.gif) 0 0 no-repeat; }
     
   .register label span,
   .contact #content_main  span {
     color : #4D6EB5; margin-bottom : 4px;
     font-size : 12px; }
   .register #content_main .fs_address span,
   .register #content_main .fs_experience span,
   .register #content_main .fs_distance span {
     float : left;
     display : block; width : 120px; margin-right:10px; padding-top : 4px; text-align : right; }
     
   .contact #content_main .fs_message span {
     display : none; }
   
/* =layout-classes */
   .float-left {
     float : left;
     margin-right : 30px; }
   .float-right {
     float : right;
     margin-left : 20px; }
   .float-left.last {
     margin-right : 0; }
   .clear {
     clear : both; }
     
   /* full width portions */
   .one-third {
     width : 300px; text-align : justify; /* text align to show column bounds */ }
   .two-thirds {
     width : 630px; text-align : justify; /* text align to show column bounds */ }
   .half {
     width : 465px; text-align : justify; /* text align to show column bounds */ }
     
   /* portions inside a two-third parent portion */
   .two-thirds .one-third {
     width : 190px; }
   .two-thirds .two-thirds {
     width : 410px; }
   
/* =display-classes */
   .attributed {
     padding : 9px; border : 1px solid #eee;
     background-color : #f6f6f6; }
     
   
   
   .register .fs_captcha label {
     width : 100%; }
   .register .fs_captcha span.captcha-hints {
		font-size: 0.8em; margin-left: 5px;
}