body {
    margin: 0px;
    padding: 0px; 
    font-family: Verdana, Arial, helvetica, sans-serif;
    color: #3F3E43;
    background: #EFEFEF url('images/body-background.jpg') repeat-y top center;
    font-size: 0.7em;
}

#pre-header {
    width: 930px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 30px;
    padding-right: 30px;
    padding-top: 5px;
    padding-bottom: 3px;
    font-family: Georgia, Times New Roman, Serif;
}

#keywords {
    width: 279px;
    text-align: center;
}

#pre-header p, #pre-header ul {
    padding: 0px;
    margin: 0px;
}

#pre-header ul li {
    list-style-type: none;
    display: inline;
    float: left;
    padding-left: 7px;
    padding-right: 7px;
}

#pre-header ul li.br {
    border-right: 1px solid #66666A;
}

#pre-header ul li#theme-first {
    margin-left: 7px;
    padding-left: 0px;
}

#pre-header ul li.theme {
    padding-left: 1px;
    padding-right: 0px;
}

#pre-header ul li.theme a {
    border: 1px solid #EFEFEF;
    width: 14px;
    height: 14px;
    display: block;
}

#pre-header ul li.theme a span {
    width: 10px;
    height: 10px;
    display: block;
    margin: 2px;
}

#pre-header ul li.theme:hover { cursor: pointer; }

#pre-header ul li.theme a:hover, #pre-header ul li a.selected {
	border: 1px solid #89888B; 
	_cursor: pointer;
}

#pre-header ul li.theme a#blue span { background-color: #1D5686; }
#pre-header ul li.theme a#red span { background-color: #9B142B; }
#pre-header ul li.theme a#green span { background-color: #27765C; }

#main-container {
    background: url('images/container-background.jpg') repeat-y top center;
    min-width: 990px;
    margin-bottom: 0px;
}

#container-top {
    background: url('images/container-top.jpg') no-repeat top center;
    height: 30px;
}

#container {
    margin-left: auto;
    margin-right: auto;
    width: 990px;
    text-align: left;
    background: #FFFFFF;
}

#header {
    padding: 0px 0px 0px 0px;
    margin-bottom: 30px;
    height: 108px;
}

#logo {
    float: left;
    display: block;
    margin-right: 43px;
    margin-bottom: 0px;
    padding-left: 30px;
}


/* HOME AND ABOUT HEADER */
#header-desc {
    margin-left: 360px;
    padding-top: 16px;
}

#header-desc h1 {
    font-size: 1.5em;
    font-weight: bold;
    margin: 0px;
}

#header-desc p a {
    margin-bottom: 0px;
}

/* BLOG HEADER */
#header-blog {
    margin-left: 360px;
    padding-top: 16px;
    padding-right: 30px;
}

#header-blog h1 {
    font-size: 1.5em;
    font-weight: bold;
    margin: 0px;
}

#header-blog p a {
    margin-bottom: 0px;
}

/* OTHER HEADER */
#header-cta {
    float: right;
}

#header-cta #contact { 
    background: none; 
    padding-bottom: 0px;
    width: 495px;
    padding-top: 20px;
}

#header-cta #contact #phone {
    width: 247px;
}

#header-cta #contact #email {
    width: 247px;
}

#emailaddr {  /* USED FOR HEADER AND HOME AND CONTACT PGS */
    width: 153px;
    height: 16px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

#emailaddr:hover { /* USED FOR HEADER AND HOME AND CONTACT PGS */
    background-position: 0px -16px;
}


/* TOP NAVIGATION */
.topnav {
    width: 988px;
    margin-left: 1px;
    margin-right: 1px;
    height: 48px;
    margin-bottom: 1px;
}

.underline {
    border-bottom: 1px solid #E0E0E0;
    padding-bottom: 1px;
}

#navigation {
    margin:0px;
    list-style: none;
    padding-left:0px;
}

#navigation li {
    float: left;
}

#navigation a * {
    display: none;
}

#navigation a, #navigation a .hover {
    height: 48px;
    position: relative;
    display: block;
    background-repeat: no-repeat;
    background-position: right-top;
    cursor: pointer;
}

/* individual navigation items */
#navigation a.home {
    background-position: 0px 0px;
    width: 134px;
}

#navigation .highlight a.home:hover, #navigation a.home .hover {
    background-position: 0px -49px;
}

#navigation a.about {
    background-position: -134px 0px;
    width: 153px;
}

#navigation .highlight a.about:hover, #navigation a.about .hover {
    background-position: -134px -49px;
}

#navigation a.services {
    background-position: -287px 0px;
    width: 174px;
}

#navigation .highlight a.services:hover, #navigation a.services .hover {
    background-position: -287px -49px;
}

#navigation a.clients {
    background-position: -461px 0px;
    width: 187px;
}

#navigation .highlight a.clients:hover, #navigation a.clients .hover {
    background-position: -461px -49px;
}

#navigation a.technologies {
    background-position: -648px 0px;
    width: 177px;
}

#navigation .highlight a.technologies:hover, #navigation a.technologies .hover {
    background-position: -648px -49px;
}

#navigation a.contact {
    background-position: -825px 0px;
    width: 163px;
}

#navigation .highlight a.contact:hover, #navigation a.contact .hover {
    background-position: -825px -49px;
}

/* SUB NAVIGATION */
/* Styles for the entire LavaLamp menu */
.subnav {
    position: relative;
    height: 35px;
    width: 988px;
    background: url("/css/images/sub-nav-bg.jpg") repeat-x top;
    padding: 0px 0px 0px 0px;
    margin: 0px 1px 0px 1px;
    overflow: hidden;
    border-top: 1px solid #E0E0E0;
    border-bottom: 1px solid #E0E0E0;
}

/* Force the list to flow horizontally */
.subnav li {
    float: left;
    list-style: none;
    background: url('/css/images/sub-nav-spacer.gif') no-repeat top right;
}

.subnav li#no-spacer {
    background: none;
}

/* Represents the background of the highlighted menu-item. */
.subnav li.back {
    height: 35px;
    z-index: 8;
    position: absolute;
}

.subnav li.back .left {
    height: 35px;
    margin-right: 29px;
}

/* Styles for each menu-item. */
.subnav li a {
    position: relative; 
    text-align: center;
    height: 24px; 
    z-index: 10; 
    float: left; 
    display: block;
    padding-top: 11px;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 0.9em;
}

.subnav li a { 
    padding-left: 30px;
    padding-right: 30px;
}
    
.subnav li#no-spacer a { 
    padding-left: 35px;
    padding-right: 34px;
    background: none;
}

#top-banner {
    width: 988px;
    margin-left: 1px;
    margin-right: 1px;
    height: 160px;
    margin-bottom: 30px;
}

#inner-top-banner, #portfolio-inner-top-banner, #blog-inner-top-banner {
    padding-left: 30px;
    padding-right: 30px;
    padding-top: 15px;
    font-family: Georgia, Times New Roman, Serif;
    color: #FFFFFF;
    position: relative;
}

#inner-top-banner { 
    height: 74px;
    margin: 0px 1px 1px 1px;
    width: 928px;
}

#portfolio-inner-top-banner { 
    margin: 0px 0px 1px 0px;
    width: 930px;
    height: 55px;
}

#blog-inner-top-banner {
    height: 55px;
    width: 928px;
    margin: 0px 1px 1px 1px;
}

#inner-top-banner .overlay {
    position: absolute;
    left: 682px;
    top: 0px;
    width: 306px;
    height: 89px;
}

#experts {
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 5px 0px;
    font-size: 0.9em;
}

#inner-top-banner h2, #portfolio-inner-top-banner-content h2 {
    font-weight: normal;
    /*font-size: 1.5em;*/
}

#content {
    margin-left: 30px;
    margin-right: 30px;
    margin-top: 20px;
    /*font-size: 11px;*/
}

.centralise { text-align: center; }

#left {
    width: 435px;
    border-right: 1px solid #E0E0E0;
    padding-right: 30px;
}

#right {
    width: 434px;
    padding-left: 30px;
    border-left: 1px solid #E0E0E0;
    margin-left: -1px;
}

.container-bottom {
    background: url('images/container-bottom.jpg') no-repeat top center;
    height: 30px;
}

.portfolio-container-bottom {
    background: url('images/portfolio-container-bottom.jpg') no-repeat top center;
    height: 30px;
}

#footer {
    width: 990px;
    margin: 10px auto 10px auto;
    font-family: Georgia, Times New Roman, Serif;
    margin-top: 0px;
    font-size: 0.9em;
}

#footer ul {
    list-style-type: none;
    padding: 0px;
    margin: 0px;
}

#footer ul li {
    border-right: 1px solid #66666A;
    padding-left: 10px;
    padding-right: 10px;
    display: inline;
    float: left;
}

#footer ul li#leftborder { border-left: 1px solid #66666A; }
#footer ul li#noborder { border: none; }

#footer ul li.image {
   border-right: 0px;
   background: url('images/footer-spacer.gif') no-repeat right 6px;
}

#footer ul li img {
    position: relative;
    top: 1px;
}

#footer ul li.text {
    margin-top: 6px;
}

#footer ul li#first {
    padding-left: 30px;
}

#footer ul li.last {
    padding-right: 30px;
    border-right: none;
}

.grey {
    color: #88878B;
}

/* STACKS */
.stack {
    padding: 0px 0px 37px 0px;
    background: url('images/stack-seperator.png') no-repeat center bottom;
    position: relative;
}

.stack img {
    margin-right: 15px;
}

.stack h2, .stack h2 a { 
    margin: 0px; 
    font-weight: bold;
    font-size: 1em;
}

/*.stack .stack-content h2 { color: #3F3E43; }*/

.stack-content { 
    margin-left: 55px;
}

.stack p {
    margin-top: 0px;
}

.stack .grey {
    /*font-size: 10px;*/
}

#stack-first { 
    padding-top: 0px; 
}

#stack-last { 
    background: none;
    padding-bottom: 0px;
}

.stack .mt5 { margin-top: 5px }
.noimgstack h2 { margin-bottom: 3px; }

p.small { font-size: 0.9em; }

a.imglink, a.serviceimglink {
    width: 86px;
    height: 70px;
    display: block;
}

a.serviceimglink {
    float: left;
}

#design-dev {
    background: url('images/globe.png') no-repeat top left;
}

#design-dev:hover {
    background-position: 0px -70px;
}

#bespoke-app {
    background: url('images/mob-and-screen.png') no-repeat top left;
}

#bespoke-app:hover {
    background-position: 0px -70px;
}

#onlinemarketing-seo {
    background: url('images/magnifier.png') no-repeat top left;
}

#onlinemarketing-seo:hover {
    background-position: 0px -70px;
}

.green #green-content {
    width: 380px;
    float: left;
    color: #717E2E;
}

.green h3 {
    /*font-size: 16px;*/
    font-weight: normal;
    font-size: 1.4em;
}

/* CONTACT, CASE STUDIES */
#rndcnrlft {
    background: url('images/rounded-corner-left.png');
    width: 7px;
    height: 35px;
    float: left;
}

#rndcnrlink {
    background: #FFFFFF url('images/rounded-corner-middle-top.png') repeat-x;
    margin: 0px;
    padding: 10px 10px 0px 10px;
    height: 25px;
    float: left;
}

#rndcnrrght {
    background: url('images/rounded-corner-right.png');
    width: 4px;
    margin: 0px;
    padding: 0px;
    height: 35px;
    float: left;
}

/* CALL TO ACTION */
.cta {
    text-align: center;
    padding: 15px 20px 0px 20px;
}

#cta-img {
    padding: 0px;
}

#online-marketing-cta-background {
    background: url('/css/images/marketing-ui-cta.png') no-repeat right 0px;
    height: 87px;
    padding: 15px 20px 0px 20px;
}

#web-design-dev-cta-background {
    background: url('/css/images/design-dev-cta.png') no-repeat right 0px;
    height: 61px;
    padding: 20px 20px 0px 20px;
}

.cta h2, .cta h2.sf {
    color: #FFFFFF !important;
    margin-bottom: 10px;
}

.cta #rndcnrlft {
    background: url('images/dbl-rounded-corner-left.png');
    width: 7px;
    height: 41px;
    float: left;
    margin-bottom: 20px;
}

.cta p#rndcnrlink {
    margin: 0px;
    padding: 7px 0px 9px 0px;
    text-align: center;
    background: #FFFFFF url('images/rounded-corner-middle-top.png') repeat-x;
    float: left;
    width: 383px;
}

.cta #rndcnrrght {
    background: url('images/dbl-rounded-corner-right.png');
    width: 4px;
    margin: 0px;
    padding: 0px;
    height: 41px;
    float: left;
}

/* HOME AND CONTACT PGS CONTACT DETAILS */
#contact {
    background: url('images/stack-seperator.png') no-repeat center bottom;
    padding-bottom: 38px;
}

#contact #phone {
    border-right: 1px solid #E0E0E0;
    width: 216px;
}

#contact #phone img {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

#contact #phone #phone-heading {
    margin-bottom: 9px;
}

#contact #email {
    width: 217px;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

#contact #email #email-heading {
    margin-bottom: 15px;
}

/* SERVICES OVERVIEW AND ERROR/T+C PAGES */
.tleft {
    width: 300px;
}

.tcentre {
    width: 327px;
    margin-left: -1px;
}

.tright {
    width: 301px;
    margin-left: -1px;
}

#top .tleft, #top .tcentre, #top .tright {
    border: none;
    text-align: center;
}

#top .tcentre, #top .tright {
    margin-left: 1px;
}

.tleft ul, .tcentre ul, .tright ul, .tleft ul li, .tcentre ul li, .tright ul li {
    list-style-type: none;
    margin-left: 0px;
    text-align: center;
    padding-left: 0px;
}

.tleft ul li, .tcentre ul li, .tright ul li {
    line-height: 200% !important;
    background: none !important;
    padding-left: 0px !Important;
}

a.imglink { 
    float: none; 
    text-align: center;
    margin: 0px auto 15px auto;
}

#icons img {
    margin-right: 15px;
}

#icons img.nm {
    margin-right: 0px;
}

/* --- GLOBAL --- */
h1 {
    /*font-size: 17px;*/
    font-size: 1.5em;
    margin: 0px 0px 10px 0px;
    padding: 0px;
}

h2, h2 a {
    margin: 0px;
    padding: 0px;
    font-weight: normal;
    font-size: 1.5em;
}

h3, h3 a {
	font-weight: bold;
	margin: 0px;
	padding: 0px;
}

.sf { 
    font-family: Georgia, Times New Roman Serif; 
}

a {
    font-family: Georgia, Times New Roman Serif;
    text-decoration: none;
    font-weight: bold;
}

a, a:focus, a:hover { outline: none; }

a:hover, a.selected { color: #3F3E43; }

p {
    margin: 10px 0px 10px 0px;
    padding: 0px;
    line-height: 150%;
}

#content ul {
    margin-left: 0px;
    padding-left: 0px;
}

#content ul, #content ul li {
    line-height: 150%;
    margin-bottom: 10px;
}

#content li {
    list-style-type: none;
    background: no-repeat left 6px;
    padding-left: 15px;
}

.cb {
    clear: both;
    height: 0px;
    font-size: 0%;
    line-height: 0%;
}

.cl { clear: left; }

.cr { clear: right; }

.fl { float: left; }

.fr { float: right; }

.leftmost { margin-left: 0px !important; }

.db { display: block; }

a img, img a { border: 0px; }

.nom-nop {
    margin: 0px;
    padding: 0px;
}

.nmb { margin-bottom: 0px; }
.nmt { margin-top: 0px; }
.mt15 { margin-top: 15px; }

.hr {
    background: url('images/stack-seperator.png') no-repeat center bottom;
    padding-bottom: 37px;
}

p.hr, ul.hr { margin-bottom: 0px; }

.full-width-hr {
    background: url('images/full-width-seperator.png') no-repeat center bottom;
    height: 20px;
    margin-top: 15px;
    margin-bottom: 20px;
}

/* FORMS */
label {
    width: 125px;
    padding-top: 4px;
    float: left;
    display: block;
    margin-bottom: 15px;
}

input, select, textarea {
    font-family: Verdana, Arial, helvetica, sans-serif;
    font-size: 10px;
    padding: 2px;
    float: left;
    width: 200px;
}

select {
    width: 150px;
}

textarea {
    width: 293px;
    overflow: auto;
    margin-bottom: 20px;
}