 /*

Highways England - Global Stylesheet

*/

																					/* ------------ Toolbox ------------ */

.float-left { float: left; } 
.float-right { float: right; }
.align-right { text-align: right; }
.cleared { clear: both; }
.hide { display: none; }
.smaller { font-size: 90%; }
.larger { font-size: 110%; }
.normal { font-weight: normal; }

hr { display: none; }
strong { font-weight: 700; }
em { font-style: italic; }

.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
	}

/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
/* End hide from IE-mac */

.error_message {
	color: #970000;
	font-weight: bold;
	}
	
#copy .error_message ul {
	margin-bottom: 30px;
	}
	
#copy .error_message ul li {
	color: #970000;
	float: none;
	font-weight: 900;
	width: 100%;
	}


																					/* ------------ Defaults ------------ */

/*
body, html {
	height: 100%;
	}
*/

body {
	background-color: #fefefe;
	color: #021f40;        
    font-family: proxima-nova, sans-serif;
	font-size: 19px;
	font-weight: 100;
	line-height: 29px;
	}

body#lobby {
    background: url("../img/sidebar-bg.gif") no-repeat top left;
	background-size: 20% 100%;
	}


																					/* ------------ Header ------------ */

#header {
	background-color: #fefefe;
	padding: 25px 45px;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 5;
	-webkit-box-shadow: 2px 2px 50px 0px rgba(2,31,64,0.1);
	-moz-box-shadow: 2px 2px 50px 0px rgba(2,31,64,0.1);
	box-shadow: 2px 2px 50px 0px rgba(2,31,64,0.1);
	}

#header .button {
	border: 2px solid #b7d4e2;
	color: #021f40;
	display: inline-block;
	font-weight: 400;
	padding: 12px 60px;
	text-decoration: none;
	-webkit-border-radius: 100px;
	-moz-border-radius: 100px;
	border-radius: 100px;
	}

#header .button:hover {
	background-color: #021f40;
	border: 2px solid #021f40;
	color: #fff;
	}

#header #title {
	float: left;
	}

#header #title p {
	float: left;
	margin-right: 30px;
	}

#header #title h1 {
	float: left;
	font-size: 25px;
	font-weight: 400;
	line-height: 35px;
	padding-top: 9px;
	}

#header #tools {
	float: right;
	}

#header #tools li {
	float: left;
	margin-right: 10px;
	}

#header #tools li:nth-child(3),
#header #tools li:nth-child(4) {
	margin-right: 0;
	}

#header #tools .button.social {
    background: #021f40 url("../img/icon-social.png") no-repeat center center;
	border: 2px solid #021f40;
	padding: 12px 27px;
	text-indent: -999999px;
	}

#header #tools .button.social:hover {
    background: #fff url("../img/icon-social-blue.png") no-repeat center center;
	border: 2px solid #b7d4e2;
	}

#header #tools .button.menu {
    background: #021f40 url("../img/icon-menu.png") no-repeat center center;
	border: 2px solid #021f40;
	display: none;
	padding: 12px 27px;
	text-indent: -999999px;
	}

#header #tools .button.menu:hover {
    background: #fff url("../img/icon-menu-blue.png") no-repeat center center;
	border: 2px solid #b7d4e2;
	}


																					/* ------------ Content ------------ */

#content {
	/*
    background: url("../img/sidebar-bg.gif") no-repeat top left;
	background-size: 20% 100%;
	*/
	height: 100%;
	width: 100%;
	}


																					/* ------------ Sidebar ------------ */

#sidebar {
	/* background-color: #ededed; */
	float: left;
	padding: 160px 45px 105px 45px;
	width: 20%;
	}

#navigation a {
	border-bottom: 1px solid #009fe3;
	color: #021f40;
	display: block;
	font-size: 19px;
	font-weight: 300;
	line-height: 29px;
	margin-bottom: 5px;
	padding-bottom: 5px;
	text-decoration: none;
	}

#navigation a.currentpage,
#navigation a:hover {
	color: #009fe3;
	}

#navigation-buttons {
	padding: 45px 20px 0 20px;
	}

#navigation-buttons li {
	margin-top: 10px;
	}

#navigation-buttons li:first-child {
	margin-top: 0;
	}

#navigation-buttons a {
	border: 2px solid #70a8c3;
	color: #021f40;
	display: inline-block;
	font-weight: 400;
	line-height: 23px;
	padding: 15px 20px;
	text-align: center;
	text-decoration: none;
	width: 100%;
	-webkit-border-radius: 100px;
	-moz-border-radius: 100px;
	border-radius: 100px;
	}

#navigation-buttons a:hover {
	background-color: #021f40;
	border: 2px solid #021f40;
	color: #fff;
	}


																					/* ------------ Breadcrumb ------------ */

#breadcrumb {
	font-size: 17px;
	line-height: 27px;
	margin-bottom: 50px;
	}

#breadcrumb a {
	color: #3e74a4;
	text-decoration: none;
	}

#breadcrumb span.divider {
	display: inline-block;
	padding: 0 15px;
	}


																					/* ------------ Copy ------------ */

#copy {
	float: left;
	font-size: 19px;
	font-weight: 300;
	line-height: 29px;
	width: 60%;
	z-index: 3;
	}

#copy-inner {
	padding: 160px 45px 105px 45px;
	}

#copy h2 {
	font-size: 25px;
	font-weight: 400;
	line-height: 35px;
	padding-bottom: 15px;
	}

#copy h3 {
	font-size: 23px;
	font-weight: 400;
	line-height: 33px;
	padding-top: 40px;
	}

#copy h4 {
	font-size: 21px;
	font-weight: 400;
	line-height: 31px;
	padding-top: 40px;
	}

#copy h2 + h3 {
	padding-top: 20px;
	}

#copy p {
	margin-top: 25px;
	}

#copy h3 + p,
#copy h4 + p {
	margin-top: 5px;
	}


																					/* ------------ Navigation Explorer ------------ */

#navigation-explorer {
	background-color: #021f40;
	color: #fff;
	display: none;
	height: 70%;
	overflow-y: scroll;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 10;
	}

#navigation-explorer-inner {
	margin: 0 auto;
	max-width: 1160px;
	padding: 40px 20px 20px 20px;
	}

#navigation-explorer #navigation-explorer-title {
	float: left;
	font-size: 25px;
	font-weight: 400;
	line-height: 35px;
	opacity: 0.7;
	}

#navigation-explorer #navigation-explorer-close {
    background: url("../img/icon-close.png") no-repeat 0 0;
	cursor: pointer;
	display: inline-block;
	float: right;
	font-weight: 400;
	height: 34px;
	line-height: 34px;
	padding-left: 44px;
	}

#navigation-explorer #navigation-explorer-close:hover {
    background-position: 0 -34px;
	}

#navigation-explorer #panels {
	clear: both;
	padding: 20px 0 0 0;
	}

#navigation-explorer #panels a {
	display: inline-block;
	color: #fff;
	float: left;
	font-weight: 400;
	margin: 20px 15px 0 0;
	text-align: center;
	text-decoration: none;
	width: calc(25% - 11.25px);
	transition: all .5s ease-in-out 0s;
	-moz-transition: all .5s ease-in-out 0s;
	-webkit-transition: all .5s ease-in-out 0s;
	-o-transition: all .5s ease-in-out 0s;
	}

#navigation-explorer #panels a:hover {
	-webkit-transform: translateY(-10px);
	-ms-transform: translateY(-10px);
	transform: translateY(-10px);
	}

#navigation-explorer #panels a:nth-child(4n+4) {
	margin-right: 0;
	}

#navigation-explorer #panels .panel-img {
	position: relative;
	}

#navigation-explorer #panels img {
	float: left;
	height: auto;
	width: 100%;
	}

#navigation-explorer #panels .panel-img .overlay {
	background-color: rgba(0, 0, 0, 0.5);
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	transition: all .5s ease-in-out 0s;
	-moz-transition: all .5s ease-in-out 0s;
	-webkit-transition: all .5s ease-in-out 0s;
	-o-transition: all .5s ease-in-out 0s;
	}

#navigation-explorer #panels a:hover .panel-img .overlay {
	background-color: rgba(0, 0, 0, 0);
	}

#navigation-explorer #panels p {
	clear: both;
	line-height: 24px;
	margin-top: 15px;
	opacity: 0.85;	
	}


																					/* ------------ Chat Man ------------ */

#chat-man {
	position: fixed;
	bottom: 0;
	right: 45px;
	z-index: 9;
	}

#chat-man img {
	float: left;
	}


																					/* ------------ Footer ------------ */

#footer {
	background-color: #021f40;
	font-size: 14px;
	font-weight: 400;
	line-height: 24px;
	padding: 30px 45px;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 5;
	}

#footer ul {
	float: left;
	font-size: 0;
	line-height: 0;
	}

#footer li {
	float: left;
	}

#footer li:first-child::after {
	color: #fff;
	content: "|";
	display: inline-block;
	font-size: 14px;
	font-weight: 400;
	line-height: 24px;
	padding-left: 30px;
	margin-right: 30px;
	opacity: 0.4;
	}

#footer p {
	float: right;
	}

#footer a {
	color: #fff;
	font-size: 14px;
	font-weight: 400;
	line-height: 24px;
	opacity: 0.4;
	text-decoration: none;
	}

#footer a:hover {
	opacity: 1;
	}

#footer #view-content {
    background: url("../img/icon-view-content.png") no-repeat top center;
	color: #fff;
	cursor: pointer;
	font-size: 19px;
	font-weight: 400;
	line-height: 29px;
	margin-top: -10px;
	padding-top: 25px;
	position: absolute;
	left: 50%;
	top: 0;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	}


																					/* ------------ Fancybox ------------ */

.fancybox-bg {
	background: #021f40 !important;
	}

.fancybox-is-open .fancybox-bg {
	opacity: 0.95 !important;
	}

.fancybox-image {
	-webkit-box-shadow: 0px 0px 50px 0px rgba(0,0,0,0.5);
	-moz-box-shadow: 0px 0px 50px 0px rgba(0,0,0,0.5);
	box-shadow: 0px 0px 50px 0px rgba(0,0,0,0.5);	
	}

.fancybox-infobar {
	color: #fff !important;
	mix-blend-mode: normal !important;
	}

.fancybox-button {
	background: none !important;
	}

.fancybox-navigation .fancybox-button--arrow_left {
	background: none !important;
	margin-left: 30px !important;
	}

.fancybox-navigation .fancybox-button--arrow_right {
	background: none !important;
	margin-right: 30px !important;
	}

.fancybox-caption {
	background: none !important;
	font-size: 19px !important;
	font-weight: 400 !important;
	line-height: 29px !important;
	}

.fancybox-navigation .fancybox-button {
	opacity: 1 !important;
	/* padding: 26px 6px 26px 16px !important; */
	padding: 0 !important;
	}

.fancybox-caption a {
	background: none;
	border: 2px solid #008bcb;
	color: #fff;
	cursor: pointer;
	display: inline-block;
    font-family: proxima-nova, sans-serif;
	font-size: 19px;
	font-weight: 400;
	line-height: 29px;
	margin-top: 30px;
	padding: 12px 60px;
	text-decoration: none;
	-webkit-border-radius: 100px;
	-moz-border-radius: 100px;
	border-radius: 100px;
	}

.fancybox-caption a:hover {
	background-color: #008bcb;
	text-decoration: none !important;
	}

.fancybox-navigation .fancybox-button div {
	padding: 0 !important;
	}


																					/* ------------ Accordions ------------ */

#content #copy .expand-blocks {
	width: 100%;
	}

#content #copy .expand-blocks .expand-block {
	width: 100%;
	}
 
#content #copy .expand-blocks .expand-block h3 {
	background: url("../img/icon-expand.gif") no-repeat top 15px left;
	border-bottom: solid 3px #cfd1d1;
	color: #0073a6;
	cursor: pointer;
	display: block;
	font-size: 21px;
	font-weight: 400;
	line-height: 31px;
	padding: 10px 20px 10px 50px;
	position: relative;
	width: 100%;
	}

#content #copy .expand-blocks .expand-block h3 img {
	position: absolute;
	top: 15px;
	right: 20px;
	}

#content #copy .expand-blocks .expand-block p:first-child {
	margin-top: 0;
	}

#content #copy .expand-blocks .expand-block-copy {
	font-size: 17px;
	line-height: 27px;
	padding: 20px 0;
	}

#content #copy .expand-blocks .expand-block-copy .gallery-thumbnails {
	margin-top: 30px;
	}


																					/* ------------ Video Thumbnails ------------ */

#content #copy #video-thumbnails {
	width: 100%;
	}

#content #copy #video-thumbnails .video {
	float: left;
	margin: 40px 40px 0 0;
	width: calc(50% - 20px);
	}

#content #copy #video-thumbnails .video:nth-child(2n+2) {
	margin-right: 0;
	}

#content #copy #video-thumbnails .video:nth-child(1),
#content #copy #video-thumbnails .video:nth-child(2) {
	margin-top: 0;
	}

#content #copy #video-thumbnails .video-container { 
	position: relative; 
	padding-bottom: 56.25%; 
	height: 0; 
	overflow: hidden; 
	max-width: 100%; 
	} 

#content #copy #video-thumbnails .video-container iframe, 
#content #copy #video-thumbnails .video-container object, 
#content #copy #video-thumbnails .video-container embed { 
	position: absolute; 
	top: 0; 
	left: 0; 
	width: 100%; 
	height: 100%; 
	}


																					/* ------------ Gallery ------------ */

#content #copy .gallery-thumbnails {
	width: 100%;
	}

#content #copy .gallery-thumbnails a {
	border: 0 !important;
	float: left;
	margin: 20px 20px 0 0;
	position: relative;
	width: calc(33.33333333333333% - 13.33333333333333px);
	}

#content #copy .gallery-thumbnails a:nth-child(3n+3) {
	margin-right: 0;
	}

#content #copy .gallery-thumbnails a:nth-child(1),
#content #copy .gallery-thumbnails a:nth-child(2),
#content #copy .gallery-thumbnails a:nth-child(3) {
	margin-top: 0;
	}

#content #copy .gallery-thumbnails .thumbnail {
	position: relative;
	}

#content #copy .gallery-thumbnails .thumbnail img {
	float: left;
	height: auto;
	width: 100%;
	}

#content #copy .gallery-thumbnails .thumbnail-overlay {
	background-color: #021f40;
	height: 100%;
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	transition: all .5s ease-in-out 0s;
	-moz-transition: all .5s ease-in-out 0s;
	-webkit-transition: all .5s ease-in-out 0s;
	-o-transition: all .5s ease-in-out 0s;
	}

#content #copy .gallery-thumbnails .thumbnail-icon {
	background: url("../img/icon-zoom.png") no-repeat center center;
	height: 100%;
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	transition: all .5s ease-in-out 0s;
	-moz-transition: all .5s ease-in-out 0s;
	-webkit-transition: all .5s ease-in-out 0s;
	-o-transition: all .5s ease-in-out 0s;
	}

#content #copy .gallery-thumbnails a:hover .thumbnail-overlay {
	opacity: 0.8;
	}

#content #copy .gallery-thumbnails a:hover .thumbnail-icon {
	opacity: 1;
	}


																					/* ------------ Lists ------------ */

#content #copy ol {
	list-style: decimal outside;
	margin: 10px 0 0 45px;
	}

#content #copy ul {
	list-style: disc outside;
	margin: 10px 0 0 45px;
	}

#content #copy ol li,
#content #copy ul li {
	padding-top: 10px;
	}


																					/* ------------ Links ------------ */

#content #copy a {
	word-break: break-word;
	color: #0073a6;
	text-decoration: none;
	transition: all .5s ease-in-out 0s;
	-moz-transition: all .5s ease-in-out 0s;
	-webkit-transition: all .5s ease-in-out 0s;
	-o-transition: all .5s ease-in-out 0
	}

#content #copy a:hover {
	border-bottom: 1px solid #021f40;
	color: #021f40;
	text-decoration: none;
	}


																					/* ------------ Downloads ------------ */

#content #copy #related-downloads {
	margin-left: 0;
	}

#content #copy #related-downloads li {
	font-size: 17px;
	line-height: 27px;
	margin-left: 45px;
	}

#content #copy #related-downloads li.heading {
	border-bottom: solid 3px #cfd1d1;
	color: #0073a6;
	display: block;
	font-size: 21px;
	font-weight: 400;
	line-height: 31px;
	list-style: none;
	margin: 0;
	padding: 0 0 10px 0;
	width: 100%;
	}


																					/* ------------ Feeds ------------ */

#content #copy .widget {
	margin-top: 40px;
	text-align: center;
	width: 100%;
	}

#content #copy .widget.col {
	float: left;
	margin-right: 40px;
	width: calc(50% - 20px);
	}

#content #copy .widget.col.alt {
	margin-right: 0;
	}

#content #copy .widget h3.heading {
	border-bottom: solid 3px #cfd1d1;
	color: #0073a6;
	display: block;
	font-size: 21px;
	font-weight: 400;
	line-height: 31px;
	margin-bottom: 20px;
	padding: 0 0 10px 0;
	text-align: left;
	width: 100%;
	}

#content #copy .widget.rss h3.heading {
	margin-bottom: 0;
	}


																					/* ------------ Forms ------------ */

#content #copy form {
	margin-top: 40px;
	width: 80%;
	}

#content #copy form .row {
	margin-bottom: 10px;
	width: 100%;
	}

#content #copy form .row.col {
	float: left;
	width: calc(50% - 10px);
	}

#content #copy form .row.col.alt {
	float: right;
	}

#content #copy form .row input,
#content #copy form .row textarea {
	background: none;
	border: 2px solid #cadfea;
	color: #021f40;
	font-family: proxima-nova, sans-serif;
	font-size: 19px;
	font-weight: 400;
	line-height: 29px;
	padding: 12px 25px;
	width: 100%;
	-webkit-border-radius: 100px;
	-moz-border-radius: 100px;
	border-radius: 100px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	}

#content #copy form .row input:focus,
#content #copy form .row textarea:focus,
#content #copy form .row input:active,
#content #copy form .row textarea:active {
	outline: none;
	}

#content #copy form .row label {
	color: #021f40;
	font-family: proxima-nova, sans-serif;
	font-size: 19px;
	font-weight: 400;
	line-height: 29px;
	}

#content #copy form .row textarea {
	height: 250px;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	border-radius: 30px;
	}

#content #copy form .row.radio {
	display: inline-block;
	float: left;
	margin-right: 20px;
	width: auto;
	}

#content #copy form .row.radio input {
	border: 0;
	padding: 0;
	width: auto;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	}

#content #copy form .row.select {
	clear: both;
	}

#content #copy form .row.select label {
	display: block;
	float: left;
	font-weight: 300;
	line-height: 24px;
	margin: 10px 0;
	padding: 10px 0;
	width: 100%;
	}

#content #copy form .row.select select {
	background: none;
	background: url("../img/select-bg.png") no-repeat top 10px right 10px;
	border: 2px solid #cadfea;
	color: #021f40;
	float: right;
	font-family: proxima-nova, sans-serif;
	font-size: 19px;
	font-weight: 400;
	line-height: 29px;
	margin-bottom: 20px;
	padding: 12px 25px;
	width: 100%;
	-webkit-border-radius: 100px;
	-moz-border-radius: 100px;
	border-radius: 100px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
    -moz-appearance: none; /* Firefox */
    -webkit-appearance: none; /* Safari and Chrome */
    appearance: none;
	}

#content #copy form .row.checkbox-group {
	margin-bottom: 20px;
	}

#content #copy form .row.checkbox-group-label {
	clear: both;
	}

#content #copy form .row.checkbox-group-label p {
	color: #021f40;
	font-family: proxima-nova, sans-serif;
	font-size: 19px;
	line-height: 29px;
	margin: 0;
	padding-top: 5px;
	width: 100%;
	}

#content #copy form .row.checkbox {
	float: left;
	padding-right: 20px;
	width: 33.33333333333333%;
	}

#content #copy form .row.checkbox input {
	float: left;
	margin: 8px 10px 0 0;
	padding: 0;
	width: auto;
	}

#content #copy form .row.checkbox label {
	float: left;
	margin: 0;
	padding: 0;
	width: auto;
	}

#content #copy form button {
	background: none;
	border: 2px solid #008bcb;
	color: #021f40;
	cursor: pointer;
    font-family: proxima-nova, sans-serif;
	font-size: 19px;
	font-weight: 400;
	line-height: 29px;
	margin: 10px 0 0 0;
	padding: 12px 40px;
	-webkit-border-radius: 100px;
	-moz-border-radius: 100px;
	border-radius: 100px;
	}

#content #copy form button:hover {
	background-color: #008bcb;
	color: #fff;
	}

#content #copy form .caption {
	font-size: 16px;
	line-height: 26px;
	}