body {
	margin: 0 auto;
	padding:0;
	border:0;			/* This removes the border around the viewport in old versions of IE */

	width: 1030px;

	min-width:600px;	/* Minimum width of layout. Does not work in old versions of IE */

	background: #244243;

	/* Font choices used on Wordpress, Coding Horror, and elsewhere */
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 16px;
	color: #244243; /* S23M dark green */
}

/* Line height for elements containing text */

body,
dd,
p,
ol,
ul {
  line-height: 1.625em;
}

p {
	margin: .7em 0 .7em 0;
	padding:0;
}

a {
	color: #417D4A; /* S23M green */
	font-weight: bold;
	text-decoration:none;
}
a:visited {
	color: #6F9E76; /* Lightened version of S23M green */
}
a:hover {
	color: #244243; /* S23M dark green */
}

a img {
	border: none; /* Mainly for IE8, but does no harm when other browsers are used */
}

h1 {
	font-size: 22px;
	font-family: Skia,"Helvetica Neue", Helvetica, Arial, sans-serif;
	margin:.8em 0 .2em 0;
	padding:0;
}
h2 {
	font-size: 20px;
  line-height: 30px;
	font-weight: 500;
	color: #417D4A;
	margin-top: 0;
}
h2 a {
	padding-bottom: 2px;
  border-bottom: 1px dotted;
}
h2 a:hover {
	border-bottom: none;
}

h3 {
	font-size: 18px;
	margin-top: 25px;
    margin-bottom: 25px;
	padding:0;
}

img.s23m-logo {
	width: 60px;
}

/* Overall footer */

div.footer-separator {
	clear: both;
	border-top: 1px dotted #BED1C1;
	margin-left: 20px;
	margin-right: 20px;
}

div.footer {
	/* clear: both; */
	/* border-radius: 10px; */
	padding-top: 15px;
	padding-bottom: 15px;
}

div.footer span.left,
div.footer span.right {
	text-align: center;
	margin: 0 auto;
	display: block;
}

div.footer .col2,
div.footer .col3 {
	line-height: 30px;
}

div.footer .colmid {
	height: 30px;
}

/*
 * Header for main content
 *
 * See
 * - http://stackoverflow.com/questions/5803023/how-to-place-two-divs-next-to-each-other
 * - http://phrogz.net/CSS/vertical-align/index.html
 */


div.header {
	overflow: auto; /* add this to contain floated children */

	height: 100%;
	padding: 15px;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	margin-bottom: 10px;
}
div.headerleft {
	float: left;
}

div.headerright {
	/* Position in the centre of the div */
	line-height: 1.5em;
	text-align: center;
	/* Fix the height */
	height: 2.5em;
}

/* Augmented header with right-floated content */
div.headerright > div {
	overflow: auto;
}
div.headerright > div > div {
	float:right;
	padding-top: 0.6em;
}
div.headerright > div > div > span {
	font-size: 80%;
	line-height: 1.2em;
}
div.buttonholder {
	clear: both;

	border-bottom: 1px dotted #BED1C1;
	height: 0.9em;
	margin-top: 1em;
}

img.industryicon {
	width: 50px;
}

/* Main content */
#container {
	border-radius: 15px;
	background-color: #fff;
	margin: 15px auto;
}

.content {
	padding-bottom: 10px;
	padding-left: 45px;
	padding-right: 45px;
}

.colmask {
	position:relative;	/* This fixes the IE7 overflow hidden bug and stops the layout jumping out of place */
	clear:both;
	/*
	float:left;
	*/
	width:100%;			/* width of whole page */
	overflow:hidden;		/* This chops off any overhanging divs */ /* #fff; */		/* Left column background colour */
	margin-top: 5px;
}
.colmid {
	float:left;
	width:200%;
	position:relative;
	left:220px;
	background:#fff;    	/* Centre column background colour */
}
.colright {
	float:left;
	width:100%;
	position:relative;
	left:50%;
	margin-left:-440px; /* Previously 400 */
}
.col1wrap {
	float:right;
	width:50%;
	position:relative;
	right:100%;
}
.col1pad { /* Previously 400 */
	overflow:hidden;
	margin:0 0px 0 440px;
}
.col1 {
	width:100%;
	overflow:hidden;
}
.col2 {
	float: left;
	position: relative;
	margin-left: -50%; /* previously (200 + 15) = 215 */
	overflow: hidden;

  left: 230px;
}
.col3 {
	float: left;
	position: relative;
	left: 10px;
	overflow: hidden;
}

.col2,
.col3 {
	width: 200px;

  /* Rounded corners for the top */
	/*
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	*/

	/* Give the left hand column the same height as the right hand one */
  /*
  padding-bottom: 1000px;
  margin-bottom: -1000px;
  */
}

/* Temporary guides */

/*
.col1pad {
	border: 1px solid red;
}

.col2 {
	border: 1px solid blue;
}
.col3 {
	border: 1px solid black;
}
*/

/* CSS button from CSSButtonGenerator.com */

a.button {
	-moz-box-shadow:inset 0px 1px 0px 0px #ffffff;
	-webkit-box-shadow:inset 0px 1px 0px 0px #ffffff;
	box-shadow:inset 0px 1px 0px 0px #ffffff;
	background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #ffffff), color-stop(1, #f6f6f6) );
	background:-moz-linear-gradient( center top, #ffffff 5%, #f6f6f6 100% );
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f6f6f6');
	background-color:#ffffff;
	-moz-border-radius:6px;
	-webkit-border-radius:6px;
	border-radius:6px;
	border:1px solid #417d4a;
	display:inline-block;
	color:#417d4a;
	font-family:arial;
	font-size: 14px;
	font-weight:bold;
	padding:6px 24px;
	text-decoration:none;
	text-shadow:1px 1px 0px #ffffff;
}
a.button:visited {
	color: #7E9488; /* Grey-green */
}
a.button:hover {
	background:#f6f6f6;
}
a.button:active {
	position:relative;
	top:1px;
}

/*
 * Buttons with images:
 *
 * http://stackoverflow.com/questions/1376466/centering-an-image-within-an-anchor-element
 */

a.button img, a.button span {
	vertical-align: middle;
}

a.button span {
	margin-right: 5px; /* Space between text and image */
}

/* Content centering (such as for images) */
div.centeringcontainer {
	margin-left: auto;
	margin-right: auto;
	padding: 0;
	width: 100%; /* Minimum width of #main */
	text-align: center;
}

div.centeringcontainer > img {
	width: 95%;
}

/* Image rounding */
img.rounded {
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}

span.buttons {
	float: right;
}
span.buttons > a.smallbutton {
	margin-left: 20px;
	margin-right: 30px;
}

a.smallbutton {
	-moz-box-shadow:inset 0px 1px 0px 0px #ffffff;
	-webkit-box-shadow:inset 0px 1px 0px 0px #ffffff;
	box-shadow:inset 0px 1px 0px 0px #ffffff;
	background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #ffffff), color-stop(1, #f6f6f6) );
	background:-moz-linear-gradient( center top, #ffffff 5%, #f6f6f6 100% );
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f6f6f6');
	background-color:#ffffff;

	border: 1px solid #88A38C;
	-moz-border-radius:4px;
	-webkit-border-radius:4px;
	border-radius:4px;

	display:inline-block;
	color:#417d4a;
	font-weight: bold;
	padding: 0px 10px;
	text-decoration:none;
	text-shadow:1px 1px 0px #ffffff;

	line-height: 22px;

	min-width: 75px;
  text-align: center;
}
a.smallbutton:visited {
	color: #7E9488;
}
a.smallbutton:hover {
	background:#f6f6f6;
}

/* Fade button images on hover */
a.smallbutton:hover > img,
a.button:hover > img {
	opacity:0.70;
	filter:alpha(opacity=70); /* For IE8 and earlier */
}

a.disabled {
	color: #ccc;
	background:#f6f6f6;
	border:1px solid #ccc;
	cursor: default;
}

a.disabled img,
a.disabled:hover img {
  opacity: 0.40;
}

/* S23M text */
span.s23m {
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
}

a.call-to-action-button {
	background-color: #61a644;
	border-radius: 10px;
	color: #ffffff;
	display: block;
	font-size: 18px;
	font-weight: normal;
	width: 350px;
	max-width: 90%;
	line-height: 24px;
	padding: 10px;
	text-align: center;
	text-decoration: none;

	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
	margin-bottom: 20px;
}

a.call-to-action-button:hover {
	background-color: #417D4A;
}

.call-to-action-wrapper {
	width: 100%;
}

iframe {
	display: block;
	/* Centre horizontally */
	margin: 0 auto;
}
.youtube-video {
	width: 100%;
	/* min-height: 315px; */
}
/* http://fettblog.eu/blog/2013/06/16/preserving-aspect-ratio-for-embedded-iframes/ */
.aspect-ratio {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 51%;
	margin-bottom: 34px;
}
.aspect-ratio iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

iframe.slideshare {
	width: 500px;
	height: 413px;

	border:1px solid #CCC;
	border-width:1px 1px 0;
	margin-bottom:5px;
}

/* External links */
a[rel="external"],
div.link-footer[rel="external"],
span[rel="external"] {
	background: url(../images/icon-external-link.png) 99.999% 40% no-repeat;
	padding-right: 15px;
}
a[rel="external"]:visited {
	color: #7E9488;
}
a[rel="external"]:hover {
	background: url(../images/icon-external-link-hover.png) 99.999% 40% no-repeat;
	color: #244243; /* S23M dark green */
}

a[rel="external"].smallbutton {
	background: url(../images/icon-external-link.png) 95% 40% no-repeat;
	background-color: #fafafa;
	padding-right: 25px;
}
a[rel="external"].smallbutton:visited {
	color: #7E9488;
}
a[rel="external"].smallbutton:hover {
	background: url(../images/icon-external-link-hover.png) 95% 40% no-repeat;
	color: #244243; /* S23M dark green */
}
div.link-footer[rel="external"] {
	/* Centre content - see padding right */
	padding-left: 15px;
}


/* Icon images */
img.icon {
	vertical-align: middle;
}

/* Video icon */
a > img.videoicon {
	vertical-align: middle;
	height: 16px;

	padding-left: 2px;
	padding-right: 6px;
	padding-bottom: 2px;
}

/* Justified text */
.justified {
	text-align: justify;
	text-justify: distribute;
	-webkit-text-justify: distribute;
	-moz-text-justify: distribute;
}

/* Styled block quotes - see http://text.jpatch.net/2010/09/css2-no-image-quotation-marks-in-blockquotes */

blockquote:before, cite:before {
	font-size: 35px;
	font-weight: bold;
	font-family: Arial, Helvetica, sans-serif;
	vertical-align: middle;
	color: #417D4A; /*#244243;*/
}

blockquote:before {
	content:'\201C';
	/*padding:.15em -.5em -.5em -.5em;*/
	line-height:12px;
	margin:0em -.15em 0em -.15em;
}
cite:before {
	content:'\201D';
	text-align:right;
	font-style:normal;
	margin:0;
	display:block;

	/* Negative margins */
	margin-right: -0.2em;
	margin-top: -0.4em;
}

blockquote, div.block {
	/*#FFEECF;*/ /*#FFE5B4;*/ /*#FFFEB5;*/ /*#FFFECF;*/
	background-color: #EBF5EC;
	border: 1px solid #88A38C;

	margin: 1em 1em 2em 1em;
	padding: 1em 1em .5em 1em;
	-moz-border-radius:10px;
	-webkit-border-radius:10px;
	border-radius:10px;
}

blockquote p{
	margin-top:-0.5em;
	margin-bottom: 0.5em;
}

blockquote p, div.block p {
	margin-left: 1em;
	margin-right: 1em;

	text-align: justify;
	text-justify: distribute;
	-webkit-text-justify: distribute;
	-moz-text-justify: distribute;
}

cite {
	margin: 0;
	padding: 0;
	text-align:right;
	display:block;
	font-style:italic;
}

/* Header buttons */
div.header a.smallbutton {
	text-align: center;
	min-width: 60px;
}

/* "Recent" indication */
span.recentcount {
	background: #FF0000;
	color: #FFFFFF;


	-moz-border-radius:2px;
	-webkit-border-radius:2px;

	text-decoration:none;
	text-align: center;
	text-shadow: 1px 1px #550000;
	display: inline;
	border-radius: 2px;
	font: 0.7em "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: bold;
	padding: 1px 3px 1px 3px;
	margin: 0.2em;
}

a.disabled > span.recentcount {
	/* Override */
	background: #ccc;
	color: white;
	text-shadow: none;
}

/* Horizontal separator */
div.separator {
	clear: both;
	width: 100%;
	border-top: 1px dotted #BED1C1;
	height: 1px;
	margin-top: 15px;
	margin-bottom: 15px;
}

a.anchor {
	cursor: default;
	color: #000;
}

/*
 * "Related" content
 */
div.block {
	background: #EBF5EC;

	border: 1px solid #88A38C;
	/*border: 1px solid #BAD1BE;*/

	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
}

table.links {
	width: 100%;
	padding: 10px;
	padding-top: 0;
	padding-bottom: 0;
}

/* Table cell alignment */
td.left {
	text-align: left;
}
td.center {
	text-align: center;
}
td.right {
	text-align: right;
}

td.left, td.center, td.right {
	width: 33.33%;
}

.float-left {
	float:left;
}
.float-right {
	float:right;
}

/* Text highlighting */
span.highlight {
	background: #FFF370;
	padding: 4px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}

/* Rollover links */

ul.rollover-links {
	list-style: none;
	padding: 0;
	padding-left: 5px;
	margin-bottom: 40px;
}
img.symbol-thumbnail {
	width: 40px;
	margin-top: 2px;
	margin-left: 10px;
	margin-right: 15px;
}
img.industry-thumbnail {
	width: 50px;
	margin-top: 3px;
	margin-right: 9px;
	margin-left: 5px;
}
ul.rollover-links > li > a {
	display: inline-block;
  height: 40px;
  padding: 3px;
  padding-left: 0px;
  margin-right: 5px;
  margin-top: 5px;
  margin-bottom: 4px;
  border: 1px solid #fff;

  min-width: 95%;
  /* Needed for ellipsis to work */
  max-width: 95%;
	white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  -o-text-overflow: ellipsis;
}

ul.rollover-links > li > a > span, ul.rollover-links > li > a > img {
	vertical-align: middle;
}
ul.rollover-links > li > a:hover {
	border: 1px solid #244243; /* S23M grey */
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	border-radius: 8px;

	-moz-box-shadow: 0 0 2px 2px #A7C9AC;
	-webkit-box-shadow: 0 0 2px 2px #A7C9AC;
	box-shadow: 0 0 2px 2px #A7C9AC;
}

/*
 * See http://matthewjamestaylor.com/blog/equal-height-columns-2-column.htm
 */

/* Common properties for domain and industry "buttons" */
a.domain,
a.industry {
	display: block;
	width: 140px;

	border: 1px solid #fff;

	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 10px;

	padding: 10px;
	padding-top: 5px;
	padding-bottom: 2px;
	background: #fff;

	/* Centers within the parent */
	margin: 5px auto;

	color: #417D4A;
}

a.domain:hover, a.industry:hover {
	border: 1px solid #417D4A;

	-moz-box-shadow: 0 0 4px 4px #A7C9AC;
	-webkit-box-shadow: 0 0 4px 4px #A7C9AC;
	box-shadow: 0 0 4px 4px #A7C9AC;
}

a.domain:hover > div,
a.industry:hover > div {
	text-shadow: 0.2em 0.2em 0.2em #DDEDDF;
}

a.domain {
	width: 170px;
	margin-top: 0px;
	margin-bottom: 15px;
}
a.domain > img.cell-platform {
	width: 150px;
	height: auto;
	margin-top: 10px;
	margin-bottom: 10px;
	padding-top: 5px;
	padding-bottom: 5px;
}
a.domain > img.open-source {
	height: 120px;
	width: auto;
	padding-top: 5px;
	padding-bottom: 5px;
}
a.domain > img {
	padding-bottom: 0px;
}
a.domain > div, a.industry > div {
	text-align: center;
	font-size: 14px;
}
a.domain > img, a.industry > img {
	display: block;
	/* Centers within the parent */
	margin: 0px auto;
}

/* Domains links */
a.domain > img {
	width: 100px;
	margin-bottom: 5px;
}

/* Industry links */

a.industry {
	padding-top: 10px;
	padding-bottom: 4px;
	margin-bottom: 35px;
}
a.industry > img {
	width: 140px;
	margin-bottom: 3px;
}

/* Special cases */

a.domain > img.innovation {
	height: 90px;
	width: auto;
	margin: 5px auto;
}

/* Active links */

a.domain.active,
a.industry.active {
	cursor: default;

	border: 1px solid #417D4A;

	-moz-box-shadow: 0 0 4px 4px #A7C9AC;
	-webkit-box-shadow: 0 0 4px 4px #A7C9AC;
	box-shadow: 0 0 4px 4px #A7C9AC;
}

/* Animations */

a.domain:hover,
a.industry:hover,
ul.rollover-links > li > a:hover {
	transition: box-shadow;
	transition-duration: 500ms;
}

/*
.sidebar-left {
	background: -webkit-linear-gradient(left, rgba(240,247,241,0), rgba(240,247,241,1));
    background: -o-linear-gradient(right, rgba(240,247,241,0), rgba(240,247,241,1));
    background: -moz-linear-gradient(right, rgba(240,247,241,0), rgba(240,247,241,1));
    background: linear-gradient(to right, rgba(240,247,241,0), rgba(240,247,241,1));
}
.sidebar-right {
	background: -webkit-linear-gradient(left, rgba(240,247,241,1), rgba(240,247,241,0));
    background: -o-linear-gradient(right, rgba(240,247,241,1), rgba(240,247,241,0));
    background: -moz-linear-gradient(right, rgba(240,247,241,1), rgba(240,247,241,0));
    background: linear-gradient(to right, rgba(240,247,241,1), rgba(240,247,241,0));
}
*/
.sidebar-left > h2,
.sidebar-right > h2 {
	text-align: center;
	line-height: 1.2em;
	font-size: 1.5em;
	font-weight: 400;
	font-style: normal;
	color: #244243;
	text-shadow: none;
}

/* Alignment of text across columns */

.sidebar-left > h2,
.sidebar-right > h2,
.col1 > p:first-child {
  margin: 0;
}

/* About Us page */

div.profile {
	margin-bottom: 25px;
}
div.profile > a {
	float: left;
}
div.profile > a > img {
	margin-top: 5px;
	margin-right: 10px;
	width: 120px;
}
div.profile > div > p {
	text-align: justify;
	text-justify: distribute;
	-webkit-text-justify: distribute;
	-moz-text-justify: distribute;
}
p.emphasised {
	font-style: italic;
}

/* Contact Us page */

img.profile {
	width: 120px;
}
img.profile:hover {
	opacity:0.85;
	filter:alpha(opacity=85); /* For IE8 and earlier */
}

.profile-image-wrapper {
	width: 140px;
	float: left;
}

.profile-title {
	font-weight: bold;
	font-size: 120%;
	padding-top: 15px;
	margin-bottom: 10px;
	margin-left: 3px;
}

ul.profile-list {
	list-style-type: none;
	padding: 0;
	margin: 15px;
}

ul.profile-list > li {
	clear: both;
	margin-bottom: 40px;
}

.icon-phone {
	font-size: 20px;
	padding: 1px;
}

.icon-envelope {
	font-size: 18px;
	padding: 2px;
}

.icon-phone,
.icon-envelope {
	margin-right: 1px;
}

.phone-number,
.email {
	display: inline-block;
	vertical-align: bottom;
	height: 28px;
	line-height: 28px;
}

.profile .ndash {
	margin-left: 3px;
	margin-right: 3px;
}

.profile-contents {
	padding-top: 20px;
}

.profile-description {
	line-height: 25px;
}

.profile-contact-details {
	margin-top: 5px;
}
.profile-contact-details > div {
	margin-bottom: 5px;
}

li > div.profile > a > img {
	margin-right: 20px;
}

/* Glossary */

dt {
	font-style: italic;
	font-size: 105%;
	margin-top: 5px;
}
dt, dd {
	padding: 5px;
}
dd {
	text-align: justify;
	text-justify: distribute;
	-webkit-text-justify: distribute;
	-moz-text-justify: distribute;
	margin-bottom: 10px;
}

div.columns-2 {
	clear: both;
	margin-bottom: 20px;
}
div.columns-2 > div {
	width: 49%;
	display: inline-block;
	text-align: center;
}
div.columns-2 > div img {
	vertical-align: middle;
	max-width: 80%;
}

.debug {
	border: 1px solid red;
}

/* Three column design: 980 <= width <= 1049 */
@media (min-width: 980px) and (max-width: 1049px) {

	body {
		width: 100%;
	}

	#container {
		width: 960px;
	}

	.col3 {
		left: 30px;
	}

	.col2,
	.col3 {
		width: 180px;
	}
}

/* Three column design: 960 <= width <= 979 */
@media (min-width: 960px) and (max-width: 979px) {

	body {
		/* Remove rounded corners */
		background: #fff;
		width: 100%;
	}

	#container {
		width: 960px;
		margin: 0 auto;
	}
}

/* Left and right columns are below main content on mobile, tablet: width <= 959 */
@media (max-width: 959px) {

	/* Use -webkit-text-size-adjust:none to disable text size adjust on the iPhone. */
	html {
		-webkit-text-size-adjust: none;
	}

	body {
		/* Remove rounded corners */
		background: #fff;
	}

	.colright {
		margin: 0;
		left: 0;
	}

	.colmid {
		width: 100%;
		left: 0;
	}

	.col1pad {
		margin: 0;
  	padding: 15px;
  	padding-top: 0px;
	}

	.col1wrap {
		float: none;
		width: 100%;
		right: 0;
	}

	.col2 {
		float: left;
		margin-left: 4%;
	}

	.col3 {
	  float: right;
		margin-right: 4%;
  }

	.col2,
	.col3 {
		position: relative;
		overflow: hidden;
		left: 0;
		width: 45%;
	}

	.colright {
		float: none;
	}

	table.links {
		padding: 0;
	}

	/* iPhone UIWebView bug - http://stackoverflow.com/questions/4783022/uiwebview-increases-font-size-if-theres-more-text */
	table tbody td.section {
		font-size: 21px;
	}

	div.footer {
		height: 50px;
		overflow: visible;
		padding-bottom: 0;
	}

	div.footer .col2,
	div.footer .col3 {
		margin-top: 0;
	}

	div.footer .col1pad {
		padding-bottom: 5px;
	}

	/* Hide "Top" link and centre copyright */

	div.footer .col2 {
		display: none;
	}
	div.footer .col3 {
		margin: 0 auto;
		float: none;
	}
}

/* 620 <= width <= 959 */
@media (min-width: 620px) and (max-width: 959px) {
	/* Example: iPad, portrait */

	body {
		/* Restore dark background */
		background: #244243;
	}

	#container {
		width: 590px;
	}

}

/* 460 <= width <= 959 */
@media (min-width: 460px) and (max-width: 959px) {

	body {
		width: 100%;
		font-size: 17px;
	}

	.col2, .col3 {
		margin-top: 20px;
	}

	a.domain > div, a.industry > div {
		font-size: 0.7em;
	}

	a.smallbutton, a.button {
		font-size: 18px;
		line-height: 26px;
	}

	div.relatedcontent > ul > li > a {
		font-size: 16px;
	}

	h1,
	h2 {
		font-size: 1.3em;
		line-height: 1.3em;
	}
	h3 {
		font-size: 22px;
	}

	/* Fix up display of header */
	/*
	div.buttonholder {
		height: 16px;
	}
	*/

	/* Header buttons */

	div.header a.smallbutton {
		width: 80px;
		text-align: center;
	}
	div.header a.news {
		width: auto;
		min-width: 80px;
	}

	span.recentcount {
		margin-right: 2px;
		margin-left: 6px;
	}

	/* Increase size of images */
	div.centeringcontainer > img {
		width: 80%;
	}
}

/* 460 <= width <= 619 */
@media (min-width: 460px) and (max-width: 619px) {

	/* Reduce padding */
	div.header,
	.col1pad {
		padding: 10px;
	}

	img.s23m-logo {
		width: 50px;
	}

	div.header {
		margin-bottom: 0px;
	}

	a.smallbutton {
		font-size: 90%;
	}

	ul.rollover-links > li > a {
		font-size: 90%;
	}
}

/* iPhone 4+ Portrait or Landscape: width <= 480 and Phone 4 OR width <= 400 */
@media (max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2), (max-width: 400px) {

	img.s23m-logo {
		width: 40px;
	}

	div.headerright {
		height: 1.5em;
		line-height: 0.75em;
	}
}

/* 320 <= width <= 619 */
@media (max-width: 619px) {

	body {
		width: 100%;
		/* iPhone 4 width */
		min-width: 320px;
	}

	#container {
		width: 100%;
		margin: 0;
	}

	div.headerright span img {
		height: 25px;
		width: auto;
	}

	iframe.slideshare {
		width: 100%;
		max-height: 350px;
	}
}

/* 320 <= width <= 459 */
@media (max-width: 459px) {

	img.s23m-logo {
		width: 40px;
	}

	body {
		font-size: 14px;
	}

	h1 {
		font-size: 16px;
	}

	h2 {
		font-size: 0.9em;
		line-height: 2em;
	}

	div.header a.smallbutton {
		min-width: 50px;
	}

	div.buttonholder {
		margin-top: 2em;
	}

	a.smallbutton,
	a.button {
		font-size: 12px;
		line-height: 20px;
	}

	a.button img,
	a.smallbutton img {
		display: none;
	}

	span.buttons > a.smallbutton {
		margin-right: 0;
	}

	.content {
		padding-left: 10px;
		padding-right: 10px;
	}
}

/* 320 <= width <= 359 */
@media (max-width: 359px) {

	img.s23m-logo {
		width: 30px;
	}

	h1 {
		font-size: 13.5px;
		line-height: 0.7em;
	}

	h2 {
		font-size: 0.7em;
		line-height: 2em;
	}

	div.buttonholder {
  	margin-top: 1em;
  }

	div.header {
		margin-bottom: 0;
	}

	div.headerright span img {
		height: 20px;
		width: auto;
	}

	a.smallbutton {
		font-size: 10px;
    line-height: 20px;
		padding: 0px 6px;
	}

	a.button {
		font-size: 12px;
    line-height: 20px;
	}

	div.header a.smallbutton {
		font-size: 12px;
		min-width: 40px;
	}

	/* Turn off justification for case studies */
	table.case-study p.justified {
		text-align: left;
	}

	div > img.zespri {
		height: 90px;
	}
}

/*
 * Contact Us page
 */

@media (max-width: 459px) {

	.phone-number, .email {
		line-height: 25px;
	}
}

@media (min-width: 460px) and (max-width: 959px) {

	.phone-number, .email {
		line-height: 22px;
	}
}

@media (max-width: 959px) {

	.profile-contents {
		padding-top: 20px;
	}

	div.profile > a > img {
		width: 120px;
	}

	ul.profile-list > li {
		margin-bottom: 0;
	}

	li > div.profile > a > img {
		margin-right: 15px;
  }

	.profile-contact-details {
		clear: both;
	}

	.profile-description {
		line-height: 30px;
	}

  .profile-title {
		margin-left: 0;
		margin-bottom: 0;
		padding-top: 0;
		display: block;
	}

	.profile .ndash {
		display: none;
	}

	.profile-role {
		/* clear: both; */
		display: inline-block;
	}

	.profile-role-region-separator {
		display: none;
	}

	.profile-region {
		/* clear: both; */
		display: block;
  }

	.profile-contact-details > div {
		margin-bottom: 0;
	}

	div.profile {
		margin-bottom: 30px;
	}
}

@media (min-width: 960px) and (max-width: 1049px) {

	.profile-contents {
		padding-top: 15px;
	}

	.profile-description {
		line-height: 15px;
	}

	.profile-contact-details > div {
		margin-bottom: 0;
	}

	ul.profile-list {
		margin-left: 0;
		margin-right: 0;
	}

	.profile-title {
    font-size: 110%;
	}

	li > div.profile > a > img {
	  margin-right: 10px;
		width: 90px;
	}
}
