@charset "utf-8";
/* CSS Document */

/* UNDO Html */
ul,ol { list-style:none }
h1,h2,h3,h4,h5,h6,pre,code { font-size:1em; }
ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,body,html,p,blockquote,fieldset,input { margin:0; padding:0 }
a img,:link img,:visited img { border:none }
address { font-style:normal }

/* Layout */
html {
	background: #ccc url(/images/global/bg_image.jpg) repeat-x;
}
body {
	padding: 0;
	margin: 0;
	width: 100%;
	display: table;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 62.5%;
	color: #000000;	
}

a {color: #2ab3d5; text-decoration: none;}
a:visited {color: #666;}
a:hover {color: #000;}
a:focus {outline: none;}

/* Used for debugging */
.redBorder {border: solid 1px red;}
.blueBorder {border: solid 1px blue;}

p {padding-bottom: 1.5em;}
.clearAll {clear: both;}
.center {text-align: center;}	
.hide {display: none;}
img { vertical-align: bottom }
.removeUnderline a {text-decoration: none;}
.whiteTextLink a {color: #FFF;}
.whiteTextLink a:hover {color: #2ab3d5;}
.bold {font-weight: bold;}
.normal {font-style: normal; font-weight: normal; font-size: inherit;}
.clearAll {clear:both;}
.floatLeft {float: left;}


.wrapper {
	width: 968px;
	margin: 0 auto;	
	background: #FFFFFF url(/images/backgrounds/bg_new.jpg) repeat-y center;
	}
	
#content {
	margin:370px auto 0;
	padding:20px;
	width:928px;
	font-size: 1.2em;
}


	
/* Header */	
#header {height: 157px;}
.logo {margin-left: 20px;}
.ie8 .logo {margin-left: 18px;}
.ie7 .logo {margin-left: 18px;}
.phoneNumber {color: #999; float: right;	font-size: 1.4em;	margin: 12px 34px 0 0;}	
.ie7 .phoneNumber {color: #999; float: right;	font-size: 1.4em;	margin: -90px 34px 0 0;}	


/* Nav */
.nav {margin: 28px 0 0 -3px; font-size: 1.4em;}



.sf-menu, .sf-menu * {
	margin:			0;
	padding:		0;
	list-style:		none;
}
.sf-menu {line-height:	1.0;}
.ie8 .sf-menu {margin: 28px 0 0 -3px;}
.ie7 .sf-menu {margin: 0px 0 0 -3px;}

.sf-menu ul {
	position:		absolute;
	top:			-999em;
	width:			10em; /* left offset of submenus need to match (see below) */
	margin-top: -4px;
}
.sf-menu ul li {/* width:			100%; */ font-size: 0.8em;} 

.sf-menu li:hover {visibility:		inherit; /* fixes IE7 'sticky bug' */}
.sf-menu li {float:	left;	position:		relative;}
.sf-menu a {display: block;	position:		relative;}
.sf-menu li:hover ul, .sf-menu li.sfHover ul {left:	0; top: 2.5em; /* match top ul list item height */ z-index:	99;}
ul.sf-menu li:hover li ul, ul.sf-menu li.sfHover li ul {top:	-999em;}
ul.sf-menu li li:hover ul, ul.sf-menu li li.sfHover ul {left:	10em; /* match ul width */top: 0;}
ul.sf-menu li li:hover li ul, ul.sf-menu li li.sfHover li ul {top: -999em;}
ul.sf-menu li li li:hover ul, ul.sf-menu li li li.sfHover ul {left: 10em; /* match ul width */ top:	0;}

/*** DEMO SKIN ***/
.sf-menu {float: left; margin-bottom:	1em;}
.sf-menu a {
	padding: 0 0 0 1.4em;
	text-decoration:none;
	font-size: 1.2em; 
	font-weight: normal;
}
.sf-menu a, .sf-menu a:visited  { /* visited pseudo selector so IE6 applies text colour*/	color: #999;}
.sf-menu li li a, .sf-menu li li a:visited  { /* visited pseudo selector so IE6 applies text colour*/	color: #fff;	margin-top: 4px; font-weight: bold;}
.sf-menu li {/* background:		#BDD2FF; */	margin-right: 	2.25em;}
.ie7 .sf-menu li {/* background:		#BDD2FF; */	margin-right: 	1.75em;}
.sf-menu li li li {background: #9AAEDB;	border: solid 1px #ccc;}
.sf-menu li:hover, .sf-menu li.sfHover, .sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active {outline:		0;}
.navNormal {
	background:	url(/images/global/tab_element.png) repeat-y;
	width: 144px;
	height: 24px;
	padding: 4px 0;
}
.ie8 .navNormal, .ie7 .navNormal { background: #ccc;}
.ie8 .navBottom, .ie7 .navBottom { background: none;}
.navBottom {
	background:	url(/images/global/tab_rounded.png) repeat-y;
	width: 144px;
	height: 19px;
}
.sf-menu li a:hover{color: #2ab3d5;}
.navOn a, .navOn a:visited {color: #2ab3d5;}
.navOn  a:hover {color: #999;}
.sf-menu li li a {}
.sf-menu li li:hover {}
.sf-menu li li a:hover {color: #fff;}
.sf-menu li li:hover {color: #fff; background:url(/images/tab_element-over.png) repeat-y;}
.ie8 .sf-menu li li:hover {color: #fff; background:#999;}
.ie7 .sf-menu li li:hover {color: #fff; background:#999;}


/*** arrows **/
.sf-menu a.sf-with-ul {min-width:		1px; /* trigger IE7 hasLayout so spans position accurately */}
.sf-sub-indicator {
	position:		absolute;
	display:		none;
	right:			.75em;
	top:			1.05em; /* IE6 only */
	width:			10px;
	height:			10px;
	text-indent: 	-999em;
	overflow:		hidden;
}
a > .sf-sub-indicator {  /* give all except IE6 the correct values */top:			.8em;	background-position: 0 -100px; /* use translucent arrow for modern browsers*/}
/* apply hovers to modern browsers */
a:focus > .sf-sub-indicator, a:hover > .sf-sub-indicator, a:active > .sf-sub-indicator, li:hover > a > .sf-sub-indicator, li.sfHover > a > .sf-sub-indicator {
	background-position: -10px -100px; /* arrow hovers for modern browsers*/}

/* point right for anchors in subs */
.sf-menu ul .sf-sub-indicator { background-position:  -10px 0; }
.sf-menu ul a > .sf-sub-indicator { background-position:  0 0; }
/* apply hovers to modern browsers */
.sf-menu ul a:focus > .sf-sub-indicator,
.sf-menu ul a:hover > .sf-sub-indicator,
.sf-menu ul a:active > .sf-sub-indicator,
.sf-menu ul li:hover > a > .sf-sub-indicator,
.sf-menu ul li.sfHover > a > .sf-sub-indicator {
	background-position: -10px 0; /* arrow hovers for modern browsers*/
}

/*** shadows for all but IE6 ***/
.sf-shadow ul {
	background:	url('../images/shadow.png') no-repeat bottom right;
	padding: 0 8px 9px 0;
	-moz-border-radius-bottomleft: 17px;
	-moz-border-radius-topright: 17px;
	-webkit-border-top-right-radius: 17px;
	-webkit-border-bottom-left-radius: 17px;
}
.sf-shadow ul.sf-shadow-off {background: transparent;}


#bluebar {
	width: 100%;
	font-size: 1.2em;
	height: 212px;
	}

.bluebarHome {
}

.bluebarServices {
	background: url(/images/global/bar_image_oval.jpg) no-repeat 420px 0;
	height: 212px;
}
	
#bluebarContentWrapper {
	width: 946px;
	margin: -212px auto 0 auto;
	height:	212px;
	font-size: 1.3em;
}

	
/* 23 Reasons */
#columns {
	width: 946px;
	margin: auto;
	padding: 24px 0 0;
	margin-left: -8px;
	line-height: 125%;
}

.reason {
	color: #fff;
	font-size: 1.6em;
	line-height: 125%;
	width: 400px;
}

.reasonLower {
	color: #fff;
	font-size: 1.0em;
	font-weight: bold;
	margin-top: 4px;
}
.reasonMore {margin-top: 4px;}

#columns a, #columns a:visited {color: #fff;}
#columns a:hover {color: #000;}

#tabsWrapper {
	margin: -212px auto 212px auto;
	width: 946px;
}

.ie7 #tabsWrapper {
	margin: -212px auto 0 auto;
	width: 946px;
}
#tabsWrapper div {
	width:321px;
	height:212px;
	position:relative;
	overflow:hidden;
	float: right;
	margin-right: 17px;
}
#tabsWrapper div img {
	position:absolute;
}

.fadeThis {
	position:relative;
	display:block;
	height: 212px;
	width: 312px;
	background:url(http://23.co.uk/images/tab_casestudies.png) 0 0 no-repeat;
}

.fadeThis * {
	display: none;
}

.fadeThis span.hover {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	height: 212px;
	width: 312px;
	background:url(http://23.co.uk/images/tab_casestudies2.png) 0 -212px no-repeat;
}

.fadeThis2 {
	position:relative;
	display:block;
	height: 212px;
	width: 312px;
	background:url(/images/tab_timeline.png) 0 0 no-repeat;
}

.fadeThis2 * {
	display: none;
}

.fadeThis2 span.hover {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	height: 212px;
	width: 312px;
	background:url(/images/tab_timeline2.png) 0 -212px no-repeat;
}

/* History */
.pullQuote {margin: 0 40px; color: #2AB3D5; line-height: 150%; font-size: 1.2em; font-style: italic; display:block; clear:both;}
.apostropheStart {float: left;}
.apostropheEnd {float: right; margin: -16px 16px 0 0;}

#timeline {
  height: 550px;
  margin-top: 10px;
  padding: 20px;
  overflow: auto;
  /*cursor: -moz-grab !important;*/ /* should this be applied with JS? */
	position: relative;
	z-index: 50;
}

.timelineImage{
	position: relative;
	z-index: 5;
}

/* tooltip styling */
.tooltip {
	display:none;
	background:transparent url(/images/timeline/bubble_blank_shadow.png);
	font-size:12px;
	height:135px;
	width:120px;
	color:#000;	
	padding: 23px;
	position: relative;
	z-index: 120;
	font-family: Arial, Helvetica, sans-serif;
	line-height: 105%;
}

/* style the trigger elements */
.node img {
	border:0;
	cursor:pointer;
	margin:0 8px;
}

.nodes {
	margin: -56px 0 0 257px;
	position: relative;
	z-index: 150;
  overflow: auto;
	width: 3154px
}

.nodeCommon {
	float: left;
}
.node1 {width: 289px;}
.node2 {width: 143px;}
.node3 {width: 144px;}
.node4 {width: 73px;}
.node5 {width: 35px;}
.node6 {width: 36px;}
.node7 {width: 63px;}
.node8 {width: 81px;}
.node9 {width: 144px;}
.node10 {width: 54px;}
.node11 {width: 90px;}
.node12 {width: 54px;}
.node13 {width: 90px;}
.node14 {width: 36px;}
.node15 {width: 18px;}
.node16 {width: 54px;}
.node17 {width: 36px;}
.node18 {width: 288px;}
.node19 {width: 54px;}
.node20 {width: 45px;}
.node21 {width: 45px;}
.node22 {width: 63px;}
.node23 {width: 225px;}
.node24 {width: 54px;}
.node25 {width: 45px;}
.node26 {width: 45px;}
.node27 {width: 144px;}
.node28 {width: 144px;}
.node29 {width: 198px;}
.clearAll {clear: both;}


/* Do we need?

ul.hover_block li{
			list-style:none;
			float:left;
			background: #fff;
			padding: 10px;
			width:300px; position: relative;
			margin-right: 20px; }

		ul.hover_block li a {
			display: block;
			position: relative;
			overflow: hidden;
			height: 150px;
			width: 268px;
			padding: 16px;
			color: #000;
			font: 1.6em/1.3 Helvetica, Arial, sans-serif;
		}

		ul.hover_block li a { text-decoration: none; }

		ul.hover_block li img {
			position: absolute;
			top: 0;
			left: 0;
			border: 0;
		}

*/


	
/* Timeline */


/* Body Area */
#body.content {
	padding: 24px;
	margin-left: -4px;
	color: #333;
	font-size: 1.4em;
	line-height: 150%;
	}

h1 {
	font-size: 2.3em;
	margin: 8px 0 20px 0px;
	font-weight: bold;
	color: #b2b2b2;
	}
	
.ie8 h1 {margin: 8px 0 20px -2px;}
.ie7 h1 {margin: 8px 0 20px -2px;}		

h2 {
	font-size: 1.2em;
	margin: 8px 0 10px 0px;
	font-weight: bold;
	}

.copyCols {
	float: left;
	width: 275px;
	margin-right: 30px;
	line-height: 150%;
}

.imageCol {
	float: left;
	width: 283px;
	margin-right: 30px;
	line-height: 150%;
}

.timelineLinkButton {margin-left: -8px;}

.approachImage {
	margin-left: -8px;
}

.testimonials {
	float: left;
	width: 575px;
	margin-right: 30px;
	line-height: 150%;
}
.testimonials span {
	display: block;
}

.testimonials div {
	font-style: italic;
	margin: -4px 0 24px;
	padding-bottom: 8px;
	border-bottom: 1px dashed #ccc;
}

.contactCol1 {
	float: left;
	width: 120px;
	margin-right: 30px;
}

.contactCol2 {
	float: left;
	width: 400px;
	margin-right: 130px;
}

.contactCol3 {
	float: left;
	width: 330px;
}

.col800wide{
	float: left;
	width: 800px;
}
.23Reasons{
	float: left;
	width: 900px;
	margin-right: 130px;
}
.cellOdd {
	background: #f2f2f2;
	height: 120px;
	padding: 8px;
	width: 275px;
	float: left;
}
.cellEven {
	background: #fff;
	height: 120px;
	padding: 8px;
	width: 275px;
	float: left;
}
.number {font-size: 1.6em; color: #2ab3d5; font-weight: bold; padding-right: 4px;}

.labelFirst {margin: -4px 0 2px; display: block;}
.labelRest {margin: 16px 0 2px; display: block;}
.textfield {width: 330px; height: 28px; padding: 2px 0 2px 2px; border: 1px solid #ccc;}
#body.content textarea {width: 330px; height: 200px; padding: 2px 0 0 2px; border: 1px solid #ccc; font-family: Arial, Helvetica, sans-serif; font-size: 1em;}
.submit {margin: 8px 0 0 -6px;}
.registeredDetails {font-size: 1em; font-style: italic; color: #999; margin-top: 16px;}


#hp_arrows a.left { background: url(../imgs/hp/small_A_left.gif) 0px 6px no-repeat; margin-right: 5px; }
#hp_arrows a.right { background: url(../imgs/hp/small_A_right.gif) 0px 6px no-repeat; }
#hp_arrows a:hover { background-position: -16px 6px; }

iframe {margin-left: -16px 0 0 2px;}


/* Footer */
#footer {
	font-size: 1.2em;
	background-color: #ccc;
	height: 43px;
	width: 934px;
	}

.footerLogo {
	margin: 1px 0 0 20px;
	float: left;
}

.footerText {
	float: left;
	color: #666;
	margin: 16px 0 0 16px;
	width: 700px;
}
.footerText a, .footerText a:visited {color: #666;}
.footerText a:hover{color: #fff;}

.divider {display: inline; padding: 0 4px;}

.top {
	float: right;
	margin-right: 16px;
}

.footerBottom {height: 23px; background: #fff; width: 934px}


/* Log-in */ 
.loginForm label {
	float: left;
	width: 110px;
	padding: 4px 8px 0 0;
	color: #666;
	}
.loginForm input {
	float: left;
	width: 315px;
	height: 23px;
	padding: 2px 0 2px 2px;
	margin-bottom: 16px;
	border: 1px solid #CCC;
}

.forgotPassword a, .forgotPassword a:visited {
	font-size: 0.9em;
	color: #666;
	margin: -8px 0;
	}

.forgotPassword a:hover {
	color: #2ab3d5;
	}

.submitButton {
	float: left;
	width: 123px;
	height: 23px;
	padding: 4px;
	border: 1px solid #CCC;
	margin: 0 0 16px;
}

.positionLeft  {margin: 0 0 0 117px;}
