/*
 * HTML5 Boilerplate
 *
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 *
 * Detailed information about this CSS: h5bp.com/css
 *
 * ==|== normalize ==========================================================
 */


/* =============================================================================
   HTML5 display definitions
   ========================================================================== */

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
[hidden] { display: none; }


/* =============================================================================
   Base
   ========================================================================== */

/*
 * 1. Correct text resizing oddly in IE6/7 when body font-size is set using em units
 * 2. Prevent iOS text size adjust on device orientation change, without disabling user zoom: h5bp.com/g
 */

html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }

html, button, input, select, textarea { font-family: sans-serif; color: #222; }

body { margin: 0; font-size: 1em; line-height: 1.4; }

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection declarations have to be separate
 * Also: hot pink! (or customize the background color to match your design)
 */

::-moz-selection { background: #fe57a1; color: #fff; text-shadow: none; }
::selection { background: #fe57a1; color: #fff; text-shadow: none; }


/* =============================================================================
   Links
   ========================================================================== */

a { color: #00e; }
a:visited { color: #551a8b; }
a:hover { color: #06e; }
a:focus { outline: thin dotted; }

/* Improve readability when focused and hovered in all browsers: h5bp.com/h */
a:hover, a:active { outline: 0; }


/* =============================================================================
   Typography
   ========================================================================== */

abbr[title] { border-bottom: 1px dotted; }

b, strong { font-weight: bold; }

blockquote { margin: 1em 40px; }

dfn { font-style: italic; }

hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }

ins { background: #ff9; color: #000; text-decoration: none; }

mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }

/* Redeclare monospace font family: h5bp.com/j */
pre, code, kbd, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; }

/* Improve readability of pre-formatted text in all browsers */
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }

q { quotes: none; }
q:before, q:after { content: ""; content: none; }

small { font-size: 85%; }

/* Position subscript and superscript content without affecting line-height: h5bp.com/k */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }


/* =============================================================================
   Lists
   ========================================================================== */

ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
dd { margin: 0 0 0 40px; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }


/* =============================================================================
   Embedded content
   ========================================================================== */

/*
 * 1. Improve image quality when scaled in IE7: h5bp.com/d
 * 2. Remove the gap between images and borders on image containers: h5bp.com/i/440
 */

img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }

/*
 * Correct overflow not hidden in IE9
 */

svg:not(:root) { overflow: hidden; }


/* =============================================================================
   Figures
   ========================================================================== */

figure { margin: 0; }


/* =============================================================================
   Forms
   ========================================================================== */

form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }

/* Indicate that 'label' will shift focus to the associated form element */
label { cursor: pointer; }

/*
 * 1. Correct color not inheriting in IE6/7/8/9
 * 2. Correct alignment displayed oddly in IE6/7
 */

legend { border: 0; *margin-left: -7px; padding: 0; white-space: normal; }

/*
 * 1. Correct font-size not inheriting in all browsers
 * 2. Remove margins in FF3/4 S5 Chrome
 * 3. Define consistent vertical alignment display in all browsers
 */

button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }

/*
 * 1. Define line-height as normal to match FF3/4 (set using !important in the UA stylesheet)
 */

button, input { line-height: normal; }

/*
 * 1. Display hand cursor for clickable form elements
 * 2. Allow styling of clickable form elements in iOS
 * 3. Correct inner spacing displayed oddly in IE7 (doesn't effect IE6)
 */

button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; }

/*
 * Re-set default cursor for disabled elements
 */

button[disabled], input[disabled] { cursor: default; }

/*
 * Consistent box sizing and appearance
 */

input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; *width: 13px; *height: 13px; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }

/*
 * Remove inner padding and border in FF3/4: h5bp.com/l
 */

button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }

/*
 * 1. Remove default vertical scrollbar in IE6/7/8/9
 * 2. Allow only vertical resizing
 */

textarea { overflow: auto; vertical-align: top; resize: vertical; }

/* Colors for form validity */
input:valid, textarea:valid {  }
input:invalid, textarea:invalid { background-color: #f0dddd; }


/* =============================================================================
   Tables
   ========================================================================== */

table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }


/* =============================================================================
   Chrome Frame Prompt
   ========================================================================== */

.chromeframe { margin: 0.2em 0; background: #ccc; color: black; padding: 0.2em 0; }

/* ==|== primary styles =====================================================
   Author: Mitch Ward
   ========================================================================== */
@font-face {
	font-family: 'Neuton';
	src: url('/assets/font/Neuton-Regular-webfont.eot');
	src: url('/assets/font/Neuton-Regular-webfont.eot?#iefix') format('embedded-opentype'),
		 url('/assets/font/Neuton-Regular-webfont.woff') format('woff'),
		 url('/assets/font/Neuton-Regular-webfont.ttf') format('truetype'),
		 url('/assets/font/Neuton-Regular-webfont.svg#NeutonRegular') format('svg');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'NeutonItalic';
	src: url('/assets/font/Neuton-Italic-webfont.eot');
	src: url('/assets/font/Neuton-Italic-webfont.eot?#iefix') format('embedded-opentype'),
		 url('/assets/font/Neuton-Italic-webfont.woff') format('woff'),
		 url('/assets/font/Neuton-Italic-webfont.ttf') format('truetype'),
		 url('/assets/font/Neuton-Italic-webfont.svg#NeutonItalic') format('svg');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'NeutonBold';
	src: url('/assets/font/Neuton-Bold-webfont.eot');
	src: url('/assets/font/Neuton-Bold-webfont.eot?#iefix') format('embedded-opentype'),
		 url('/assets/font/Neuton-Bold-webfont.woff') format('woff'),
		 url('/assets/font/Neuton-Bold-webfont.ttf') format('truetype'),
		 url('/assets/font/Neuton-Bold-webfont.svg#NeutonBold') format('svg');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'NeutonLight';
	src: url('/assets/font/Neuton-Light-webfont.eot');
	src: url('/assets/font/Neuton-Light-webfont.eot?#iefix') format('embedded-opentype'),
		 url('/assets/font/Neuton-Light-webfont.woff') format('woff'),
		 url('/assets/font/Neuton-Light-webfont.ttf') format('truetype'),
		 url('/assets/font/Neuton-Light-webfont.svg#NeutonLight') format('svg');
	font-weight: normal;
	font-style: normal;
}
body {
	font-family: 'Neuton';
	font-weight:normal;
	color:#687978;
}
strong, b, h1, h2, h3, h4, h5, h6 {
	font-family: 'NeutonBold';
	font-weight:normal;
}
em, i {
	font-family: 'NeutonItalic';
	font-weight:normal;
	font-style:normal;
}
hr {
	border-top:1px solid #92a5a4;
}
a {
	outline:none !important;
}

#portal {
	background-image: none !important;
	background-color: #fff;
	padding-top: 8px;
}

	#portal-container {
		width: 940px;
		margin: 0 auto !important;
		padding: 0 10px;
	}

		.portal-logo {
			width: 566px;
			height: 104px;
			padding: 46px 189px 51px 185px;
			float: left;
			display: inline;
		}

		.portal-links {
			width: 940px;
			height: 584px;
			margin-left: 300px;
			float: left;
			display: inline;
		}

			.portal-links .link {
				width: 300px;
				height: 584px;
				float: left;
				display: inline;
				position: relative;
			}

				.portal-link-text {
					position: absolute;
					bottom: 0px;
					width: 300px;
					height: 30px;
					background-image: url('/assets/img/portal-link-text-bg.png');
					text-align: center;
					color: #fff !important;
					font-family: 'NeutonLight';
					font-size: 20px;
					text-transform: uppercase;
					opacity: 0;
				}

				.portal-link-keys {
					position: absolute;
					top: 0px;
					width: 300px;
					height: 45px;
					text-align: center;
					opacity: 0;
				}

			.portal-links .middle {
				padding: 0px 20px;
			}

			.portal-links .asset {
				background-image: url('/assets/img/portal-asset.jpg');
				background-repeat: no-repeat;
				background-position: center top;
			}

			.portal-links .private {
				background-image: url('/assets/img/portal-private.jpg');
				background-repeat: no-repeat;
				background-position: center top;
			}

			.portal-links .home {
				background-image: url('/assets/img/portal-home.jpg');
				background-repeat: no-repeat;
				background-position: center top;
			}

		.portal-footer {
			margin-top: 16px;
			text-align: right;
			height: 23px;
			float: right;
			display: inline;
		}

.landing-popup {
	position:fixed;
	top:0;
	left:0;
	bottom:0;
	right:0;
	background:url('/assets/img/jordan-hennessy-large.png') center 300px no-repeat white;
	z-index:50;
	display:none;
}
#index .landing-popup {
	display:block;
}
.left {
	position:fixed;
	left:0;
	top:0;
	bottom:0;
	z-index:10;
	width:200px;
	background:white;
	border-right:2px solid #92a5a4;
	color:#92a5a4;
	font-size:14px;
}
.left nav {
	margin:115px 0 0 0;
}
.left nav a, .left nav a:visited {
	display:block;
	padding:10px 30px 0 0px;
	margin:0 0 0 0;
	border-bottom:1px solid white;
	text-align:right;
	text-transform:uppercase;
	text-decoration: none;
	color:#92a5a4;
	-webkit-transition: all 0.3s; /* Saf3.2+, Chrome */
       -moz-transition: all 0.3s; /* FF4+ */
         -o-transition: all 0.3s; /* Opera 10.5+ */
            transition: all 0.3s;
    background:url('/assets/img/open-btn-bg.png') 200px bottom no-repeat transparent;
}
.left nav a.on, .left nav a.open {
	padding:10px 20px 0 10px;
	margin:0 0 0 0;
	border-bottom:1px solid #92a5a4;
	font-family: 'NeutonBold';
	font-weight:normal;
	background-position:180px bottom;
}
.left nav a.show-content {
	background-position:180px bottom;
}
.left nav .subnav {
	background:#92a5a4;
	padding:10px 10px 10px 20px;
	position:absolute;
	width:150px;
	right:-180px;
	display:none;
	margin:-1px 0 0 0;
}
.left nav .subnav a, .left nav .subnav a:visited {
	color:white;
	padding:0;
	margin:0;
	border:none;
	text-align:left;
	background:none;
}
.left footer {
	position:absolute;
	bottom: 10px;
	right:20px;
	text-align:right;
	font-size:13px;
}
.left footer h4 {
	font-size:16px;
	margin:0;
}
.left footer span {
	font-family: 'NeutonBold';
	font-weight:normal;
	text-decoration:underline;
}
.left footer a {
	text-decoration:none;
	color:#92a5a4;
}
.content {
	position:absolute;
	left:202px;
	top:0;
	bottom:0;
	width: 370px;
	padding:75px 30px 20px 30px;
	background:rgba(255,255,255,0.85);
	border-right:1px solid #92a5a4;
}

.content .hide-content, .content .close-locations {
	position:absolute;
	top:0;
	right:0;
	display:block;
	width:20px;
	height:20px;
	background:url('/assets/img/close-btn-bg.png') 0 0 no-repeat transparent;
}
.content .logo {
	display:block;
	margin:50px auto;
}
.content h2 {
	text-transform:uppercase;
	border-bottom:1px solid #687978;
	display:inline-block;
	padding-right:50px;
	font-size:16px;
}
.content p {
	padding:0 10px;
	margin-top:0;
}
.content a {
	color:#9e8d85;
	text-decoration:none;
}
.content .siteby {
	position:absolute;
	bottom:20px;
	right:30px;
}

/* Contact Page */
.google-map {
	clear: both;
	width:368px;
	height:160px;
	border:1px solid #92a5a4;
	margin-bottom:20px;
}

.google-map--wide {
	width: 100%;
	height: 100%;
}

#contact .contact-right {
	float:right;
	text-align:right;
	padding-left:0;
}
#contact .contact-left {
	float:left;
	padding-right:0;
}

/* Coverage Page */

#coverage .content {
	width: 680px;
}

.content .locations {
	position:absolute;
	right:-300px;
	top:0;
	bottom:0;
	background:rgba(146,165,164,0.85);
	color:white;
	width:240px;
	padding:355px 30px 30px 30px;
	display:none;
}
.content .locations div {
	display:none;
}
.content .locations h2 {
	border-color:white;
	font-family: 'Neuton';
	padding-right:20px;
}
.content .locations p {
	font-family: 'NeutonItalic';
	font-style:normal;
	padding:0;
}
.content .coverage-map {
	text-align:center;
	position: relative;
}
.content .coverage-map .map-img {
	border:1px solid #92a5a4;
	width: 650px;
	height:	613px;
	position:relative;
	margin:0 auto;
	background-size: contain;
	background-repeat: no-repeat;
}
.content .coverage-map .oxford-out {
	background-image: url('/assets/img/oxford-map-new.jpg');
}
.content .coverage-map .oxford {
	height:	596px;
	background-image: url('/assets/img/oxford-map-zoomed.png');
}
.content .coverage-map .london {
	height: 638px;
	background-image: url('/assets/img/london-map.png');
	display:none;
}
.content .coverage-map .map-img a {
	display:block;
	position:absolute;
}

.content .coverage-map .map-img .oxford-out-zone {
	background:url('/assets/img/map-pin-blink.png') 0 0 no-repeat transparent;
	background-size: 50px;
	width: 50px;
	height: 50px;
	top: 214px;
	right: 82px;
}

.content .coverage-map .map-img .oxford-zone {
	background:url('/assets/img/coverage/oxford-zone.png') 0 0 no-repeat transparent;
	width: 256px;
	height: 178px;
	top: 5px;
	left: 50px;
}
.content .coverage-map .map-img .oxford-zone.active {
	background-position:0 -178px;
}
.content .coverage-map .map-img .marylebone-zone {
	background:url('/assets/img/coverage/marylebone-zone.png') 0 0 no-repeat transparent;
	width: 76px;
	height: 48px;
	top:7px;
	left:173px;
}
.content .coverage-map .map-img .marylebone-zone.active {
	background-position:0 -48px;
}
.content .coverage-map .map-img .mayfair-zone {
	background:url('/assets/img/coverage/mayfair-zone.png') 0 0 no-repeat transparent;
	width: 63px;
	height: 53px;
	top:45px;
	left:205px;
}
.content .coverage-map .map-img .mayfair-zone.active {
	background-position:0 -53px;
}
.content .coverage-map .map-img .belgravia-zone {
	background:url('/assets/img/coverage/belgravia-zone.png') 0 0 no-repeat transparent;
	width: 41px;
	height: 59px;
	top:98px;
	left:198px;
	z-index:2;
}
.content .coverage-map .map-img .belgravia-zone.active {
	background-position:0 -59px;
}
.content .coverage-map .map-img .st-james-zone {
	background:url('/assets/img/coverage/st-james-mayfair-zone.png') 0 0 no-repeat transparent;
	width: 84px;
	height: 89px;
	top:45px;
	left:205px;
}
.content .coverage-map .map-img .st-james-zone.active {
	background-position:0 -90px;
}
.content .coverage-map .map-img .kensington-zone {
	background:url('/assets/img/coverage/kensington-zone.png') 0 0 no-repeat transparent;
	width: 46px;
	height: 64px;
	top:71px;
	left:72px;
}
.content .coverage-map .map-img .kensington-zone.active {
	background-position:0 -64px;
}
.content .coverage-map .map-img .notting-hill-zone {
	background:url('/assets/img/coverage/notting-hill-zone.png') 0 0 no-repeat transparent;
	width: 50px;
	height: 56px;
	top:35px;
	left:35px;
}
.content .coverage-map .map-img .notting-hill-zone.active {
	background-position:0 -56px;
}
.content .coverage-map .map-img .knightsbridge-zone {
	background:url('/assets/img/coverage/knightsbridge-zone.png') 0 0 no-repeat transparent;
	width: 47px;
	height: 47px;
	top:103px;
	left:160px;
}
.content .coverage-map .map-img .knightsbridge-zone.active {
	background-position:0 -47px;
}
.content .coverage-map .map-img .chelsea-zone {
	background:url('/assets/img/coverage/chelsea-zone.png') 0 0 no-repeat transparent;
	width: 77px;
	height: 61px;
	top:125px;
	left:150px;
}
.content .coverage-map .map-img .chelsea-zone.active {
	background-position:0 -61px;
}
.content .coverage-map .map-switch {
	margin-top:15px;
}
.content .coverage-map .map-switch a {
	color:#687978;
	text-transform:uppercase;
	margin:0 5px;
}
.content .coverage-map .map-switch a.on {
	font-family: 'NeutonBold';
	font-weight:normal;
}
h3.twitter {
	margin-top:0;
}
h3.twitter img {
	position:relative;
	top:-2px;
}

/* Browser Fixes */
.no-rgba .content {
	background: url('/assets/img/bg/255255255085.png') 0 0 repeat transparent;
}
.no-rgba .content .locations {
	background: url('/assets/img/bg/146165164085.png') 0 0 repeat transparent;
}
.lt-ie8 #contact .contact-right, .lt-ie8 #contact .contact-left {
	padding:0;
}
.lt-ie8 .content .logo {
	padding-top:50px;
}
.lt-ie7 .left {
	height:870px;
}
.lt-ie7 .content {
	height:775px;
}

/* Tall Pages */
/*#contact .left, #press .left, #what-we-do .left, #private-office .left, #coverage .left, #rosy .left {
	min-height:870px;
}
#contact .content, #press .content, #what-we-do .content, #private-office .content, #coverage .content, #rosy .content {
	min-height:775px;
}*/

#back-to-map {
	position: absolute;
	top: 0;
	left: 20px;
	font-family: 'Neuton';
	font-weight: normal;
	color: #444444;
}

.contact-form .field-wrap {

	display: block;
	width: 100%;
	margin: 10px 0 10px 0;

}

.contact-form form {
	float: left;
	display: block;
	width: 100%;
	margin-bottom: 20px;
}

.contact-form label {
	float: left;
	width: 30%;
}

.contact-form textarea {
	float: left;
	display: block;
	margin-bottom: 5px;
	width: 70%;
}

.contact-form input {
	float: left;
	width: 60%;
	margin-bottom: 5px;
}

.contact-form .submit {
	width: 228px;
	float: right;
	margin-right: 31px;
	background: #92a5a4;
	border: 0;
	padding: 5px;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	color: #fff;
	text-transform: uppercase;
	font-size: 12px;
}

.contact-form .small {

	font-family: "NeutonItalic";
	font-size: 0.66667em;
	line-height: 1.4em;
	text-align: center;
	margin: 15px 0 22px;

}


/* ==|== media queries ======================================================
   EXAMPLE Media Query for Responsive Design.
   This example overrides the primary ('mobile first') styles
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}

/* ==|== non-semantic helper classes ========================================
   Please define your styles before this section.
   ========================================================================== */

/* For image replacement */
.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; *line-height: 0; }
.ir br { display: none; }

/* Hide from both screenreaders and browsers: h5bp.com/u */
.hidden { display: none !important; visibility: hidden; }

/* Hide only visually, but have it available for screenreaders: h5bp.com/v */
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }

/* Extends the .visuallyhidden class to allow the element to be focusable when navigated to via the keyboard: h5bp.com/p */
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }

/* Hide visually and from screenreaders, but maintain layout */
.invisible { visibility: hidden; }

/* Contain floats: h5bp.com/q */
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { *zoom: 1; }



/* ==|== print styles =======================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */

@media print {
  * { background: transparent !important; color: black !important; box-shadow:none !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: h5bp.com/s */
  a, a:visited { text-decoration: underline; }
  a[href]:after { content: " (" attr(href) ")"; }
  abbr[title]:after { content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }  /* Don't show links for images, or javascript/internal links */
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; } /* h5bp.com/t */
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: 0.5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }
}
