/* 

	First Group
	Site	: 	firstgroup.com
	Author	:	spideronline.co.uk

	Reset
	Fonts
	General
	Colors
	Form Elements
	Modal Box
	Micro Menu
	Structural
	Site Header
	Sidebar
	Footer
	Front Page
	Sliders
	Google Charts
	Opco Landing Pages
	Twitter Ticker
	Next Bus
	Ticket Tables
	News
	Journey Planner
	Timetables
	Search Results
	Routemaps
	Paypoint Locator
	Service Updates
	Sitemap
	Corporate
	Careers
	Login
	Cookie Notice
	FAQs
	Admin Toolbar
	Custom Icons
	File Icons
	Custom Tooltips
	System Messages
	UI Datepicker
	User Menu
	User Pages
	Tables
	Journey Planner SVGs
	Mailing List Sidebar Form
	Legacy IE Styles
	Admin Users Front End Form

	*/




/*	
----------------------------------------------------------
Reset
---------------------------------------------------------- 
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

article:after, aside:after, details:after, figcaption:after, figure:after, 
footer:after, header:after, hgroup:after, menu:after, nav:after, section:after, 
div:after, ul:after, ol:after {
	content: "";
	display: table;
	clear: both;
}

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	display: table;
}

html {
	box-sizing: border-box;
}

*, *:before, *:after {
	box-sizing: inherit;
}

.element-invisible {
	position: absolute;
	top: -9999px;
	left: -9999px;
}

#delcopy{
	display: inline-block;
	line-height: 40px;
	text-align: center;
	color: #fafafa;
	font-size: 13.5px;
	padding: 0 18px 0 36px;
	margin: 10px 0;
	width: auto;
	transition: all .2s;
	border-radius: 2px;
	border: 1px solid rgba(0,0,0,0.2);
	background: rgba(0,0,0,0.05);
	color: #777;
	font-weight: 600;
	position: relative;
}

#delcopy:hover {
	color: #fafafa;
	background: #454545;
}

#delcopy:before {
	content: "\ea36";
	font-family: first-icons;
	font-weight: normal;
	left: 8px;
	font-size: 12px;
	position: absolute;
	width: 26px;
	text-align: center;
	transition: all .5s;
	transform: translate3d(0,0,0) rotate(0);
	-ms-transform: translate3d(0,0,0) rotate(0);
	-webkit-transform: translate3d(0,0,0) rotate(0);
}

#delcopy:hover:before {
	transform: translate3d(0,0,0) rotate(180deg);
	-ms-transform: translate3d(0,0,0) rotate(180deg);
	-webkit-transform: translate3d(0,0,0) rotate(180deg);	
}

body #pageWrapper {
	-webkit-user-select: text!important;
	background-size: cover;
	background-position: center center;
}











/*	
----------------------------------------------------------
Fonts
---------------------------------------------------------- 
*/

@font-face {
	font-family: 'first-icons';
	src: url('../fonts/first-icons/first-icons.woff?y5pazs');
}








/*	
----------------------------------------------------------
General
---------------------------------------------------------- 
*/

html {
	width: 100%;
	background: #fafafa;
	-webkit-text-size-adjust: 100%;
}

html.no-scroll,
html.no-scroll body {
	height: 100%;
	overflow: hidden;
	width: 100%;
	position: fixed;
}

html.no-scroll-menu,
html.no-scroll-menu body {
	height: 100%;
	overflow: hidden;
	width: 100%;
	position: fixed;	
}

body {
	background: #f4f4f4;
	color: #666;
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	font-size: 13.5px;
	line-height: 24px;
}

p {
	margin: 0 0 20px 0;
	font-weight: 400;
	font-size: 13.5px;
	line-height: 24px;
}

hr {
	border: none;
	border-top: 1px solid #d5045f;
	margin: 0 0 16px 0;
	height: 16px;
	overflow: hidden;
	-webkit-margin-before: 0.5px;
	-webkit-margin-after: 0.5px;
}

.screen-reader-text {
	position: absolute;
	top: -10000px;
	left: -10000px;
}

.pagename-journey-planner #content p {
	margin-bottom: 0;
}

#content > *:last-child,
.news-content p {
	margin-bottom: 0;
}

p.intro {
	font-weight: 600;
	font-size: 18px;
	line-height: 28px;
}

img {
	max-width: 100%;
	height: auto;
}

.gmnoprint img {
	max-width: none;
}

.gmnoprint span {
	display: inline;
}

img.alignleft {
	float: left;
	margin: 0 10px 10px 0;
}

img.alignright {
	float: right;
	margin: 0 0 10px 10px;
}

#pageWrapper #content img.page-header {
	position: relative;
	width: 30%!important;
	height: auto!important;
}

ul#header_navigation,
#main_navigation,
#main_navigation ul,
ul#sidebar_navigation,
ul#favourites-list,
ul#external_navigation,
ul.route-list, ul.route-details,
ul.route-details ul,
ul#areaList {
	list-style: none;
	padding: 0;
	margin: 0;
}

span.small {
	font-size: 100%;
}

a { 
	color: #606060;  
	text-decoration: none;
	transition: all .4s;
}

a:hover { 
	color: #d5045f; 
}

a:focus { 
	outline: thin dotted; 
}

a:hover, 
a:active { 
	outline: 0; 
}

a.more:hover h3 {
	color: #d5045f;
}

#content li a,
#content p a,
#content label a,
#sidebar a {
	color: #d5045f;
}


#content li a:hover,
#content p a:hover,
#content label a:hover,
#sidebar a:hover {
	text-decoration: underline;
}

.socicon {
	font-size: 24px;
	font-weight: normal;
}

h1, 
h2, 
h3, 
h4, 
h5, 
h6 {
	color:#444;
	clear:both;
	font-weight: 700;
	padding: 0;
	margin: 0 0 16px 0;
	letter-spacing: -.5px;
}

h1 {
	font-size:22px;
	line-height: 32px;
}

h1.page-title {
	margin-bottom: 20px;
}

#content h1 {
	border-bottom: 2px solid #d5045f;
	padding: 0 0 8px 0;
	margin: 0 0 24px 0;
}

h2, 
h2 a {
	font-size: 18px;
	line-height: 28px;
}

h2.section-title {
	width: 100%;
	font-weight: 700;
	padding-bottom: 12px;
	border-bottom: solid 2px #d5045f;
	margin-bottom: 12px;
}

.opco h2.section-title {
	margin-bottom: 37px;
}

.opco #timetable_search h2.section-title,
.journey-planner h2.section-title {
	margin-bottom: 20px;
}

.front h2.section-title {
	margin-bottom: 12px;
}

#stop_holder h2 {
	margin: 20px 0;
}

h2 .favouritesubmit {
	display: block;
	color: #252525;
	padding-right: 12px;
	float: right;
	margin-top: -2px;
	cursor: pointer;
	font-size: 0;
}

.favouritesubmit:before {
	font-size: 22px;
	font-family: first-icons;
	content: "\e9db";
	font-weight: normal;
}

.favouriteoff:before {
	content: "\e9dd";
}

h2 .favouritesubmit:hover,
h2 .favouritesubmit.favouriteoff {
	color: #d5045f;
}

#sidebar h2 {
	margin-bottom: 16px;
}

h3 {
	font-size: 16px;
	color: #676767;
	line-height: 26px;
}

#content h3 {
	margin-bottom: 12px;
}

#footer h3.section-title {
	border-color: #cecece;
}

h3.endpoints{
	margin: 15px;
}

h3.endpoints span{
	font-size: 16px;
	color: #999;
}

.pagename-timetables h3.endpoints {
	margin: 0 0 16px 0;
}

h4 {
	font-size: 14px;
}

h1.plain,
h2.plain,
h3.plain,
h4.plain,
h5.plain,
h6.plain {
	margin: 0;
	padding: 0;
}

blockquote {
	background:#f4f4f4;
	padding:30px;
	font-size:30px;
}

blockquote:before {
	content:"\201C";
}

blockquote:after {
	content:"\201D";
	float: right;
}

body #content .note {
	padding-top: 16px;
	clear: both;
	display: block;
}

dl {
	width: 100%;
	overflow: hidden;
	margin: 0 0 12px 0;
}

dt, 
dd {
	font-weight: 500;
}

dt {
	font-weight: 600;
	margin-top: 2px;
	float: left;
	clear: left;
	width: 50px;
}

dd {
	margin: 2px 0 0 55px;
}

.left {
	text-align: left;
}

.right {
	text-align: right;
}

object {
	pointer-events: none;
}

abbr[title] { 
	border-bottom: 1px dotted; 
}

em {
	font-style: italic;
}

b, 
strong { 
	font-weight: bold; 
}

blockquote { 
	margin: 1em 40px; 
}

dfn { 
	font-style: italic; 
}

ins { 
	background: #ff9; 
	color: #000; 
	text-decoration: none; 
}

mark { 
	background: #ff0; 
	color: #000; 
	font-style: italic; 
	font-weight: bold; 
}

pre, 
code, 
kbd, 
samp { 
	font-family: monospace, serif; _font-family: 'courier new', monospace; 
	font-size: 1em; 
}

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%; 
}

sub, 
sup { 
	font-size: 75%; 
	line-height: 0; 
	position: relative; 
	vertical-align: baseline; 
}

sup { 
	top: -0.5em; 
}

sub { 
	bottom: -0.25em; 
}

dd { 
	margin: 0; 
}

nav ul, 
nav ol { 
	list-style: none; 
	list-style-image: none; 
	margin: 0; 
	padding: 0; 
}

img { 
	border: 0; 
	-ms-interpolation-mode: bicubic; 
	vertical-align: middle;
}

#content img {
	border-radius: 2px;
}

svg:not(:root) { 
	overflow: hidden;
}

figure {
	margin: 0; 
}

table { 
	border-collapse: collapse; 
	border-spacing: 0; 
}

td { 
	vertical-align: top; 
}

.chromeframe { 
	margin: 0.2em 0; 
	background: #ccc; 
	color: black; 
	padding: 0.2em 0; 
}

#content ul,
#content ol {
	margin: 0 0 20px 20px;
	font-weight: 400;
	font-size: 13.5px;
	line-height: 24px;
}

#content ul ul,
#content ol ol,
#content ul ol,
#content ol ul {
	margin-top: 12px;
	margin-bottom: 12px;
}

#content ul li,
#content ol li {
	position: relative;
	list-style-type: none;
}

#content ul > li:before {
	position: absolute;
	content: "\ea20";
	font-family: first-icons;
	width: 4px;
	height: 4px;
	line-height: 4px;
	font-size: 4px;
	text-align: center;
	border-radius:1px;
	left: -18px;
	top: 10px;
	color: #999;
	background: #999;
}

#content ol {
	counter-reset: list-counter;
}

#content ol > li:before {
	content: counter(list-counter);
	counter-increment: list-counter;
	color: #999;
	font-size: 10px;
	position: absolute;
	left: -18px;
	top: 0;
	font-weight: 700;
}

#content ul ol {
	counter-reset: inner-list-counter;
}

#content ul ol li:before {
	top: 0;
	content: counter(inner-list-counter);
	counter-increment: inner-list-counter;
}

#content ol ul li:before {
	top: 10px;
}

#content .search-results,
#content .ctrls ul {
	margin: 0;
}

#content ul.pager > li:before,
#content .search-results li:before,
#content .ctrls ul li:before {
	display: none;
}

#ukbus_nav_tabs li:before {
	display: none;
}

:focus {
	outline-style: none!important;
	box-shadow: 0 0 5px rgba(213, 4, 95, 1);
}

input[type="checkbox"]:focus + label,
input[type="radio"]:focus + label,
.photo-file:focus + label {
	box-shadow: 0 0 5px rgba(213, 4, 95, 1);
}

header#header :focus,
fieldset:focus {
	box-shadow: none;
	
}






/*	
----------------------------------------------------------
Colors
---------------------------------------------------------- 
*/

html body #pageWrapper .firstpink {
	color: #d5045f;
}

html body #pageWrapper .firstblue {
	color: #212b55;
}

html body #pageWrapper .signalviolet {
    color: #93328e;
}

html body #pageWrapper .purple {
	color: #823f90;
}

html body #pageWrapper .orange {
	color: #e7412c;
}

html body #pageWrapper .yellow {
	color: #f7a800;
}

html body #pageWrapper .dark-teal {
	color: #006272;
}

html body #pageWrapper .teal {
	color: #00b09a;
}

html body #pageWrapper .first-green {
	color: #78b829;
}

html body #pageWrapper .dark-blue {
	color: #005aa7;
}

html body #pageWrapper .blue {
	color: #69b1e2;
}

html body #pageWrapper .light-blue {
	color: #bed3e6;
}

html body #pageWrapper .grey {
	color: #a8a7a8;
}

html body #pageWrapper .white {
	color: #ffffff;
}

html body #pageWrapper .black {
	color: #000000;
}

html body #pageWrapper .back-firstpink {
	background: #d5045f;
	color: #fafafa;
}

html body #pageWrapper .back-firstblue {
	background: #212b55;
	color: #fafafa;
}

html body #pageWrapper .back-purple {
	background: #823f90;
}

html body #pageWrapper .back-orange {
	background: #e7412c;
}

html body #pageWrapper .back-yellow {
	background: #f7a800;
}

html body #pageWrapper .back-dark-teal {
	background: #006272;
}

html body #pageWrapper .back-teal {
	background: #00b09a;
}

html body #pageWrapper .back-green {
	background: #78b829;
}

html body #pageWrapper .back-dark-blue {
	background: #005aa7;
}

html body #pageWrapper .back-blue {
	background: #69b1e2;
}

html body #pageWrapper .back-light-blue {
	background: #bed3e6;
}

html body #pageWrapper .back-grey {
	background: #a8a7a8;
}

html body #pageWrapper .back-lightgrey {
	background: #eeeeee;
}

html body #pageWrapper .back-white {
	background: #ffffff;
}


















/*	
----------------------------------------------------------
Form Elements
---------------------------------------------------------- 
*/

button.location_geo,
button,
.btn, 
.fieldsubmit, 
input[type=submit], 
.btn-p,
.btn-dd {
	display: inline-block;
	border-radius: 2px;
	text-align:center;
	padding: 9px 25px;
	font-weight: 600;
	cursor: pointer;
	transition: all .2s;
	line-height: 24px;
	height: 42px;
	-webkit-appearance: none;
	border: none;
}

button:hover,
.btn:hover, 
.fieldsubmit:hover, 
input[type=submit]:hover, 
.btn-p:hover,
.btn-dd:hover {
	text-decoration: none;
}

#pageWrapper button.location_geo,
#pageWrapper button,
#pageWrapper .btn, 
#pageWrapper .fieldsubmit, 
#pageWrapper input[type=submit], 
#pageWrapper .btn-p {
	background: #252525;
	border: none;
	color: #fafafa;
	font-weight: 600;
}

#pageWrapper button.location_geo {
	background: #212b55;
	padding-left: 0;
	padding-right: 0;
}

button.location_geo:before {
	font-family: first-icons;
	font-weight: normal;
	content: "\e070";
	font-size: 12px;
	padding-right: 4px;
}

.location_geo.user-location:after {
	font-family: first-icons;
	font-weight: normal;
	content: "\e070";
	font-size: 12px;
	float: right;
}

table .btn {
	margin: 3px;
}

.btn:hover, 
.btn-dd:hover, 
.fieldsubmit:hover {
	color: #fff;
	text-decoration: none;	
}

.btn-dd {
	background: #252525;
	border: none;
	color: #ffffff;
}

#pageWrapper .btn-dd.full-width {
	background: #fff;
	border: 1px solid #dcdcdc;
	color: #252525;
}

.btn-dd.full-width:hover {
	background: #ddd;
	color: #00b09a;
	border-color: #aaa;
}

.btn-dd.full-width.active {
	background: #ddd;
}

label {
	font-size: 13.5px;
	font-weight: 600;
	transition: all .3s;
}

.location_geo,
body.front input[type=text] {
	width: 100%;
}

.site-search #edit-actions {
	width: 35px;
	height: 32px;
	border-left: 1px solid rgba(0,0,0,0.1);
	position: absolute;
	right: -10000px;
	top: -10000px;

}

.site-search #edit-actions:hover {
	border-color: transparent;
}


.site-search #edit-actions:before {
	font-family: first-icons;
	content: "\e036";
	font-size: 12px;
	line-height: 32px;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 35px;
	z-index: 1;
	transition: all .5s;
}

.site-search #edit-actions:hover:before {
	color: #fafafa;
	background: #d5045f;
	border-radius: 2px;
}

.site-search input[type=text] {
	background: transparent;
}

#pageWrapper .site-search input[type=submit] {
	font-size: 0;
	background: transparent;
	border: none;
	width: 35px;
	height: 32px;
	padding: 0;
	z-index: 2;
	position: absolute;
	top: -10000px;
	left: -10000px;
}

.site-search input[type=submit]:hover {
	background: transparent;
}

.site-search #edit-actions:before {
	display: none!important;
}

.icon-drop {
	position: relative;
}

.icon-drop:after {
	content: "\e051";
	font-family: first-icons;
	display: inline-block;
	font-weight: normal;
	font-size: 24px;
	position: absolute;
	top: 5px;
	margin-left: 5px;
	color: rgba(255,255,255,0.8);
	transform: rotate(270deg);
	-ms-transform: rotate(270deg);
	-webkit-transform: rotate(270deg);
}

#options-button.icon-drop:after {
	color: rgba(0,0,0,0.8);
}

input[type="date"],
input[type="password"],
input[type="text"],
input[type="email"],
textarea {
	padding: 10px 8px;
	font-family: 'Open Sans', sans-serif;
	border: 1px solid #e2e2e2;
	display: block;
	font-size: 13.5px;
	margin: 0;
	line-height: 24px;
	transition: all .2s;
	-webkit-appearance: none;
	border-radius: 2px;
	color: #555;
	font-weight: 400;
	height: 42px;
}

input[type="password"]:hover,
input[type="text"]:hover,
input[type="email"]:hover,
textarea:hover,
input[type="password"]:focus,
input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus {
	border: 1px solid rgba(0,0,0,0.3);
	outline: 0;
}

.ie9 input[type="date"],
.ie9 input[type="password"],
.ie9 input[type="text"],
.ie9 input[type="email"] {
	height: 42px;
}

textarea {
	width: 100%;
	overflow: auto; 
	vertical-align: top; 
	resize: vertical; 
}

label {
	display: block;
}

select {
	width: 100%;
	padding: 0 25px 2px 6px;
	font-size: 13.5px;
	line-height: 38px;
	height: 42px;
	background: #fff url('../img/select-bg.png') no-repeat;
	background-size: 44px 44px;
	background-position: right center;
	-webkit-appearance: none;
	-moz-appearance: none; 
	border-radius: 2px;
	box-shadow: none;
	border: 1px solid #e2e2e2;
	color: #555;
}

select::-ms-expand {
	display: none;
}

.ie9 select {
	line-height: 24px;
	padding: 10px;
	background: none;
}

select:hover {
	cursor: pointer;
}

input[type="checkbox"] + label:hover,
input[type="radio"] + label:hover,
input[type="checkbox"]:hover + label,
input[type="radio"]:hover + label,
input[type="checkbox"]:checked + label,
input[type="radio"]:checked + label{
	color: #353535;
}

form { 
	margin: 0; 
}

fieldset { 
	border: 0; 
	margin: 0; 
	padding: 0; 
	width: 100%;
}

label { 
	cursor: pointer; 
}

legend { 
	border: 0; 
	padding: 0; 
	white-space: normal; 
}

button, 
input, 
select, 
textarea { 
	font-size: 100%; 
	margin: 0; 
	vertical-align: baseline; 
	font-family: 'Open Sans', sans-serif;
}

button, input { 
	line-height: normal; 
}

button[disabled], 
input[disabled] { 
	cursor: default; 
}

input[type="checkbox"], 
input[type="radio"] { 
	padding: 0; 
}

input[type="search"] { 
	-webkit-appearance: textfield; 
}

input[type="search"]::-webkit-search-decoration, 
input[type="search"]::-webkit-search-cancel-button { 
	-webkit-appearance: none; 
}

button::-moz-focus-inner, 
input::-moz-focus-inner { 
	border: 0; 
	padding: 0; 
}

input:invalid, 
textarea:invalid { 
	background-color: #f0dddd; 
}

input:-webkit-autofill, 
textarea:-webkit-autofill, 
select:-webkit-autofill {
	background: rgba(0,0,0,0.05);
}

.dob {
	background: url(../img/form-elements/calendar.png) no-repeat center right;
	background-size: 32px 32px;
	color: #555;
}

input[name="mail"] {
	background: url(../img/form-elements/envelope.png) no-repeat center right;
}

input[name="telephone"] {
	background: url(../img/form-elements/phone.png) no-repeat center right;
}

input[name="mobile_num"] {
	background: url(../img/form-elements/mobile.png) no-repeat center right;
}

input[name="mail"],
input[name="telephone"],
input[name="mobile_num"] {
	background-size: 32px 32px;	
	padding-right: 40px;
}

.hasDatepicker {
	background: #fcfcfc url(../img/form-elements/calendar.png) no-repeat center right;
	background-size: 32px 32px;
	color: #555;
}














/*	
----------------------------------------------------------
Modal Box
---------------------------------------------------------- 
*/

.overlay {
	display: table;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	background: rgba(255,255,255,0.95);
	z-index: 9999;
	overflow: hidden;
	opacity: 0;
	transition: opacity .4s;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	transform: translate3d(0,0,0) translateY(100%);
	-ms-transform: translate3d(0,0,0) translateY(100%);
	-webkit-transform: translate3d(0,0,0) translateY(100%);
}

.overlay.active {
	opacity: 1;
	transform: translate3d(0,0,0) translateY(0);
	-ms-transform: translate3d(0,0,0) translateY(0);
	-webkit-transform: translate3d(0,0,0) translateY(0);
}

.modal {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	background: transparent;
	font-size: 13.5px;
	position: relative;
	width: 320px;
	height: auto;
	min-height: 100px;
	z-index: 99999;
	overflow: hidden;
	left: calc(50% - 160px);
}

.modal-alert ul {
	list-style: none;
}

.modal-alert ul li {
	margin: 10px 0;
}

.modal-alert ul li label {
	display: inline-block;
	padding-left: 10px;
}

img.modal {
	background:none;
	box-shadow: none;
	width:auto;
	top:45%;
}

.modal h2 {
	margin: 0;
	padding: 0;
	margin: 0 0 24px 0;
	color: #d5045f;
	font-size: 18px;
	line-height: 28px;
	font-weight: 600;
}

.modal-body {
	padding: 0 12px;
	line-height: 24px;
	overflow: auto;
}

.modal-alert {
	overflow: hidden;
	white-space: pre-wrap;
	line-height: 24px;
	font-size: 13.5px;
	color: #666;
	font-weight: 600;
}

.inner-scroll {
	position: relative;
	width: 100%;
	height: auto;
	max-height: 400px;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overflow-x: hidden;
	padding: 0 12px;
}

.inner-scroll p {
	margin-bottom: 28px;
}

.inner-scroll .btn {
	background-color: #353535;
	display: inline-block;
	font-size: 13.5px;
	font-weight: 600;
	padding: 6px 12px;
	text-decoration: none;
	text-align: center;
	border-radius: 2px;
	cursor: pointer;
	transition: all .2s;
	margin: 0 4px;
	height: 36px;
	color: #f0f0f0;
	width: auto;
}

.inner-scroll .btn:last-child {
	background: #d5045f;
}

.inner-scroll .btn:hover {
	background: #d5045f;
}

.modal-alert-text {
	margin-bottom: 0;
	color: #505050;
}







/*	
----------------------------------------------------------
Structural
---------------------------------------------------------- 
*/

.wrap,
.container, 
#main {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 30px;
	position: relative;
}

#content {
	float: right;
	border: none;
	background: #ffffff;
	padding: 12px 20px 20px 20px;
	position: relative;
	margin-top: 30px;
	margin-bottom: 30px;
}

.opco #content {
	background: none;
	border: 0;
	padding: 0;
}

#sidebar {
	width: 28%;
	margin: 30px 30px 30px 0;
	font-size: 13.5px;
	font-weight: 600;
}

.opco #sidebar > div,
.opco #sidebar > ul {
	background: none;
	border: 0;
	padding: 0;
}

#main.sidebar-left #sidebar{
	float: right;
}

#main.sidebar-right #sidebar{
	float: left;
	margin: 30px 0;
}

#main.sidebar-left #content{
	float: right;
}

#main.sidebar-right #content{
	float: left;
	margin: 30px 30px 30px 0;
}

#content {
	width: 100%;
}

#main.sidebar-left #content,
#main.sidebar-right #content {
	width: calc(72% - 30px);
}

#main.opco.sidebar-right #content {
	width: calc(66.66666666666666666% - 20px);
}

#main.opco.sidebar-right #content + #sidebar {
	width: calc(33.3333333333333% - 20px);
	margin: 30px 0;
}

.col-right {
	width: 66%;
	float: right;
}

.col-2 {
	float: left;
	width: 50%;
	padding: 10px;
}

.col-3 {
	float: left;
	width: 33%;
	line-height: 1.25em;
	text-align: left;
}

.col-3:last-child {
	margin: 0;
}

.col-3 img {
	width: 100%;
	height: auto;
}

.col-4 {
	float: left;
	width: 25%;
	padding: 10px 50px;
	line-height: 1.25em;
	text-align: left;
}

.full-width {
	width: 100%;
}

.il {
	display: inline-block
}

.fl {
	float: left
}

.fr {
	float: right
}

.float-content-right {
	position: relative;
	overflow: hidden;
	margin-bottom: 24px;
}









/*	
----------------------------------------------------------
Micro Menu
---------------------------------------------------------- 
*/

#pageWrapper #main > ul.mini {
	display: none;
}

.micro-menu {
	width: 100%;
	position: relative;
	font-size: 13.5px;
}

.micro-menu:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

.micro-menu input {
	display: none;
}

.micro-menu input + label {
	display: block;
	background: #fff;
	padding: 12px 16px;
	line-height: 24px;
	margin-bottom: 12px;
	color: #444;
	display: none;
}

.micro-menu input + label:before {
	content: "Open Menu";
}

.micro-menu input + label:after {
	font-family: first-icons;
	content: "\e5d2";
	font-size: 20px;
	line-height: 24px;
	float: right;
	font-weight: normal;
}

.micro-menu input:checked + label:after {
	content: "\e117";
}

.micro-menu input:checked + label:before {
	content: "Close Menu";
}

.micro-menu > ul {
	width: 100%;
	margin: 0 0 30px 0;
	padding: 0;
	background: #fff;
}

.micro-menu > ul > li {
	list-style-type: none;
	display: block;
	float: left;
	position: relative;
	background: #fff;
	border-right: 2px solid rgba(0,0,0,0.1);
	font-weight: 600;
}

.micro-menu > ul > li a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 14px 16px;
	transition: all .2s ease;
}

.micro-menu > ul > li.active-trail > a,
.micro-menu > ul > li a.active,
.micro-menu > ul > li a:hover {
	background: #d5045f;
	color: #fafafa;
}










/*	
----------------------------------------------------------
Site Header
---------------------------------------------------------- 
*/


#toggle-menu,
#toggle-menu + label {
	display: none;
}

body {
	padding-top: 135px;
}

header#header {
	background: #fcfcfc;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
}

.front h1,
header#header + h1 {
	position: fixed;
	top: -10000px;
	left: -100000px;
}

.top-nav {
	width: 100%;
	background: #f0f0f0;
	border-bottom: 1px solid rgba(0,0,0,0.1);
}

.top-nav .wrap {
	background: none;
	padding: 0 30px;
}

ul#top-navigation {
	float: left;
}

.user-menu > li > a,
#top-navigation > li > a, 
#top-navigation > li > span {
	display: block;
	line-height: 42px;
	height: 42px;
	padding: 0 24px;
	color: #212B55;
	font-weight: 700;
	font-size: 10px;
	cursor: pointer;
	text-transform: uppercase;
	height: auto;
	margin: 0;
	width: auto;
}

.user-menu > li,
#top-navigation > li {
	border-right: 1px solid rgba(0,0,0,0.1);
	margin: 0;
	vertical-align: top;
	height: 42px;
	margin: 0 -2px 0 -2px;
	transition: all .3s;
	width: auto;
	display: inline-block;
}

.user-menu > li:first-child,
#top-navigation > li:first-child {
	border-left: 1px solid rgba(0,0,0,0.1);
}

.user-menu {
	text-align: right;
	float: right;
	position: relative;
}

.user-menu > li {
	display: inline-block;
	margin: 0 -2px 0 -2px;
}

.shopping-cart span {
	display: inline-block;
	vertical-align: top;
	line-height: 16px;
	height: 16px;
	background: #d5045f;
	border-radius: 3px;
	padding: 0 6px;
	font-size: 10px;
	margin: 4px 0 0 0;
	position: relative;
	color: #fafafa;
}
.user-menu > li:last-child > a.user-logout,
.user-menu .user-logout,
#top-navigation > li:first-child a,
#top-navigation > li:nth-of-type(2) a {
	font-size: 0;
	line-height: 42px;
	height: 42px;
	width: 42px;
	padding: 0;
	text-align: center;
}


.user-menu .user-logout:before,
#top-navigation > li:first-child a:before,
#top-navigation > li:nth-of-type(2) a:before {
	font-family: first-icons;
	content: "\e88a";
	font-size: 14px;
	font-weight: normal;
	display: inline;
}

#top-navigation > li.menu-464 a:before {
	content: "\e902";
}

#top-navigation > ul > li:nth-of-type(4) a {
	width: auto;
	font-size: 10px;
	padding: 0 24px;
}

#top-navigation > li:nth-of-type(4) a:before {
	font-family: 'first-icons';
	content: "\e158";
	font-size: 14px;
	margin-top: -1px;
	display: none;
}

.user-menu .user-logout:before {
	content: "\e28d";
	font-size: 16px;
}

.shopping-cart span {
	display: inline-block;
	vertical-align: middle;
	line-height: 16px;
	height: 16px;
	background: #d5045f;
	border-radius: 3px;
	padding: 0 6px;
	font-size: 10px;
	margin: -2px 0 0 0;
	position: relative;
	color: #fafafa;
	position: relative;
	margin-left: 22px;
}

.shopping-cart > span:before {
	content: "\eaef";
	font-family: first-icons;
	font-size: 18px;
	font-weight: normal;
	border: none;
	left: -22px;
	color: #212B55;
	top: 0;
	position: absolute;
	left: -23px;
}

.shopping-cart span:after {
	content: "";
	width: 0;
	height: 0;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-right: 4px solid #d5045f;
	position: absolute;
	left: -4px;
	top: 4px;
}

/* Site Title */

.site-title {
	width: auto;
	float: left;
	position: relative;
}

.APL-logo {
	width: 174px;
	height: 36px;
	margin: 18px 0 0 0;
	display: block;
	position: relative;
	transition: all .2s;
	transform: translate3d(0,0,0);
	-ms-transform: translate3d(0,0,0);
	-webkit-transform: translate3d(0,0,0);
}

.opco-name {
	margin: 0;
	font-weight: 600;
	font-size: 13.5px;
	line-height: 20px;
	color: #212B55;
	display: block;
	position: relative;
	clear: both;
	transition: all .2s;
	transform: translate3d(0,0,0);
	-ms-transform: translate3d(0,0,0);
	-webkit-transform: translate3d(0,0,0);
}

.shrink .APL-logo {
	float: left;
	margin: 14px 0 0 0;
	width: 135px;
	height: 28px;
}

.shrink .opco-name {
	font-size: 12px;
	line-height: 16px;
}

.APL-logo:not(.front-logo) #first-svg #bus {
	display: none;
}

.shrink .front .APL-logo {
	margin: 22px 0 0 0;
}

.site-search {
	display: none;
	clear: none;
}


.header-login:hover > a,
.user-menu > li > a:hover,
#top-navigation > li > a:hover, 
#top-navigation > li:hover > span {
	background: rgba(0,0,0,0.03);
	color: #212B55;
}

.header-login-form {
	background: #fcfcfc;
	padding: 10px;
	box-shadow: 0 2px 2px rgba(0,0,0,0.3);
	width: 320px;
	position: absolute;
	top: 100%;
	right: 0;
	display: none;
	border-top: 1px solid rgba(0,0,0,0.1);
	z-index: 1000;
}

.header-login-form input[type="text"],
.header-login-form input[type="password"] {
	max-width: 100%;
	margin: 0 0 10px 0;
}

.header-login-form label {
	display: none;
}

.header-login-form p {
	margin: 0;
	position: absolute;
	bottom: 10px;
	left: 10px;
	font-size: 12px;
	line-height: 20px;
}

.header-login-form p:first-of-type {
	bottom: 31px;
}

.header-login-form a {
	color: #d5045f;
}

.header-login.timeout > div,
.header-login:hover > div {
	display: block;
}

















/*	
----------------------------------------------------------
Sidebar
---------------------------------------------------------- 
*/

#sidebar > div, 
#sidebar > ul {
	margin-bottom: 30px;
	border: none;
	background: #ffffff;
	padding: 12px 20px;
}

#sidebar > div#timetable_search {
	padding: 16px 20px 20px 20px;
}

.opco #sidebar > div#timetable_search {
	padding: 0;
}

#sidebar > div#timetable_search input[type="text"] {
	margin: 8px 0 20px 0;
}

#sidebar > ul {
	padding: 0;
}

#sidebar #favourites {
	padding: 16px 20px 20px 20px;
}

#sidebar > *:last-child {
	margin-bottom: 0;
}

.hidden {
	display: none;
}

body .invisible {
	position: absolute;
	clip: rect(1px 1px 1px 1px);
	clip: rect(1px, 1px, 1px, 1px);
}

#sidebar > ul {
	background: none;
}

ul#sidebar_navigation ul{
	padding: 0;
	width: calc(100% - 20px);
	margin-left: 20px;
}

ul#sidebar_navigation li {
	list-style: none;
	position: relative;
}

ul#sidebar_navigation li ul li {
	margin-bottom: 2px;
}

ul#sidebar_navigation li ul li a {
	background: #fff!important;
	color: #555555!important;
	padding: 4px 16px;
	margin-bottom: 2px;
	line-height: 24px;
	transition: all .2s ease;
	font-weight: 600;
	border-left: 2px solid #d5045f;
	border-bottom: none;
}

ul#sidebar_navigation li ul li a.active,
ul#sidebar_navigation li ul li a:hover {
	background: #d5045f!important;
	color: #f0f0f0!important;
}

ul#sidebar_navigation li ul li a:after {
	border-color: transparent transparent transparent transparent!important;
	border-width: 0 0 0 0;
}

ul#sidebar_navigation li a {
	display: block;
	padding: 12px 20px;
	border-bottom: 2px solid #f3f3f3;
	position: relative;
	line-height: 24px;
	background: #ffffff;
	color: #252525;
	font-weight: 600;
	font-size: 13.5px;
}

ul#sidebar_navigation li a:hover {
	color: #d5045f;
	text-decoration: none;
}

ul#sidebar_navigation li a.active,
ul#sidebar_navigation li.active-trail > a {
	position: relative;
	background: #d5045f!important;
	color: #fff!important;
}

ul#sidebar_navigation li > ul > li.active-trail.has-children > a:first-child:after,
ul#sidebar_navigation li > ul > li > ul > li.active-trail.has-children > a:first-child:after,
ul#sidebar_navigation li > ul > li > ul > li > ul > li.active-trail.has-children > a:first-child:after  {
	content: "";
	position: absolute;
	top: 22px;
	right: 20px;
	z-index: 9;
	border-style: none;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid #fff;
	border-color: #fff transparent transparent transparent!important;
}

#sidebar li.has-children a:after {
	content: "";
	position: absolute;
	top: 22px;
	right: 20px;
	z-index: 9;
	border-style: none;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid #aaa;
}

#sidebar li.has-children a:hover:after {
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid #d5045f ;
}

#sidebar li.has-children.active-trail a:hover:after,
ul#sidebar_navigation li a.active:after,
ul#sidebar_navigation li.active-trail a:after {
	content: "";
	width: 0;
	height: 0;
	position: absolute;
	top: 0;
	right: -10px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 24px 0 24px 10px;
	border-color: transparent transparent transparent #d5045f;
}

ul#sidebar_navigation li.active.has-children a:after {
	content: "";
	border-style: solid;
	border-width: 24px 0 24px 10px;
	border-color: transparent transparent transparent #d5045f;
}

ul#sidebar_navigation li ul li.has-children > a:after {
	content: "";
	position: absolute;
	top: 13px!important;
	right: 10px!important;
	z-index: 9;
	border-style: solid!important;
	border-width: 5px 5px 0 5px!important;
	border-color: #aaa transparent transparent transparent!important;
}

ul#sidebar_navigation li ul > li.has-children > a:hover:after {
	border-color: #fff transparent transparent transparent!important;
}

#favourites p {
	margin: 0;
}

ul#favourites-list li {
	border-bottom: 1px dashed #e2e2e2;
	padding: 10px 0;
}

ul#favourites-list li:first-child {
	border-top: dashed 1px #e2e2e2;
}

ul#favourites-list li a {
	display: inline-block;
}

ul#favourites-list li span.favouritedelete {
	float: right;
	margin: 0 0 0 5px;
	position: relative;
	font-weight: 600;
	top: 3px;
	background: #cccccc;
	padding: 0px 3px 2px 2px;
	line-height: 12px;
	color: #ffffff;
}

ul#favourites-list li span.favouritedelete:hover {
	background-color: #d5045f;
	cursor: pointer;
}

.breadcrumbs {
	background: rgba(0,0,0,0.019);
	padding: 10px 0;
	color: #aaa;
	font-size: 12px;
	font-weight: 600;
	margin: 0;
}

.breadcrumbs a {
	color: #a5a5a5;
}

.breadcrumbs span {
	display: inline-block;
	vertical-align: top;
	padding: 0 8px;
	font-size: 0;
	height: 18px;
}

.breadcrumbs span:before {
	content: "\f105";
	font-family: first-icons;
	font-weight: normal;
	font-size: 12px;
	color: rgba(0,0,0,0.4);
	height: 18px;
	line-height: 18px;
	margin-top: 3px;
	display: inline-block;
}















/*	
----------------------------------------------------------
Footer
---------------------------------------------------------- 
*/

#footer {
	background: #252525;
	padding: 30px 0;
	color: #eaeaea;
	border-top: 4px solid #d5045f;
}

#footer h2.section-title {
	color: #d5d5d5;
	padding-bottom: 12px;
	margin-bottom: 16px;
	border-bottom: 2px solid rgba(255,255,255,0.1);
}

#upper-footer {
	background: #e9e9e9;
	padding: 30px 0;
}

#upper-footer .col-3 {
	position: relative;
	background: #fff;
	width: calc(33.33333333333% - 20px);
	margin-right: 30px;
}

#upper-footer .col-3:nth-of-type(3) {
	margin-right: 0;
}

#upper-footer .promo-title {
	position: absolute;
	bottom: 0;
	width: 100%;
	background: rgba(213, 4, 95, 1);
	font-size: 16px;
	line-height: 24px;
	font-weight: 700;
	color: #fff;
	padding: 14px 20px 15px 20px;
}

#lower-footer {
	background: #1b1b1b;
	color: #eaeaea;
}

ul#footer_navigation li{
	float: left;
	margin-right: 20px;
}

ul#footer_navigation li a,
ul#external_navigation li a,
#lower-footer p{
	font-weight: 400;
	display: block;
	color: #d5d5d5;
}

#lower-footer p {
	margin: 0;
	padding: 12px 0;
	color: rgba(255,255,255,0.4);
}

.credits-left {
	width: 70%;
	margin-right: 5%;
	float: left;
}

.credits-right {
	width: 25%;
	float: left;
	color: #d5d5d5;
}

.credits-right .footer-first-logo {
	width: 80px;
	height: auto;
}

.credits-right p, 
.credits-right a {
	margin: 0;
	color: #a5a5a5; 
}

ul#external_navigation li {
	width: 33%;
	float: left;
	position: relative;
	margin: 0 0 12px 0;
}

.credits-right div {
	margin-top: 16px;
}

.credits-right a.footer-logo {
	color: #fff;
}

body .sm-logo {
	display: inline-block;
	font-size: 0;
	color: #f5f5f5;
	background: #D5045F;
	border-radius: 50%;
	width: 36px;
	height: 36px;
	line-height: 36px;
	margin: 0 5px 0 0;
	text-align: center;
}

.sm-logo:before {
	color: #f5f5f5;
	font-family: 'first-icons';
	font-size: 16px;
	font-weight: normal;
}

.sm-logo.facebook:before {
	content: "\ea90";
	position: relative;
	top: -2px;
	left: -2px;
}

.sm-logo.twitter:before {
	content: "\ea95";
}

.sm-logo.contact:before {
	content: "\e158";
}

.sm-logo ul {
	display: none;
	position: absolute;
	margin-top: -40px;
	margin-left: 35px;
	border: 1px solid#ccc;
	background: rgba(255,255,255,0.7);
	padding: 2px 5px;
	line-height: 16px;
}


.sm-logo ul li {
	display: block;
}

.sm-logo:hover ul {
	display: block;
}









/*	
----------------------------------------------------------
Front Page
---------------------------------------------------------- 
*/

body.front .col-3 {
	width: 33.333333333%;
	padding: 14px 20px 20px 20px;
}

body.front .col-3.left {
	float: left;
	border-top: 0;
	background: #ffffff;
}

body.front .col-3:last-child {
	padding: 0;
}

body.front .row-top p.desc {
	margin-bottom: 12px;
}

.front .journey-planner label {
	line-height: 20px;
}

.or {
	width: 100%;
	text-align: center;
	display: inline-block;
	font-weight: 700;
	margin: 31px 0 36px 0;
	visibility: hidden;
	position: relative;
}

.or span {
	width: 40px;
	position: absolute;
	left: 50%;
	margin-left: -20px;
	text-align: center;
	display: block;
	line-height: 24px;
	height: 24px;
	top: -2px;
	background: #f4f4f4;
}

.or:before {
	content: "";
	width: calc(100% - 40px);
	margin-left: 8px;
	position: relative;
	top: -3px;
	display: inline-block;
	height: 1px;
	background: rgba(0,0,0,0.1);
}

.geo-location {
	visibility: hidden;
}

.geo-location a.clickme-finder:before {
	font-family: first-icons;
	content: "\e070";
	padding-right: 8px;
	font-size: 12px;
	line-height: 24px;
	display: inline-block;
}

.geo-location .desc {
	font-weight: 400;
}

.geolocation .or,
.geolocation .geo-location {
	visibility: visible;
}










/*	
----------------------------------------------------------
Sliders
---------------------------------------------------------- 
*/

.fg-home-slider-wrap {
	position: relative;
	height: 0;
	width: 100%;
	padding-bottom: 22%;
	z-index: 1;
	background: #f0f0f0;
}

.fg-home-slider {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: none;
}

.fg-home-slider .wrap {
	position: relative;
	width: 100%;
	height: 100%;
}

.front #main {
	z-index: 10;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
	height: 100%;
}

.slick-slider .slick-track {
	width: 100%;
}

.slick-slide {
	width: 100%;
}

.slick-slide:after {
	content: "";
	background: rgba(37,37,37,0.15);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.slider a {
	text-decoration: underline;
}

.slider a:hover li .slide-content {
	background: #00549f;
}

.slide-content {
	position: absolute;
	left: 30px;
	font-size: 22px;
	max-width: 400px;
	color: #fff;
	font-weight: 700;
	bottom: 20px;
	padding: 16px 30px 20px 30px;
	background: rgba(213, 4, 95, 0.7);
}

.fg-opco-slider {
	margin-bottom: 20px;
	display: none;
}

.flexslider .container {
	position: relative;
}

.opco .slide-content {
	left: 0;
	bottom: 0;
	background: #212b55;
	margin: 0;
	width: 100%;
	max-width: 100%;
	font-size: 20px;
}

.opco .flex-control-nav {
	top: 20px;
	right: 20px;
}

.slick-slide > a {
	display: block;
}

#pageWrapper button.slick-arrow {
	background: none;
	width: 44px;
	height: 44px;
	font-size: 0;
	background: none;
	border-radius: 0;
	position: absolute;
	top: 50%;
	opacity: 0;
	text-align: center;
	line-height: 44px;
	padding: 0;
	margin: -22px 0 0 0;
	z-index: 10;
	transition: opacity .3s;
}

#pageWrapper button.slick-arrow:focus {
	outline: none;
}

#pageWrapper button.slick-arrow:before {
	font-family: first-icons;
	font-size: 24px;
	color: rgba(255,255,255,0.8);
}

#pageWrapper button.slick-prev.slick-arrow {
	left: 0;
}

#pageWrapper button.slick-prev.slick-arrow:before {
	content: '\f104';
}

#pageWrapper button.slick-next.slick-arrow {
	right: 0;
}

#pageWrapper button.slick-next.slick-arrow:before {
	content: '\f105';
}

#pageWrapper .slick-slider:hover button.slick-arrow {
	opacity: 1;
}

span.toparrow {
	width: 20px;
	position: absolute;
	height: 50%;
	left: 40.2%;
	bottom: 0px;
	background: -webkit-linear-gradient(to right bottom, rgba(213, 4, 95, 0.7) 50%, transparent 50%);
	background: -moz-linear-gradient(to right bottom, rgba(213, 4, 95, 0.7) 50%, transparent 50%);
	background: linear-gradient(to right bottom, rgba(213, 4, 95, 0.7) 50%, transparent 50%);
}

span.bottomarrow {
	width: 20px;
	position: absolute;
	height: 50%;
	left: 40.2%;
	top: 0px;
	background: -webkit-linear-gradient(to right top, rgba(213, 4, 95, 0.7) 50%, transparent 50%);
	background: -moz-linear-gradient(to right top, rgba(213, 4, 95, 0.7) 50%, transparent 50%);
	background: linear-gradient(to right top, rgba(213, 4, 95, 0.7) 50%, transparent 50%);
}

.slide-content span.text {
	position: relative;
	width: 1024px;
	padding-right: 640px;
	margin: 0 auto;
	font-size: 21px;
	display: block;
}

.row-bottom {
	width: 100%;
	display: inline-block;
	margin: 30px 0;
}

body.front .row-bottom .col-3 {
	padding: 0;
	width: calc(33.3333333333% - 20px);
	margin: 6px 30px 0 0 ;
}

body.front .row-bottom .col-3:nth-of-type(3) {
	margin-right: 0;
}

.news-date-box {
	float: left;
	position: relative;
	color: #fafafa;
	height: 60px;
	width: 60px;
	margin: 6px 20px 0 0;
	border-radius: 2px;
}

.news-panel-summary .news-date-box {
	margin-top: 0;
}

.news-panel-summary .news-content {
	margin-top: -4px;
}

.news-date-cont {
	position: absolute;
	right: 6px;
	bottom: 3px;
}

span.news-date {
	font-weight: 600;
	font-size: 22px;
	text-align: right;
}

span.news-month {
	font-weight: 700;
	font-size: 11.5px;
	display: block;
	letter-spacing: 1px;
	text-align: right;
	text-transform: uppercase;
}

body.front .news-content {
	float: left;
	position: relative;
	width: calc(100% - 80px);
}

body.front .news-content h3 {
	margin-bottom: 12px;
}

.news-content p.desc {
	margin: 0;
}








/*	
----------------------------------------------------------
Google Charts
---------------------------------------------------------- 
*/

.front-map {
	position: relative;
	transform: translate3d(0,0,0);
	-ms-transform: translate3d(0,0,0);
	-webkit-transform: translate3d(0,0,0);
}

.front-map-container {
	position: absolute;
	width: 100%;
	height: 190%;
	top: -50%;
	left: 0;
	overflow: hidden;
	z-index: 500;
}

#regions_div,	
#regions_div_2 {
	height: 310%!important;
	position: absolute;
	top: -115%;
	left: -130%;
	width: 325%!important;
}

#regions_div path,
#regions_div_2 path {
	stroke-width: 0;
	fill: transparent;
}

/* Wales */

#regions_div path:nth-of-type(310),
#regions_div path:nth-of-type(321),
#regions_div path:nth-of-type(394) {
	stroke-width: 1px;
	stroke: #fff;
	fill: rgba(33,43,85,.6);
}

/* England */

#regions_div path:nth-of-type(310) {
	fill: rgba(33,43,85,.7);
}

/* Scotland */

#regions_div path:nth-of-type(321) {
	fill: rgba(33,43,85,.9);
}

#regions_div_2 circle {
	stroke-width: 4px;
	stroke: #fff;
	fill: #000;
	width: 8px!important;
	height: 8px!important;
}

#regions_div_2 g circle:nth-of-type(2),
#regions_div_2 circle:hover {
	fill: #d5045f;
}

#regions_div_2 circle:hover {
	cursor: pointer;
}

.google-visualization-tooltip {
	background: rgba(213, 4, 95, 0.8)!important;
	border: none!important;
	box-shadow: none!important;
	margin-top: 16px;
	width: 86px;
	text-align: left;
	font-size: 10px;
	margin-left: 36px;
}

.google-visualization-tooltip:after {
	content: " ";
	display: block;
	width: 0px;
	height: 0px;
	border-right: 6px solid transparent;
	border-left: 6px solid transparent;
	border-top: 6px solid rgba(213, 4, 95, 0.8);
	position: absolute;
	right: 0;
	bottom: -5.8px;
}

.google-visualization-tooltip ul {
	padding: 0;
	margin: 0!important;
	background: none!important;
}

.google-visualization-tooltip ul li {
	margin: 0!important;
	background: none!important;
	color: #fff!important;
	padding: 0!important;
}

.google-visualization-tooltip ul li:before {
	display: none;
}

.google-visualization-tooltip ul li:nth-of-type(2) {
	display: none!important;
}

.google-visualization-tooltip ul li span {
	color: #fff!important;
	display: block;
	text-align: center;
	overflow: hidden;
	padding: 4px 8px 4px 4px!important;
	font-size: 11px!important;
	line-height: 16px!important;
}
















/*	
----------------------------------------------------------
Opco Landing Pages
---------------------------------------------------------- 
*/

#pageWrapper .timetable-search-mini {
	margin-bottom: 0;
}

.timetable-search-mini input[type=text],
.next-bus-mini input[type=text]{
	margin-top: 20px;
}

.next-bus-mini h2.section-title {
	margin-bottom: 12px;
}

.opco #journey-from-input,
.opco #journey-to-input {
	font-weight: 500;
	text-align: left;
}









/*	
----------------------------------------------------------
Twitter Ticker
---------------------------------------------------------- 
*/

#twitter-ticker {
	background: rgba(0,0,0,0.03);
	padding: 10px 0 8px 0;
	font-size: 12px;
	font-weight: 700;
	color: rgba(0,0,0,0.4);
	line-height: 20px;
}

#twitter-ticker p {
	margin: 0;
	line-height: 20px;
}

.tweets-loading {
	font-size: 0;
	display: inline-block;
	float: left;
	position: relative;
	width: 20px;
	height: 20px;
	vertical-align: top;
	margin-left: 8px;
}

.tweets-loading:before {
	font-family: first-icons;
	content: "\e96a";
	font-size: 12px;
	font-weight: normal;
	color: rgba(0,0,0,0.2);
	animation: 1.8s infinite linear rotateCW;
	-webkit-animation: 1.8s infinite linear rotateCW;
}

#twitter-ticker .twitter-logo a {
	font-size: 0;
	float: left;
	margin-right: 6px;
	color: rgba(0,0,0,0.4);
	vertical-align: top;
	display: inline-block;
	line-height: 17px;
	height: 17px;
}

#twitter-ticker .twitter-logo a:before {
	font-family: first-icons;
	font-weight: normal;
	content: "\ea95";
	font-size: 18px;
}

#twitter-ticker .twitter-logo a:hover {
	color: rgba(0,0,0,0.6);
}

#twitter-ticker ul.tweet_list {
	list-style: none;
	margin: 0;
	padding: 0;
	width: calc(100% - 70px);
	float: right;
}

#twitter-ticker ul.tweet_list li {
	font-size: 12px;
	font-weight: 600;
	color: rgba(0,0,0,0.4);
}

#twitter-ticker ul.tweet_list li a {
	color: rgba(0,0,0,0.6);
}

#twitter-ticker ul.tweet_list li span.tweet_time {
	font-style: italic;
}

#twitter-ticker .subsequent_tweet {
	display: none;
}

.ticker-prev,
.ticker-next {
	display: inline-block;
	margin: 0;
	cursor:pointer;
	width: 20px;
	height: 20px;
	text-align: center;
}

.ticker-next:before,
.ticker-prev:before {
	font-family: first-icons;
	font-size: 16px;
	display: inline-block;
	line-height: 17px;
	width: 20px;
	height: 17px;
	text-align: center;
	color: rgba(0,0,0,0.4);
	content: '\f105';	
}

.ticker-prev:before {
	content: '\f104';
}

















/*	
----------------------------------------------------------
Next Bus
---------------------------------------------------------- 
*/

form#geo_input input{
	width:100%;
}

form#geo_input a{
	margin: 20px 0;
}

.ctrls label {
	font-weight:bold;
}

.ctrls input, 
.ctrls select {
	margin:10px 0;
}

.ctrls ul {
	padding: 0;
}

.ctrls li {
	float: left;
	width: 33.3%;
	list-style:none;
	padding: 0 10px 0 0;
}

table.departure-content tr.departure td.time {
	font-weight: 700;
}

table.departure-content {
	table-layout: fixed;
	width: 100%;
	border: 0;
}

table.departure-content .departure {
    border-bottom: 1px dashed #ccc;
    cursor: default;
    position: relative;
    display: block;
}

table.departure-content .departure a {
	color: blue;
}

table.departure-content .departure td {
	width: 35px;
    vertical-align: middle;
    padding-right: 0;
    font-weight: 600;
    font-size: 12px;
    display: block;
}

table.departure-content .departure td.num {
    width: 100%;
    padding-right: 50px;
    padding-top: 10px;
}

table.departure-content .departure td.num span {
	background: none!important;
    color: #212b55!important;
    font-size: 16px;
    font-weight: 700;
}

table.departure-content .departure td.desc {
	text-align: left;
	width: 100%;
	padding-right: 50px;
	padding-top: 5px;
	padding-bottom: 10px;
}

table.departure-content tr.departure td.time {
	font-weight: 700;
	position: absolute;
	right: 0;
	top: 41px;
	text-align: right;
	width: auto;
}

table.departure-content .departure td.time .live {
	color: #d5045f;
	font-size: 13px;
}

table.departure-content .departure td .icon {
	border-radius: 10px;
	text-align: left;
	color: #fff;
	font-size: 13px;
	line-height: 24px;
}

table.departure-content .departure td.first {
	position: absolute;
	right: 0;
	top: 10px;
}

table.departure-content .departure td.first img {
	width: 20px;
	height: 20px;
	float: right;
}

table.departure-content .departure td.route {
	display: none;
}

table.departure-content tr.hasroute:hover {
	cursor: pointer;
	color: #d5045f!important;
	background: #eee;
}

table.departure-content tr.hasroute:hover td.num span.icon {
	background: #d5045f!important;
}

#map_canvas {
	border: 1px solid #ccc;
}

#sidebar > div.next-bus-mini {
	margin: 0;
}

#sidebar .next-bus-mini h2 {
	margin-bottom: 20px;
}

.fg-nb-wrap {
	width: 100%;
	height: 0;
	padding-bottom: 69.4%;
	position: relative;
	border: 1px solid rgba(0,0,0,0.1);
	overflow: hidden;
}

.next-bus-mini #map_canvas {
	position: absolute;
	height: 100%!important;
	width: 100%!important;
	top: 0;
	left: 0;
	border: none;
}


table.departure-content .custom-icon-route {
	display: block;
	width: 22px;
	height: 22px;
}


















/*	
----------------------------------------------------------
Ticket Tables
---------------------------------------------------------- 
*/

#ticket_disp {
	padding: 20px 0 0 0;
	position: relative;
}

.ticket_inner {
	margin-top: 30px;
}

#ticket_disp h2, 
#ticket_disp h3 {
	color: #00b09a;
}

#ticket_disp th {
	font-weight: 700;
	color: #00b09a;
}

#ticket_disp td {
	vertical-align: middle;
	min-width: 200px;
}

#ticket_disp tr {
	border-bottom: 1px dashed #ccc;
}


.ticket_inner table td:first-child {
	font-weight: 700;
	width: 50%;
}

#ticket_disp td span[class*=" custom-icon-"][tooltip]:not([tooltip=""]):hover:after,
#ticket_disp td span[class^="custom-icon-"][tooltip]:not([tooltip=""]):hover:after {
	display: none;
}

#ticket_disp td a[class*=" custom-icon-"][tooltip]:not([tooltip=""]):hover:after,
#ticket_disp td a[class^="custom-icon-"][tooltip]:not([tooltip=""]):hover:after {
	font-size: 13.5px;
}

#ticket_disp td [class^="custom-icon-"]:before, 
#ticket_disp td [class*=" custom-icon-"]:before {
	position: relative;
	top: 0;
	left: 0;
	display: inline-block;
	font-size: 18px;
	line-height: 28px;
	width: 28px;
	text-align: center;
	height: 28px;
	color: #dddddd;
}

#ticket_disp td a[class^="custom-icon-"]:before, 
#ticket_disp td a[class*=" custom-icon-"]:before {
	color: #00b09a;
}


#ticket_disp.formed .ticket_zone {
	margin-bottom: 30px;
}

#ticket_disp.formed .ticket_zone:last-child {
	margin-bottom: 0;
}

#ticket_disp.formed .ticket_zone p {
	margin-bottom: 10px;
}





.node-type-update article h1 {
	border-bottom: none;
}

#content .news-panel-summary h3 {
	margin-bottom: 4px;
	padding: 0;
}

#content .news-panel-summary span.date {
	display: inline-block;
	width: 100%;
	margin-bottom: 6px;
}


















/*	
----------------------------------------------------------
News
---------------------------------------------------------- 
*/

.tweet-header {
	position: absolute;
	right: 25px;
	top: 20px;
}

#tweets ul.tweet_list {
	padding: 0;
	margin: 0 0 20px 0;
	list-style: none;
}

a.twitter-url {
	font-weight: 700;
	border: 0;
	color: #252525;
}

#tweets ul.tweet_list li.first_tweet a.twitter-url {
	color: #fff;
}

#tweets ul.tweet_list li.first_tweet a.twitter-url:hover,
#pageWrapper a.twitter-url:hover {
	color: #252525;
	text-decoration: none;
}

#tweets ul.tweet_list li {
	width: 32%;
	margin-right: 1%;
	display: inline-block;
	background: #e9e9e9;
	padding: 20px;
	vertical-align: top;
	word-wrap: break-word;
}

#tweets ul.tweet_list li:before {
	display: none;
}

#tweets ul.tweet_list li a {
	color: #D5045F;
	border-bottom: 1px solid rgba(213, 4, 95, 0.3);
}

#tweets ul.tweet_list li.first_tweet {
	background: #D5045F;
}

#tweets ul.tweet_list li.first_tweet a{
	border-bottom: solid 1px rgba(255, 255, 255, 0.3);
}

#tweets ul.tweet_list li.first_tweet span.tweet_time {
	color: rgba(255,255,255,0.7);
}

#tweets ul.tweet_list li.first_tweet span.tweet_text,
#tweets ul.tweet_list li.first_tweet span.tweet_text a {
	color: #fff;
}

#tweets ul.tweet_list li span.tweet_time {
	font-style: italic;
	font-weight: 600;
	color: rgba(0,0,0,0.5);
	display: block;
}

#tweets ul.tweet_list li span.tweet_text,
#tweets ul.tweet_list li span.tweet_text a {
	font-family: "Times New Roman", Georgia, Serif;
	font-size: 20px;
	line-height: 26px;
	font-style: italic;
}

#tweets ul.tweet_list li.first_tweet span.tweet_text a:hover {
	border-bottom: 1px solid rgba(255,255,255,0.7);
}

#tweets ul.tweet_list li span.tweet_text a:hover {
	border-bottom: 1px solid #D5045F;
	text-decoration: none;
}


.news-panel-summary {
	padding: 10px;
	background: #eeeeee;
	margin-bottom: 24px;
}

.article.amber h1 {
	border-color: #DB9E00;
}

.article.red h1 {
	border-color: #C41E00;
}

.article.green h1 {
	border-color: #2DBD5E;
}

.news-panel-summary.amber:before,
.article.amber .urgency-box div:before {
	background: #DB9E00;
	background: transparent url('../Images/HS.jpg') no-repeat center center;
    width:100px;
    height:130px;
}

a:hover > .news-panel-summary.amber h3,
a:hover > .news-panel-summary.amber span,
a:hover > .news-panel-summary.amber p {
	color: #DB9E00;
}

.news-panel-summary.red:before,
.article.red .urgency-box div:before  {
	background: #C41E00;
}

a:hover > .news-panel-summary.red h3,
a:hover > .news-panel-summary.red span,
a:hover > .news-panel-summary.red p {
	color: #C41E00;
}

.news-panel-summary.green:before,
.article.green .urgency-box div:before  {
	background: #2DBD5E;
	background: transparent url('../Images/KJ.jpg') no-repeat center center;
	width:100px;
    height:130px;

}

a:hover > .news-panel-summary.green h3,
a:hover > .news-panel-summary.green span,
a:hover > .news-panel-summary.green p {
	color: #2DBD5E;
}

.news-panel {
	padding: 20px;
	background: #fff;
	border-bottom: 1px dashed #ccc;
	margin-bottom: 20px;
}

a .news-panel-summary:hover {
}

.news-panel-summary .date {
	font-size: 12px;
	font-style: italic;
	font-weight: 500;
}

.news-section {
	margin: 0 0 75px 0;
}

.news-section h2 {
	margin-bottom: 10px;
}

#content .article-header {
	padding-bottom: 12px;
	margin-bottom: 24px;
	border-bottom: 2px solid #d5045f;
	position: relative;
}

#content .article-header h1 {
	border-bottom: none;
	padding: 0;
	margin: 0;
}

#content .article .urgency-box.il {
	float: left;
	position: relative;
	margin-bottom: 12px;
}

.node-type-update #content .article h1 {
	width: calc(100% - 88px);
	position: relative;
	margin: 0;
	margin-top: -4px;
	border-bottom: none;
}

.node-type-update #content .article-header {
	padding-bottom: 0;
	border-bottom: 1px solid rgba(0,0,0,0.2);
}

.node-type-update .article-header .date {
	font-weight: 600;
	display: block;
	color: #777;
	width: 100%;
	overflow: hidden;
	border-top: 1px solid rgba(0,0,0,0.2);
	line-height: 24px;
	padding: 6px 0;
	margin-top: 12px;
}

#content .article-header .date .update-area {
	float: right;
	text-transform: capitalize;
}

.node-type-article #content .article-header {
	border-bottom: 2px solid #d5045f;
	padding-bottom: 12px;
	margin-bottom: 24px;
}

.node-type-article #content .article-header h1 {
	border: none;
	margin: 0;
	padding: 0;
	width: auto;
	display: inline;
}

.pagename-contact-us .front-map {
	position: absolute;
	top: 120px;
	right: 0;
	height: 400px;
	width: 400px;
}

.pagename-contact-us .find-opco {
	margin-bottom: 24px;
	width: 50%;
}

.pagename-contact-us .find-opco p {
	margin-bottom: 16px;
}














/*	
----------------------------------------------------------
Journey Planner
---------------------------------------------------------- 
*/

body.front #journey-from,
body.front #journey-to{
	width: 100%;
}

body.front #journey-from input,
body.front #journey-to input{
	text-align: left;
}

#journey-from,
#journey-to {
	width: calc(50% - 10px);
	position: relative;
	vertical-align: top;
}

#journey-planner #journey-from,
#journey-planner #journey-to {
	width: 45%;
}

#journey-to {
	float: right;
}

#journey-from input,
#journey-to input{
	width: 100%;
	text-align: left;
}

#sidebar #journey-from{
	margin: 0 0 10px 0;
}

#sidebar #journey-to {
	margin: 10px 0;
}

#sidebar #journey-to input,
#sidebar #journey-from input {
	text-align: left;
	font-weight: 500;
}

#sidebar #journey-to,
#sidebar #journey-from {
	width: 100%;
}

span#spinner-cont {
	width: 10%;
	top: 6px;
	position: relative;
	text-align: center;
	display: inline-block;
	vertical-align: top;
	font-size: 0;
}

#spinner {
	font-size: 0;
}

span#spinner-cont:after {
	font-family: first-icons;
	font-weight: normal;
	font-size: 32px;
	content: "\eaf0";
	position: absolute;
	left: 50%;
	top: 0;
	margin-left: -16px;
	width: 32px;
	height: 32px;
	line-height: 32px;
	opacity: 0.3;
	transition: all .2s;
}

span#spinner-cont:after {
	content: "\ea40";
	font-size: 16px;
}

span#spinner-cont.loading-on:before {
	color: #00b09a;
	opacity: 1;
	animation: 1.8s infinite linear reverse rotateCW;
	-webkit-animation: 1.8s infinite linear reverse rotateCW;
}

span#spinner-cont.loading-on:after {
	color: #00b09a;
	opacity: 1;
	animation: 1.8s infinite linear rotateCW;
	-webkit-animation: 1.8s infinite linear rotateCW;
}


@keyframes rotateCW {
	from {
		transform: rotate(0deg);
	}
	to { 
		transform: rotate(360deg);
	}
}

@-webkit-keyframes rotateCW {
	from {
		-webkit-transform: rotate(0deg);
	}
	to { 
		-webkit-transform: rotate(360deg);
	}
}

.opco span#spinner-cont {
	width: 10%;
}

#set-my-location-from,
#set-my-location-to {
	height: 38px;
	position: absolute;
	right: 0;
	width: 38px;
	bottom: 3px;
	font-size: 0;
	font-weight: normal;
	-webkit-transform-style: preserve-3d;
}

#set-my-location-from:before,
#set-my-location-to:before {
	content: "\e070";
	font-family: first-icons;
	font-size: 16px;
	display: block;
	line-height: 40px;
	text-align: center;
	width: 40px;
	cursor: pointer;
	color: #aaa;
	-webkit-transform-style: preserve-3d;
}

#set-my-location-from:hover:before {
	color: #00B09A;	
}

#set-my-location-to:hover:before {
	color: #00B09A;	
}

.opco .journey-planner input[type=submit],
body.front .journey-planner input[type=submit] {
	margin-top: 20px;
}

.front .journey-planner p.desc {
	margin-bottom: 8px;
}

#journey-from input,
#journey-from-input{
	font-weight: 500;
	padding-right: 33px;
	margin: 0;
	z-index: -1;
}

body.front #journey-from-input,
body.front #journey-to-input {
	font-weight: 500;
}

body.front #journey-to-input {
	margin-top: 20px;
}

#journey-to input,
#journey-to-input{
	font-weight: 500;
	margin: 0;
	padding-right: 33px;
}









/*	
----------------------------------------------------------
Timetables
---------------------------------------------------------- 
*/

.summary {
	background: #212B55;
	margin-bottom: 20px;
	position: relative;
	width: 100%;
	overflow: hidden;
}

.summary h2 {
	font-size: 24px;
	vertical-align: top;
	display: block;
	width: 100%;
	color: #fff;
	margin: 0;
	width: calc(100% - 40px);
	padding: 12px 0;
	margin: 0 20px 8px 20px;
	border-bottom: 2px solid rgba(255,255,255,0.3);
}

.summary .route {
	width: calc(100% - 20px);
	display: block;
	color: #fff;
	margin: 16px 20px 20px 20px;
}

.summary .route p {
	font-weight: 500;
	color: #e5e5e5;
	margin: 0;
	font-size: 13.5px;
}

h4.noline {
	display: none;
}

#content ul.timetables,
ul.timetables {
	margin: 0;
	background: #fff;
	padding: 0;
	border: 1px solid #e2e2e2;
}

#content ul.timetables li:before {
	display: none;
}

ul.timetables li a {
	color: #212B55!important;
	font-weight: 700!important;
	max-width: 90%!important;
	display: inline-block;
}

ul.timetables li a:hover {
	color: #d5045f!important;
	text-decoration: none!important;
}

ul.timetables li {
	list-style: none;
	background: url("../img/calender_grey.svg") no-repeat center left 10px / 20px;
	margin: 0 10px;
	padding: 10px 10px 10px 40px;
	position: relative;
	border-top: 1px solid #e2e2e2;
}

a.custom-icon-pdf {
	width: auto!important;
	font-size: 0;
	float: right;
	position: relative;
}

ul#ukbus_nav_tabs {
	list-style: none;
	margin: 0;
	padding: 12px 0px 7px 0px;
	position: relative;
	left: -20px;
	width: calc(100% + 40px);
	top: -12px;
	background: #f4f4f4;
}

ul#ukbus_nav_tabs li{
	display: inline-block;
}

ul#ukbus_nav_tabs li.highlight a{
	background: #fff;
	color: #d5045f;
}

ul#ukbus_nav_tabs li a{
	padding: 15px 20px;
	font-weight: 700;
	color: #252525;
}

ul#ukbus_nav_tabs li a:hover{
	text-decoration: none;
	color: #d5045f;
}

/* Timetable Icons */

#content .timetable-icons ul {
	list-style: none;
	padding: 0;
	width: 100%;
	margin: 0;
	text-align: right;
}

#content .timetable-icons ul li {
	display: inline-block;
	text-align: center;
	width: 46px;
	position: relative;
	vertical-align: top;
}

#content .timetable-icons ul li:before {
	display: none;
}

#content .timetable-icons ul li a {
	font-size: 11px;
	display: block;
	border: 1px solid #CCC;
	padding: 10px 5px;
}

#content .timetable-icons ul li a:hover {
	border-color: #aaa;
	text-decoration: none;
	background: #ddd;
}


#content .timetable-icons ul li:last-child a:hover:after {
	right: -100%!important;
	left: auto!important;
}

#content .timetable-icons ul li a span {
	font-size: 10px;
}

#content .timetable-icons ul li a:before {
	font-family: first-icons;
	display: block;
	font-size: 24px;
}

#content .timetable-icons ul li.timetable-personalise a:before {
	content: "\e074";
}

#content .timetable-icons ul li.timetable-pdf-large a:before,
#content .timetable-icons ul li.timetable-pdf a:before {
	content: "\eade";
	font-family: first-icons;
	font-size: 18px;
}

#content .timetable-icons ul li.timetable-pdf-large a:before {
	font-size: 24px;
}

#content .timetable-icons ul li.timetable-routemap a:before {
	font-family: first-icons;
	content: "\e605";
}

.resultsNavTop {
	width: 100%;
	text-align: center;
	margin-bottom: 20px;
}

.wheelchair-icon {
	width: 40px;
	position: absolute;
	top: 4px;
	right: 14px;
}

.resultsNavTop,
.resultsNavTop .first,
.resultsNavTop .last,
.resultsNavTop .next,
.resultsNavTop .prev {
	display: inline-block;
	font-size: 0;
}

.resultsNavTop a.first:after {
	content: '\f104\f104';
	font-family: first-icons;
}

.resultsNavTop a.last:after {
	content: '\f105\f105';
	font-family: first-icons;
}

.resultsNavTop a.prev:after {
	content: '\f104';
	font-family: first-icons;
}

.resultsNavTop a.next:after {
	content: '\f105';
	font-family: first-icons;
}

.resultsNavTop a,
.resultsNavTop .first a,
.resultsNavTop .last a,
.resultsNavTop .next a,
.resultsNavTop .prev a,
.resultsNavTop span{
	background-color: #252525;
	border: none;
	color: #ffffff!important;
	display: inline-block;
	vertical-align: top;
	margin-right: 5px;
	line-height: 10px;
	font-size: 13.5px!important;
	font-weight: 700;
	height: 34px;
	padding: 12px;
	text-decoration: none!important;
	text-align: center;
	cursor: pointer;
	transition: all .2s;
	border-radius: 2px;
}



.resultsNavTop span{
	background-color: transparent;
	color: #252525!important;
	cursor: default;
	vertical-align: top;
}

.resultsNavTop span.active_page {
	margin: 0 5px 0 0;
	font-weight: 700;
	vertical-align: top;
	font-size: 13.5px;
	background-color: rgb(213, 4, 95);
	padding: 12px 12px 12px 12px;
	color: #FFFFFF!important;
	border-radius: 2px;
}

/* Timetable Single Page */

span#service_number {
	font-size: inherit;
	color: #00b09a;
}

span#valid_dates {
	font-weight: 500;
	font-size: 12px;
	color: #aaa;
	margin: 0;
	font-style: italic;
	display: block;
}

ul.timetable_page {
	list-style: none;
	margin: 0;
	padding: 0;
}

#pageWrapper #content .timetable-links ul {
	margin: 20px 0 0 0;
}


#pageWrapper #content .timetable-links li p {
	margin:0;
	background: #00b09a;
	color: #fafafa;
}

#pageWrapper #content .timetable-links li {
	margin: 10px 0;
}

#pageWrapper #content .timetable-links li:before {
	display: none;
}

span.bodytext {
	font-weight: 700;
	font-size: 12px;
	font-style: italic;
	display: inline-block;
	padding-top: 10px;
}

.timetable-route,
.timetable_menu {
	display: inline-block;
	width: calc(50% - 4px);
	margin-bottom: 10px;
}

.timetable-route {
	vertical-align: top;
}

.timetable_menu {
	vertical-align: bottom;
}

.timetable-route p{
	font-weight: 700;
	color:#00B09A;
	margin:0;
	font-size: 12px;
	line-height: 16px;
}

table.timetable {
	width:100%;
	margin:10px 0;
}

table.timetable tr{
	font-weight: 600;
	font-size: 12px!important;
}

table.timetable td,
table.timetable th {
	vertical-align: middle;
	padding: 10px;
}

table.timetable thead{
	background: #eee;
}

table.timetable thead th{
	text-align: center!important;
}

table.timetable thead th.first-column {
	text-align: left!important;
}

table.timetable th,
tr#service_row td {
	font-size: 13.5px;
	font-weight: 700!important;
	color: #00b09a!important;
}

table.timetable th.first-column {
	color: #252525!important;
}

table.timetable td.first-column {
	width: 33%;
	font-weight: 700;
	color: #212b55;
}

table.timetable tbody tr:hover {
	background: #eee;
}

table.timetable tbody td:hover {
	color: #00b09a;
	cursor: default;
}

table.timetable tbody td.first-column:hover {
	color: #212b55;
}

form#timetable_form label {
	margin-top: 10px;
	line-height: 24px;
}

form#timetable_form .col-3{
	margin: 0 0 10px 0;
	padding: 0 10px 0 0;
}

form#timetable_form .time-container {
	margin-bottom: 20px;
	left: 50%;
	margin-left: -90px;
	position: relative;
}

form#timetable_form .time-container select {
	width: 80px;
	float: left;
}


form#timetable_form .time-container .time-separator {
	width: 20px;
	text-align: center;
	float: left;
	padding-top: 8px;
}

#timetable.personalised td {
	text-align: center;
}

#timetable.personalised th {
	border-bottom: 1px solid #cccccc;
	border-right: 1px solid #cccccc;
}















/*	
----------------------------------------------------------
Search Results
---------------------------------------------------------- 
*/

#search-form .container-inline {
	max-width: 400px;
}

#search-form .container-inline {
	position: relative;
}

#search-form .container-inline input[type="text"] {
	width: calc(100% - 112px);
	float: left;
}

#search-form .container-inline input[type="submit"] {
	position: absolute;
	bottom: 0;
	right: 0;
}

#search-form + h2 {
	padding-top: 24px;
}

form.search-form {
	float: left;
}

.search-results li {
	padding-bottom: 16px;
	margin-bottom: 16px;
	border-bottom: 1px solid rgba(0,0,0,0.1);
}

p.search-snippet {
	margin: 0;
}

#content ul.pager {
	display: block;
	padding: 15px 0 0 0;
	margin: 0;
	text-align: center;
}

#content ul.pager li {
	display: inline-block;
	font-weight: 600;
	margin-right: 2px;
	vertical-align: top;
	height: 32px;
	min-width: 32px;
	line-height: 32px;
	border-radius: 2px;
	overflow: hidden;
	font-size: 13.5px;
}

#content ul.pager li.pager-current {
	background-color: rgb(213, 4, 95);
	padding: 0;
	color: #fafafa;
	border-radius: 2px;
}

#content ul.pager li a {
	background-color: #353535;
	border: none;
	color: #fafafa;
	text-decoration: none!important;
	text-align: center;
	cursor: pointer;
	transition: all .2s;
	min-width: 32px;
	display: block;
	height: 32px;
	line-height: 32px;
}

#content ul.pager li.pager-first a,
#content ul.pager li.pager-previous a,
#content ul.pager li.pager-last a,
#content ul.pager li.pager-next a {
	font-size: 0;
}

#content ul.pager li.pager-first a:before,
#content ul.pager li.pager-previous a:before,
#content ul.pager li.pager-last a:before,
#content ul.pager li.pager-next a:before {
	font-family: first-icons;
	font-size: 14px;
	font-weight: normal;
}

#content ul.pager li.pager-first a:before {
	content: "\e051";
	font-size: 12px;
}

#content ul.pager li.pager-last a:before {
	content: "\e055";
	font-size: 12px;
}

#content ul.pager li.pager-previous a:before {
	content: "\f104";
}

#content ul.pager li.pager-next a:before {
	content: "\f105";
}












/*	
----------------------------------------------------------
Routemaps
---------------------------------------------------------- 
*/

#content .view-network-maps h3 {
	border-bottom: 1px solid #d5045f;
	padding-bottom: 12px;
	margin-bottom: 20px;
}


.view-content > div .nm-call {
	width: calc(50% - 10px);
	float: left;
	position: relative;
	margin: 0 20px 20px 0;
}

.view-content > div .nm-call:nth-of-type(2n) {
	margin-right: 0;
}

.nm-clear {
	width: 100%;
	overflow: hidden;
	height: 1px;
	display: block;
}

.network-map {
	margin: 0;
	padding: 0;
	border: 1px solid rgba(0,0,0,0.1);
}

.network-map-title{
	display: inline-block;
	vertical-align: top;
	width: auto;
	width: 100%;
	padding: 10px 40px 10px 10px;
}

.network-map-title p {
	margin: 0;
	font-size: 13.5px;
}

.network-map-title b {
	font-size: 13.5px;
	font-weight: 600;
}

.meta {
	font-size: 12px;
	font-style: italic;
	display: block;
	font-weight: 500;
}

.network-image img {
	height: auto;
	-webkit-filter: grayscale(60%);
	filter: grayscale(60%);
	opacity: 0.6;
	transition: all .3s ease;
}

.nm-call a:hover .network-image img {
	-webkit-filter: grayscale(0%);
	filter: grayscale(0%);
	opacity: 1;
}

.nm-call  .file-types {
	position: absolute;
	bottom: 12px;
	right: 10px;
	width: auto!important;
	margin: 0!important;
	padding: 0!important;
}

.nm-call  .file-types:before {
	padding: 0!important;
}

/* Filetype Icons */

.file-types {
	width: 5%;
	display: inline-block;
	vertical-align: bottom;
	padding-right: 10px;
}

.file-types:before {
	font-weight: normal;
	font-family: first-icons;
	font-size: 24px;
	color: #D5045F;
}

.file-types p {
	margin: 0;
	line-height: 12px;
}

.file-types p span{
	font-family: 'Open Sans', sans-serif;
	text-transform: uppercase;
	font-weight: 700;
	font-size: 10px;
	text-align: center;
	color: #D5045F;
}

/* Icons for Filetypes */

[class*="icon-type-"] {
	font-weight: 600;
}

[class*="icon-type-"]:before {
	font-weight: normal;
	font-family: first-icons;
	font-size: 20px;
	color: #D5045F;
	padding-right: 5px;
	vertical-align: middle;
}
[class*="icon-type-"]:hover {
	color: #252525!important;
	text-decoration: none!important;
}

[class*="icon-type-"]:hover:before {
	color: #252525!important;
}

.icon-type-pdf:before {
	content: "\eade";
}

.icon-type-doc:before,
.icon-type-docx:before {
	content: "\eae0";
}

.icon-type-xls:before,
.icon-type-xlsx:before {
	content: "\eae1";
}

.icon-type-zip:before,
.icon-type-rar:before {
	content: "\e92b";
}

.icon-type-,
.icon-type-jpg:before,
.icon-type-jpeg:before,
.icon-type-png:before,
.icon-type-gif:before {
	content: "\e924";
}















/*	
----------------------------------------------------------
Paypoint Locator
---------------------------------------------------------- 
*/

ul#pp-list {
	float: left;
	width: 100%;
	list-style: none;
	padding:0;
}


ul#pp-list li a:hover {
	background: #eee;
}

ul#pp-list li a{
	padding: 10px;
	border-bottom: 1px dashed #ccc;
	font-size: 12px;
	font-weight: 600;
	display: block;
}

ul#pp-list li a:before {
	content: "";
	background: url("../locator/ppMarker.png") no-repeat;
	width: 50px;
	height: 30px;
	display: inline-block;
	vertical-align: middle;
}

#pp-searchbutton {
	margin-bottom: 10px;
}

#pp-map {
	overflow: hidden;
	margin-bottom: 20px;
	height: 545px;
	width: 100%;
	border: 1px solid #ccc;
	float: left;
}

#pp-fieldset input[type=text]{
	margin-top: 0;
}

#pp-search {
	border: 1px solid #82a0c5;
	width: 100%;
	background: #f6f6f8;
	padding: 10px;
	margin: 0 0 15px 0;
	float: left;
}

.pp-searchbox{
	width: 100%;
	float: left;
}















/*	
----------------------------------------------------------
Contact
---------------------------------------------------------- 
*/

div.error .message, 
.error .message {
	color: #E3170D;
	font-size: 12px;
	font-weight: 600;
}

form#c_form ul{
	list-style: none;
	padding: 0;
	margin: 0;
}

form#c_form h2,
form#c_form h2 span{
	font-size: 16px;
	font-weight: 700;
	margin: 0 0 12px 0;
}

form#c_form h2 {
	margin: 0 0 12px 0;
}

form#c_form h2 {

}

form#c_form label {
	font-weight: 600;
	font-size: 13.5px;
}

form#c_form span label[for="c_spec"],
form#c_form span label[for="c_genl"] {
	display: inline-block;
	margin-right: 20px;
}

form#c_form ul li{
	margin: 0 0 12px 0;
}

form#c_form ul li.required label:after{
	content: " *";
	color: #D12F19;
	font-size: 10px;
	margin-top: -4px;
}

form#c_form ul li.required span label:after{
	content: none;
}

form#c_form ul li {
	float: left;
	width: calc(50% - 10px);
}

form#c_form ul li#c_tnum,
form#c_form ul li#c_vreg,
form#c_form ul li.town,
form#c_form ul li.email,
form#c_form ul li#c_locn,
form#c_form ul li#c_date,
form#c_form ul li#c_rnum,
form#c_form ul li#c_driv,
form#c_form ul li#c_dnum {
	margin-right: 20px;
}

form#c_form ul li:before {
	display: none;
}

form#c_form ul li input[type=text],
form#c_form ul li input[type=email],
form#c_form ul li input[type=phone],
form#c_form ul li textarea{
	width: 100%;
	margin: 0;
}

form#c_form ul li.postcode input[type=text] {
	width: calc(100% - 120px);
	display: inline-block;
	margin-right: 20px;
}

form#c_form ul li.postcode a {
	width: 100px;
	display: inline-block;
	float: right;
	padding: 8px 10px;
}

form#c_form ul li.postcode a:hover {
	text-decoration: none;
}

form#c_form ul li textarea{
	height: 150px;
}

form#c_form ul li.name,
form#c_form ul li.street-address,
form#c_form ul li#c_desc,
form#c_form ul li.contacting-you,
form#c_form ul li.security,
form#c_form ul li.postcode {
	width: 100%;
}

form#c_form ul li.address-select {
	background-color: #DAEDD7;
}

form#c_form ul li.address-select label {
	color: green;
}

form#c_form ul li.text-area{
	height:auto;
	width: 100%;
}

form#c_form ul li:last-child:nth-child(odd):visible {
	width: 100%!important;
}

form#c_form ul li.choose {
	width: calc(50% - 10px);
	clear: both;
}

form#c_form ul li.contacting-you,
form#c_form ul li.security {
	height: auto;
	margin: 0;
}

form#c_form ul li.contacting-you:last-child,
form#c_form ul li.security:last-child {
	margin: 0 0 12px 0;
}

form#c_form ul li.contacting-you label,
form#c_form ul li.contacting-you input,
form#c_form ul li.security input,
form#c_form ul li.security label{
	display: inline-block;
	margin-right: 10px;
	vertical-align: middle;
}

form#c_form ul li.security input {
	width: 50px;
}

















/*	
----------------------------------------------------------
Service Updates
---------------------------------------------------------- 
*/

.planned {
	background: #e9e9e9;
}

/* General */
.news-panel-summary:before {
	font-size: 35px;
	background: #D5045F;
	color: #fff;
	display: inline-block;
	height: 70px;
	width: 70px;
	margin-right: 18px;
	padding: 10px 17px;
	vertical-align: top;
	font-weight: 500;
	line-height: 50px;
}

.news-content {
	display: inline-block;
	width: calc(100% - 92px);
}

/* Specific Icons */
.holiday:before{
	content: "\e064";
	font-family: first-icons;
}

.special:before{
	content: "\e093";
	font-family: first-icons;
}

.change:before{
	content: "\ea0c";
	font-family: first-icons;
}

.delay:before{
	content: "\e014";
	font-family: first-icons;
}

.roadworks:before{
	content: "\ea0b";
	font-family: first-icons;
}

.weather:before{
	content: "\e060";
	font-family: first-icons;
}

.incident:before{
	content: "\e108";
	font-family: first-icons;
}

.diversion:before{
	content: "\e057";
	font-family: first-icons;
}

.tram:before{
	font-family: first-icons;
}

#area_selector {
	position: relative;
	max-width: 320px;
	position: absolute;
	right: 0;
	top: 0;
}

#area_selector label,
#area_selector #area_filter,
#area_selector input[type="submit"] {
	display: inline-block;
	vertical-align: top;
	line-height: 30px;
}

#area_selector label {
	font-size: 13px;
	font-weight: 600;
}

#area_selector #area_filter {
	font-size: 13.5px;
	width: 180px;
	padding: 0 6px 2px 6px;
	line-height: 30px;
	height: 32px;
	background-size: 30px 30px;
}

#area_selector input[type="submit"]{
	padding: 0;
	margin: 0;
	width: 32px;
	font-size: 12px;
	font-weight: 900;
	height: 32px;
	line-height: 32px;
}



















/*	
----------------------------------------------------------
Sitemap
---------------------------------------------------------- 
*/

#content .site-map {
	margin: 0;
	padding: 0;
}

#content .site-map:first-of-type {
	border-top: 1px solid rgba(0,0,0,0.05);
}

#content .site-map li {
	list-style-type: none;
	position: relative;
	border-bottom: 1px solid rgba(0,0,0,0.05);
	overflow: hidden;
}

#content .site-map li a:before {
	content: "\e055";
	font-family: first-icons;
	font-size: 8px;
	position: absolute;
	left: 0;
	line-height: 24px;
	top: 9px;
	transition: margin .3s ease;
}

#content .site-map li a {
	padding: 8px 0 8px 16px;
	display: block;
	color: #777;
	transition: all .3s ease;
	font-weight: 600;
}

#content .site-map li a:hover {
	background: #d5045f;
	color: #f0f0f0!important;
	text-decoration: none!important;
	padding-left: 32px;
}

#content .site-map li a:hover:before {
	margin-left: 16px;
}

#content .site-map li ul li a {
	padding: 8px 0 8px 32px;
}

#content .site-map li ul li a:hover {
	padding-left: 48px;
}

#content .site-map li ul li:last-child {
	border: none;
}

#content .site-map li ul li a:before {
	left: 16px;
}
















/*	
----------------------------------------------------------
Corporate
---------------------------------------------------------- 
*/

.corporate-link {
	width: 32%;
	display: block;
	float: left;
	position: relative;
	margin: 0 2% 0 0;
	height: auto;
	line-height: 44px;
	padding-top: 16%;
	color: #fff;
	font-weight: 700;
	font-size:13.5px;
}

.corporate-link:before {
	content: "";
	display: block;
	height: 44px;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background: #D5045F;
}

.corporate-link:after {
	display: block;
	height: 44px;
	line-height: 44px;
	width: 100%;
	color: #fff;
	font-weight: 700;
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 0 12px;
}

.corporate-link:nth-of-type(3n) {
	margin-right: 0;
}

.corporate-link#AirCargo {
	background: transparent url('../Images/iconnect.jpg') no-repeat center center;
	background-size: cover;
}

.corporate-link#AirCargo:after {
	content: "Air Freight";
}

.corporate-link#RoadFreight {
	background: transparent url('../Images/Road.jpg') no-repeat center center;
	background-size: cover;
}

.corporate-link#RoadFreight:after {
	content: "Road Freight";
}

.corporate-link#TrainServices {
	background: transparent url('../Images/international.jpg') no-repeat center center;
	background-size: cover;
	margin-right: 0;
}

.corporate-link#TrainServices:after {
	content: "Train Services";
}

.corporate-link#ColdChain {
	background: transparent url('../Images/coldchain.jpg') no-repeat center center;
	background-size: cover;
}

.corporate-link#ColdChain:after {
	content: "Cold Chain Solutions";
}

.corporate-link#ExpressDistribution {
	background: transparent url('../Images/2.jpg') no-repeat center center;
	background-size: cover;
}

.corporate-link#ExpressDistribution:after {
	content: "Express Distribution";
}

.corporate-link#TradingSolutions {
	background: transparent url('../Images/trading.jpg') no-repeat center center;
	background-size: cover;
	margin-right: 0;
}

.corporate-link#TradingSolutions:after {
	content: "Trading Solutions";
}

.pagename-corporate #content p {
	overflow: hidden;
	display: inline-block;
	width: 100%;
}


















/*	
----------------------------------------------------------
Careers
---------------------------------------------------------- 
*/

.careers-link {
	background: #D5045F;
	color: #fff;
	font-weight: 700;
	padding: 16px;
	display: block;
	width: 100%;
	position: relative;
	color: #fafafa!important;
}

.careers-link:before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 20px 60px 0;
	border-color: transparent #fff transparent;
	position: absolute;
	top: 0;
	right: -5px;
}

.careers-link:after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 60px 20px;
	border-color: transparent transparent #fff;
	position: absolute;
	bottom: 0;
	right: -5px;
}

.careers-link:hover {
	color: #fff;
	text-decoration: none!important;
}

#day-in-life {
	margin-top: 32px;
}

.careers-header {
	width: 100%!important;
	height: auto!important;
	margin-bottom: 16px;
}

.pagename-our-companies #content strong,
.pagename-careers #content strong {
	display: block;
	margin: 24px 0 16px 0;
}



















/*	
----------------------------------------------------------
Login
---------------------------------------------------------- 
*/

.page-user-login #content,
.page-user-password #content {
    width: 100%;
    max-width: 400px;
    float: none;
    margin: 40px auto;
}

.page-user-login #content #user-login label {
	position: absolute;
	top: -10000px;
	left: -10000px;
}

.page-user-login #content .edit-comment {
	width: calc(100% - 100px);
	float: left;
	position: relative;
}

.page-user-login #content #edit-comment p {
	margin: 0;
	line-height: 21px;
}

.page-user-login #content input[type="submit"] {
	float: right;
}

body.pagename-user-account #main input[type=text],
body.pagename-user-account #main input[type=password] {
	width: 100%;
}


body.pagename-user-account #main .form-item-name,
body.pagename-user-account #main .form-type-password {
	margin-bottom: 20px;
}
















/*	
----------------------------------------------------------
Cookie Notice
---------------------------------------------------------- 
*/

div.error {
	background-image: none;
	padding-left: 20px;
	font-weight: 700;
}

div#cookieBanner {
	position: fixed;
	z-index: 100;
	background: rgba(213, 4, 95, 0.8);
	width: 100%;
	padding: 12px 0;
	bottom: 0;
	color: #fff;
	font-weight: 600;
	font-size: 13.5px;
	line-height: 24px;
	backdrop-filter: blur(10px);
}

div#cookieBanner p {
	margin: 0;
}

div#cookieBanner a {
	color: #fff;
	float: right;
	font-weight: 600;
	text-decoration: underline;
}

div#cookieBanner a:hover {
	color: #e0e0e0;
	text-decoration: none;
}

div#cookieBanner .container {
	position: relative;
	padding-right: 64px;
}

body div#cookieBanner button {
	text-decoration: none;
	background: transparent!important;
	color: #fafafa;
	position: absolute;
	top: 50%;
	margin-top: -12px;
	right: 30px;
	display: block;
	font-size: 0;
	height: 24px;
	line-height: 24px;
	padding: 0;
	width: 24px;
}

body div#cookieBanner button:before {
	font-family: first-icons;
	content: "\ea11";
	font-size: 18px;
	font-weight: normal;
}

















/*	
----------------------------------------------------------
FAQs
---------------------------------------------------------- */

.pagename-facts-and-stats #content ul {
	margin: 0;
	padding: 0;
}

.pagename-facts-and-stats #content ul li {
	list-style-type: none;
	width: 100%;
	padding: 16px;
	background: #f0f0f0;
	color: #444;
	margin: 0 0 12px 0;
	font-weight: 500;
	position: relative;
	border-left: 4px solid #212b55;
}

.pagename-facts-and-stats #content ul li:nth-of-type(even) {
	border-left: 4px solid #D5045F;
}

.pagename-facts-and-stats #content ul li:before {
	display: none!important;
}


















/*	
----------------------------------------------------------
Admin Toolbar
---------------------------------------------------------- 
*/

#toolbar-menu {
	display: none;
}

#toolbar {
	box-shadow:none;
}

#toolbar div.toolbar-menu {
	background: #212B55;
	border-bottom: 1px solid #A9A9A9;
}

#toolbar div.toolbar-menu ul li a {
	border-radius: 0;
}

#toolbar div.toolbar-menu ul li a{
	padding:0 7px;
}

#toolbar div.toolbar-menu ul li a.active:hover,
#toolbar div.toolbar-menu ul li a.active:active,
#toolbar div.toolbar-menu ul li a.active,
#toolbar div.toolbar-menu ul li.active-trail a,
#toolbar div.toolbar-menu ul li a:hover,
#toolbar div.toolbar-menu ul li a:active,
#toolbar div.toolbar-menu ul li a.active:focus  {
	background: #D5045F;
}

ul#toolbar-home:after {
	content:none!important;
}

.arrow-down:before,
li.active .route-summary:before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -10px;
	margin-left: -20px;
	width: 0;
	height: 0;
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
}

.arrow-down:before {
	border-top: 10px solid #00B09A;
}

li.active .route-summary:before {
	border-top: 10px solid rgba(0,0,0,0.05);
}

span.urgency-box div:before {
	font-size: 35px;
	background: #D5045F;
	color: #fff;
	display: inline-block;
	height: 70px;
	width: 70px;
	margin-right: 18px;
	padding: 10px 17px;
	vertical-align: top;
	font-weight: 500;
	line-height: 50px;
}

.easy_social_box div.easy_social-widget {
	margin: 0 20px 0 0;
}

.easy_social_box .easy_social-widget-facebook {
	margin-right: 7px!important;
}

#stops-off {
	position: relative;
	height: 0;
	width: 0;
	overflow: visible;
}

#stops-off div {
	position: absolute;
	padding: 12px 5px;
	width: 250px;
	background: rgba(213, 4, 95, 0.8);
	color: white;
	font-weight: 700;
	text-align: center;
}

#ticket_disp td [class^="custom-icon-"],
#ticket_disp td [class*=" custom-icon-"] {
	font-size: 0;
	position: relative;
	display: inline-block;
	vertical-align: middle;
	width: 28px;
	height: 28px;
}

.ac_results {
	background: #fff;
	width: 100%;
	border: 1px solid #aaa;
	margin-top: -1px;
}

.ac_results ul {
	margin: 0;
	padding: 0;
}

.ac_results ul li{
	padding: 10px;
	font-size: 13.5px;
}

.ac_results ul li:hover{
	background: #d5045f;
	color: #fff;
	cursor: pointer;
}

.placeholder {
	color: #ccc;
}

#search-form {
	width: 100%;
}


#search-form input[type=text]{
	width: 100%;
}









/*	
----------------------------------------------------------
Social Sharing
---------------------------------------------------------- 
*/

.spider-share {
	width: 100%;
	margin-top: 20px;
	overflow: hidden;
}

#sidebar .spider-share {
	padding: 20px;
}

#pageWrapper .spider-share button:hover {
	opacity: 0.9;
}

#pageWrapper #sidebar .spider-share button {
	width: calc(50% - 10px);
	margin: 0;
	display: block;
	float: left;
	position: relative;
}

#pageWrapper #sidebar .spider-share button:first-child {
	margin: 0 20px 0 0;
}

#pageWrapper .spider-share button.facebook {
	background: #3b5998;
	color: #fafafa;
}

#pageWrapper .spider-share button.twitter {
	background: #00aced;
	color: #fafafa;
}

#pageWrapper .spider-share > button:before {
	font-family: first-icons;
	font-size: 16px;
	padding-right: 8px;
	bottom: -2px;
	left: -4px;
	font-weight: normal;
	position: relative;
}

#pageWrapper .spider-share > button.facebook:before {
	top: -1px;
	content: "\ea90";
	position: relative;
}

#pageWrapper .spider-share > button.twitter:before {
	content: "\ea95";
}








/*	
----------------------------------------------------------
Custom Icons
---------------------------------------------------------- 
*/

[class^="custom-icon-"], [class*=" custom-icon-"] {
	font-family: first-icons;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.custom-icon-onbus:before,
.custom-icon-bus:before {
	content: "\e600";
}
.custom-icon-shop:before,
.custom-icon-home:before {
	content: "\e601";
}
.custom-icon-student:before {
	content: "\e603";
}
.custom-icon-phone:before {
	content: "\e606";
}
.custom-icon-etickets:before {
	content: "\e607";
}
.custom-icon-mtickets:before {
	content: "\e608";
}
.custom-icon-pay-point:before {
	content: "\e604";
}
.custom-icon-route:before {
	content: "\e605";
	font-size:22px;
}














/*	
----------------------------------------------------------
File Icons
---------------------------------------------------------- 
*/

span.file {
	display: block;
	position: relative;	
	overflow: hidden;
}

span.file:after {
	content: "";
	display: table;
	clear: both;
}

.file-icon {
	width: 0;
	height: 0;
	position: absolute;
	top: -10000px;
}

.file-icon + a {
	color: #d5045f;
	font-weight: 600;
	position: relative;
	padding: 6px 0 6px 24px;
	display: block;
}

.file-icon + a:before {
	font-family: first-icons;
	font-weight: normal;
	font-size: 18px;
	padding-right: 8px;
	color: #d5045f;
	position: absolute;
	left: 0;
	top: 5px;
}

.file-icon[src="/modules/file/icons/application-pdf.png"] + a:before {
	content: "\eade";
}

.file-icon[src="/modules/file/icons/text-plain.png"] + a:before {
	content: "\eae2";
}

.file-icon[src="/modules/file/icons/x-office-document.png"] + a:before {
	content: "\eae0";
}

.bt-icon {
	color: #d5045f;
	background: #f3f3f3;
	border-radius: 50%;
	width: 90px;
	height: 90px;
	text-align: center!important;
	line-height: 90px;
	float: left;
	margin: 0 16px 16px 0;
	position: relative;
	clear: left;
	font-size: 54px;
	display: inline-block;
	position: relative;
}


.search-results .search-snippet-info {
	padding:0;
}
















/*	
----------------------------------------------------------
Custom Tooltips
---------------------------------------------------------- 
*/

[data-tooltip]:not([data-tooltip=""]):hover:after {
	content: attr(data-tooltip);
	padding: 4px 6px;
	color: #fafafa!important;
	z-index: 9999;
	line-height: 16px;
	top: -30px;
	left: 50%;
	transform: translatex(-50%);
	-ms-transform: translatex(-50%);
	-webkit-transform: translatex(-50%);
	position: absolute;
	background: #00B09A;
	border-radius: 2px;
	font-size: 12px!important;
	font-weight: 600;
	text-transform: capitalize;
	font-family: 'Open Sans', sans-serif;
	text-align: left;
	white-space: nowrap;
}







/*	
----------------------------------------------------------
System Messages
---------------------------------------------------------- 
*/

#ticket_disp span.instruction,
.comment,
div.messages,
#journey-planner-error {
	background-image: none;
	background: rgba(0,0,0,0.05);
	border: none;
	margin: 0 0 16px 0;
	border-radius: 0;
	padding: 12px 16px 12px 36px;
	line-height: 22px;
	position: relative;
	background-image: none;
	border: none; 
	font-weight: 600;
	color: #444;
}

#ticket_disp span.instruction {
	display: block;
	margin: 0;
}

form#c_form .comment {
	background: none;
	padding: 0;
	font-size: 12.5px;
	color: #656565;
	font-style: italic;
	font-weight: 400;
	margin: 4px 0 12px 0;
}

#ticket_disp span.instruction,
.comment.error,
div.messages.error,
#journey-planner-error {
	border-left: 3px solid #D12F19;
}

.comment.warning,
div.messages.warning {
	border-left: 3px solid #FF9933;
}

.comment.status,
div.messages.status {
	border-left: 3px solid #61B329;
}

.pagename-tickets #ticket_disp span.instruction:before,
.comment.error:before,
.comment.status:before,
.comment.warning:before,
div.messages.status:before,
div.messages.warning:before,
div.messages.error:before,
#journey-planner-error:before {
	content: "!";
	font-weight: 900;
	font-size: 16px;
	position: absolute;
	left: 16px;
	top: 11px;
	color: #D12F19;
	display: block;
	height: 24px;
	text-align: center;
	line-height: 24px;
	border-radius: 50%;
}

div.messages.warning:before {
	color: #FF9933;
}

div.messages.status:before {
	color: #61B329;
}

div.messages.status:before {
	content: "\ea10";
	font-family: first-icons;
	font-size: 12px;
	left: 12px;
}

div.messages a,
#journey-planner-error a {
	color: #d5045f;
	text-decoration: underline;
}

div.messages ul {
	margin: 0;
}

div.messages ul li {
	list-style-type: none;
}








/*	
----------------------------------------------------------
UI Datepicker
---------------------------------------------------------- 
*/

#ui-datepicker-div {
	border: none!important;
	border-radius: 2px;
	box-shadow: 0px 0 3px rgba(0,0,0,0.4);
	display: none;
	padding: 0;
	font-size: 12px;
	width: 260px;
	background: #fff;
	margin: 0;
	z-index: 100;
	font-family: 'Open Sans', sans-serif;
}

#ui-datepicker-div select {
	background-size: 30px 30px;
}

.ui-datepicker table {
	margin-bottom: 0;
	font-weight: 600;
	padding: 4px;
}

.ui-datepicker td span, .ui-datepicker td a {
	padding: 7px 5px;
	text-align: center;
	background: rgba(0,0,0,0.07);
}

.ui-datepicker td a:hover {
	color:#fafafa;
}

#ui-datepicker-div tr {
	background: none;
}

#ui-datepicker-div td {
	line-height: 18px;
	font-size: 10px;
	padding: 1px;
}

#ui-datepicker-div td a,
#ui-datepicker-div td span {
	border-radius: 1px;
}

#ui-datepicker-div td span {
	background: rgba(0,0,0,0.05);
}

.ui-datepicker .ui-datepicker-prev, 
.ui-datepicker .ui-datepicker-next {
	position: absolute;
	top: 8px;
	width: 60px;
	height: 23px;
	line-height: 23px;
	font-size: 0;
	font-weight: 600;
	transition: all .5s;
	overflow: hidden;
	text-align: left;
	left: 10px;
	color: #fafafa;
}

.ui-datepicker .ui-datepicker-prev:before, 
.ui-datepicker .ui-datepicker-next:before {
	font-family: first-icons;
	content: "\ea48";
	font-size: 14px;
	font-weight: normal;
	cursor: pointer;
}

.ui-datepicker .ui-datepicker-next:before {
	content: "\ea46";
}


.ui-datepicker .ui-datepicker-next {
	text-align: right;
	left: auto;
	right: 10px;
}

.ui-datepicker .ui-datepicker-prev span, 
.ui-datepicker .ui-datepicker-next span {
	display: block;
	position: relative;
	top: auto;
	margin: 0;
	left: auto;
	height: 23px;
	line-height: 23px;
}

.ui-datepicker .ui-datepicker-header {
	position: relative;
	padding: 0;
	background: #d5045f;
	color: #fafafa;
	padding: 8px 10px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
}

#ui-datepicker-div .ui-datepicker-title,
.ui-datepicker .ui-datepicker-title {
	margin: 0 60px;
	height: 23px;
	line-height: 23px;
	text-align: center;
}

#ui-datepicker-div td a {
	transition: all .3s;
}

#ui-datepicker-div td a:hover {
	background: #d5045f;
}

#ui-datepicker-div td.ui-datepicker-other-month {
	background: none!important;
}

#ui-datepicker-div td.ui-state-disabled span {
	background: rgba(0,0,0,0.02);
	color: rgba(0,0,0,0.2);
	cursor: initial;
}

#ui-datepicker-div td.ui-state-disabled span {
	cursor: default;	
}

.ui-datepicker .ui-datepicker-title select {
	line-height: 21px;
	height: 23px;
	background-size: 23px 23px;
	padding: 0 20px 2px 0;
}

.ie9 .ui-datepicker .ui-datepicker-title select {
	background-image: none;
	padding-right: 0;
	background-color: #fafafa;
}















/*	
----------------------------------------------------------
User Pages
---------------------------------------------------------- 
*/

#user-profile-form .collapsed {
}

#user-profile-form .fieldset-wrapper {
	max-height: none;
}

#user-profile-form .collapsed .fieldset-wrapper {
	overflow: hidden;
	max-height: 0;
}

#user-profile-form > div {
	position: relative;
	padding-top: 46px;
	background: rgba(0,0,0,0.03);
	padding: 12px 16px;
	margin: 60px 0 0 0;
}

#user-profile-form fieldset {
	position:initial!important;
}

#user-profile-form .fieldset-title {
	position: absolute;
	top: 0;
	line-height: 46px;
	display: inline-block;
	width: 33.33333333333%;
	background: rgba(0,0,0,0.1);
	top: -46px;
	left: 0;
	text-align: center;
	font-weight: 700;
	background: #d5045f;
	color: #fafafa;
	border-radius: 2px;
}

#user-profile-form .collapsed .fieldset-title {
	background: rgba(0,0,0,0.1);
	color: #555;
}

#user-profile-form fieldset:nth-of-type(2) .fieldset-title {
	left: 33.33333333333333%;
	border-left: 4px solid #fff;
}

#user-profile-form fieldset:nth-of-type(3) .fieldset-title {
	left: 66.6666666666666666%;
	border-left: 4px solid #fff;
}

#user-register-form label,
#user-profile-form label {
	width: 40%;
	display: block;
	float: left;
	position: relative;
	line-height: 42px;
}

#user-profile-form .form-item-mail {
	height: auto!Important;
}

#user-register-form .description,
#user-profile-form .description {
	padding: 8px 0 0 0;
	overflow: hidden;
	position: relative;
	width: 60%;
	float: right;
	clear: both;
	font-size: 12px;
	line-height: 20px;
	clear: both;
	background: rgba(0,0,0,0.03);
	border-radius: 2px;
	padding: 12px;
	font-weight: 600;
	font-size: 13px;
	border: 1px solid rgba(0,0,0,0.05);
}

#user-register-form .form-item-name .description,
#user-register-form .form-item-mail .description,
#user-profile-form .form-item-mail .description {
	margin: 5px 0 0 0!important;
}

#content .description ul {
	font-size: 12px;
	line-height: 20px;
	margin: 0;
}

body #main #user-register-form .confirm-parent {
	margin-bottom: 0;
}

body #main #user-register-form .form-item-name {
	margin-bottom: 5px;
}

body #main #user-register-form .password-suggestions + .description {
	display: none;
}

#user-register-form .password-suggestions,
.password-suggestions.description {
	margin-bottom: 5px;
}

#user-profile-form .fieldset-title:before {
	content: "\ea3a";
	font-family: first-icons;
	font-weight: normal;
	font-size: 13.5px;
	position: absolute;
	top: 34px;
	left: 50%;
	display: block;
	width: 24px;
	height: 24px;
	line-height: 24px;
	margin-left: -12px;
	color: #ddd;
	transition: all .3s;
	opacity: 1;
	color: #d5045f;
}

#user-profile-form .collapsed .fieldset-title:before {
	opacity: 0;
	top: 30px;
	color: rgba(0,0,0,0.1);
}

body #content #user-register-form select,
body #content #user-register-form input[type="text"],
body #content #user-register-form input[type="password"],
#user-profile-form select,
#user-profile-form input[type="text"],
#user-profile-form input[type="password"] {
	width: 60%;
	margin: 0;
}

#user-register-form fieldset {
	margin: 0 0 24px 0;
}

#user-register-form .fieldset-legend {
	font-size: 18px;
	font-weight: 600;
	line-height: 32px;
	display: block;
	padding: 0 0 24px 0;
	overflow: hidden;
}

#user-register-form .fieldset-legend #delcopy {
	clear: left;
	display: block;
}

#user-register-form #edit-delivery > legend {
	margin-bottom: 10px;
}

body #content #user-register-form input[type="text"].postcode,
#user-profile-form input[type="text"].postcode {
	width: calc(60% - 110px);
}

#user-register-form .postcode_check,
#user-profile-form .postcode_check {
	display: block;
	height: 42px;
	line-height: 42px;
	color: #fafafa!important;
	font-weight: 700;
	background: #252525;
	width: 100px;
	text-align: center;
	position: absolute;
	right: 0;
	top: 0;
	border-radius: 2px;
}

#user-profile-form #edit-account > .form-item,
#user-profile-form #edit-status .fieldset-wrapper > .form-item,
#user-profile-form #edit-roles .fieldset-wrapper > .form-item,
#user-register-form .fieldset-wrapper > .form-item,
#user-profile-form .fieldset-wrapper > .form-item {
	min-height: 49px;
	height: auto;
	border-bottom: 1px solid rgba(0,0,0,0.05);
	padding-bottom: 5px;
	margin-bottom: 5px;
	max-height: 500px;
	transition: all .5s;
	position: relative;
	width: 100%;
}

#user-profile-form .fieldset-wrapper > .form-item:after {
	content: "";
	display: table;
	clear: both;
}

#user-profile-form .fieldset-wrapper .form-type-password-confirm {
	height: auto;
	padding-bottom: 58px;
}

#user-profile-form .fieldset-wrapper .form-type-password-confirm > .form-item {
	width: 100%;
}

#user-profile-form #edit-actions {
	text-align: right;
}

#user-register-form .fieldset-wrapper > .form-type-password-confirm {
	padding-bottom: 58px;
}

body.pagename-user-account #main #user-register-form .form-type-password {
	margin-bottom: 0;
}

label[for=edit-pass-pass2],
input#edit-pass-pass2 {
	margin-top: 5px!important;
}

html.js fieldset.collapsed {
	height: 0;
}

#user-profile-form .form-item-title {
	margin-top: 12px;
}

.form-type-password-confirm div.password-confirm,
.form-type-password-confirm .password-strength {
	position: absolute;
	bottom: 8px;
	left: 40%;
	width: calc(30% - 2.5px);
	background: rgba(0,0,0,0.03);
	border-radius: 2px;
	padding: 2px 12px 10px 12px;
	font-weight: 600;
	font-size: 13px;
	border: 1px solid rgba(0,0,0,0.05);
}

.form-type-password-confirm .password-indicator {
	height: 8px;
	margin-top: 4px;
}

.form-type-password-confirm div.password-confirm {
	left: calc(70% + 2.5px);
	height: 50px;
	line-height: 45px;
	padding: 0 12px 5px 12px;
}

.form-type-password-confirm div.password-confirm > span {
	float: right;
	text-transform: uppercase;
	font-weight: 700;
}

.form-type-password-confirm div.password-confirm > span.ok {
	color: #47C965;
}

#user-profile-form .form-item.hidden {
	max-height: 0;
	overflow: hidden;
	padding: 0;
	margin: 0;
	border: none;
	min-height: 0;
	position: absolute;
	top: -10000px;
}

#user-profile-form .form-item.hidden[style="display: block;"] {
	max-height: 2000px;
	border-bottom: 1px solid rgba(0,0,0,0.05);
	padding-bottom: 10px;
	margin-bottom: 10px;
	position: relative;
	top: auto;
}

.form-required {
	font-size: 10px;
	color: #D12F19;
	vertical-align: top;
}

#user-profile-form .fieldset-wrapper > p {
	background: rgba(0,0,0,0.03);
	border-radius: 2px;
	padding: 10px 16px 12px 16px;
	font-weight: 600;
	font-size: 13px;
	border: 1px solid rgba(0,0,0,0.05);
	margin: 12px 0 5px 0;
}

#user-register-form input[value="Register"],
#user-profile-form input[value="Update"] {
	background: #d5045f;
	float: right;
}

.password-strength-text {
	position: fixed;
	left: -10000px;
	top: -100000px;
}

div.indicator {
	background: rgba(0,0,0,0.1);
	height: 12px;
	transition: all .8s;
}

div.indicator[style="width: 5%;"],
div.indicator[style="width: 10%;"],
div.indicator[style="width: 15%;"],
div.indicator[style="width: 20%;"],
div.indicator[style="width: 25%;"],
div.indicator[style="width: 30%;"],
div.indicator[style="width: 35%;"] {
	background: #D12F19;
}

div.indicator[style="width: 40%;"],
div.indicator[style="width: 45%;"],
div.indicator[style="width: 50%;"],
div.indicator[style="width: 55%;"],
div.indicator[style="width: 60%;"],
div.indicator[style="width: 65%;"],
div.indicator[style="width: 70%;"],
div.indicator[style="width: 75%;"] {
	background: #ff9933;
}

div.indicator[style="width: 80%;"],
div.indicator[style="width: 82.5%;"],
div.indicator[style="width: 85%;"],
div.indicator[style="width: 87.5%;"],
div.indicator[style="width: 90%;"],
div.indicator[style="width: 92.5%;"],
div.indicator[style="width: 95%;"],
div.indicator[style="width: 97.5%;"],
div.indicator[style="width: 100%;"] {
	background: #61b329;
}

#content .description ul {
	margin-bottom: 0;
}

div.captcha {
	float: left;
}

#user-profile-form #edit-status,
#user-profile-form #edit-roles {
	padding-left: 40%;
}

#user-profile-form #edit-opco {
	margin-bottom: 20px;
}

#user-profile-form #edit-status .form-type-radio,
#user-profile-form #edit-roles .form-type-checkbox {
	display: block;
	width: calc(50% - 10px);
	margin: 0 20px 20px 0;
	float: left;
	position: relative;
}

#user-profile-form #edit-status .form-type-radio:nth-of-type(2n),
#user-profile-form #edit-roles .form-type-checkbox:nth-of-type(2n) {
	margin-right: 0;
}

#user-profile-form #edit-status input[type="radio"],
#user-profile-form #edit-roles input[type="checkbox"] {
	position: absolute;
	left: -10000px;
}

#user-profile-form #edit-status input[type="radio"] + label,
#pageWrapper #user-profile-form #edit-roles input[type="checkbox"] + label {
	display: inline-block;
	padding: 12px 18px;
	background: rgba(0,0,0,0.05);
	border-radius: 2px;
	line-height: 24px;
	width: auto;
	transition: all .3s;
	width: 100%;
	text-transform: capitalize;
}

#user-profile-form #edit-roles .form-type-checkbox:last-of-type,
#user-profile-form #edit-roles .form-type-checkbox:nth-last-of-type(1),
#user-profile-form #edit-status .form-type-radio {
	margin-bottom: 0;
}

#pageWrapper #user-profile-form #edit-roles input[type="checkbox"]:checked + label {
	background: #d5045f;
	color: #fafafa;
}

#user-profile-form #edit-status input[type="radio"]:checked + label {
	background: #61B329;
	color: #fafafa;
}

#user-profile-form #edit-status .form-type-radio:nth-of-type(1) input[type="radio"]:checked + label {
	background: #D12F19;
}

#user-profile-form #edit-status .form-type-radio:nth-of-type(1) input[type="radio"]:checked + label:after,
#user-profile-form #edit-status .form-type-radio:nth-of-type(2) input[type="radio"]:checked + label:after,
#pageWrapper #user-profile-form #edit-roles input[type="checkbox"]:checked + label:after {
	font-family: first-icons;
	font-weight: normal;
	content: "\e116";
	float: right;
}

#user-profile-form #edit-status .form-type-radio:nth-of-type(1) input[type="radio"]:checked + label:after {
	content: "\e117";
}

#user-profile-form #edit-timezone select#edit-timezone--2,
#user-profile-form #edit-account #edit-name {
	margin: 0 0 4px 0;
}

#user-profile-form #edit-account .form-type-password-confirm {
	padding-bottom: 62px;
}

.field-name-field-opco + #edit-actions {
	margin-top: 20px;
}

.field-name-field-opco + #edit-actions input[type="submit"]:last-child {
	float: left;
	position: relative;
}

.field-name-field-opco + #edit-actions input[type="submit"]:first-child {
	background: #d5045f;
}

.page-user-password #content {
    width: 100%;
    max-width: 400px;
    float: none;
    margin: 40px auto;
}
















/*	
----------------------------------------------------------
Tables
---------------------------------------------------------- 
*/

#content table {
	width: 100%;
	max-width: 100%;
	margin-bottom: 24px;
}

.table-scroller table {
	width: auto;
	min-width: 100%;
	margin: 0!important;
}

.table-scroller table caption {
	font-size: 16px;
	color: #676767;
	margin-bottom: 12px;
	font-weight: 700;
	text-align: left;
}

#content .table-scroller table th {
	background: rgba(0,0,0,0.05);
	padding: 10px!important;
	text-align: left;
}

#content .table-scroller table th,
#content .table-scroller table th p,
#content .table-scroller table th h1,
#content .table-scroller table th h2,
#content .table-scroller table th h3,
#content .table-scroller table th h4 {
	font-weight: 700;
	font-size: 13.5px;
	line-height: 24px;
	color: #212b55;
}

#content .table-scroller table tr td {
	padding: 10px;
	font-size: 13.5px;
	font-weight: 400;
	line-height: 24px;
}

#content .table-scroller table tr th > *:last-child,
#content .table-scroller table tr td > *:last-child {
	margin-bottom: 0;
}

#content .table-scroller {
	width: 100%;
	overflow-y: auto;
	border: 1px solid rgba(0,0,0,0.05);
	margin-bottom: 24px;
}

#content .table-scroller table caption {
	margin-bottom: 0!important;
	background: #D5045F;
	color: #fafafa;
	padding: 10px;
}

#content .table-scroller table caption h2 {
	margin: 0!important;
	color: #fafafa;
}

#content .table-scroller tr:nth-of-type(odd) {
	background: rgba(0,0,0,0.04);
}

#content .table-scroller tr:nth-of-type(even) {
	background: rgba(0,0,0,0.01);
}

#content .table-scroller::-webkit-scrollbar {
	display: block!important;
	visibility: visible!important;
	width: 100%;
	height: auto;
}

.pagename-timetables #content .table-scroller table thead {
	border-bottom: 1px solid rgba(0,0,0,0.1);
}

.pagename-timetables #content .table-scroller table th {
	text-align: center;
	padding: 10px;
}

.pagename-timetables #content .table-scroller table td {
	text-align: center;
}

.pagename-timetables #content .table-scroller table .first-column {
	text-align: left;
}

.pagename-timetables #content .table-scroller table p:last-of-type {
	margin-bottom: 0;
}

.pagename-timetables #content .table-scroller td.first-column {
	background: rgba(0,0,0,0.05);
	font-weight: 600;
}

#ticket_disp table td,
#ticket_disp table th {
	padding: 10px;
}

#ticket_disp td {
	min-width: 30%;
}

#ticket_disp table {
	border: 1px solid rgba(0,0,0,0.2);
}

#ticket_disp table tbody tr:last-child {
	border-bottom: none;
}

.table-scroller::-webkit-scrollbar {
	width: 100%;
}

.table-scroller::-webkit-scrollbar-track {
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); 
}

.table-scroller::-webkit-scrollbar-thumb {
	background: #D5045F;
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); 
}
.table-scroller::-webkit-scrollbar-thumb:window-inactive {
	background: rgba(255,0,0,0.4); 
}

#ticket_disp table td,
#ticket_disp table th {
	padding: 10px;
}

#ticket_disp table {
	border: 1px solid rgba(0,0,0,0.2);
}

#ticket_disp table tbody tr:last-child {
	border-bottom: none;
}










/*	
----------------------------------------------------------
Journey Planner SVGs
---------------------------------------------------------- 
*/

.foot-line-poly,
.foot-line-svg {
	stroke:#555;
}

.bus-line-poly,
.bus-line-svg {
	stroke:#555;
}

.train-line-poly,
.train-line-svg {
	stroke:#555;
}

.tube-line-poly,
.tube-line-svg {
	stroke:#555;
}

.leg-first,
.leg-first .time-at,
.leg-first li:before,
.leg-first span.to-point-name,
.leg-first span.from-point-name,
.leg-first span.bus-number {
	stroke:#555;
}

.leg-last,
.leg-last .time-at,
.leg-last li:before,
.leg-last span.to-point-name,
.leg-last span.from-point-name,
.leg-last span.bus-number {
	stroke:#555;
}

ul.route-details li:hover svg path{
	stroke:#00b09a;
	transition: all .2s;
}

#sidebar .journey-planner input[type="submit"],
#sidebar .mailshot-signup input[type="submit"] {
	margin: 10px 0;
}








/*	
----------------------------------------------------------
Mailing List Sidebar Form
---------------------------------------------------------- 
*/

#sidebar .mailshot-signup p {
	margin: 0 0 12px 0;
}

#sidebar .mailshot-signup p.error {
	display: none;
	color: red;
}

#sidebar .mailshot-signup p.message {
	font-weight: 700;
}

#sidebar .mailshot-signup [type="checkbox"] {
	vertical-align: middle;
}

#sidebar .mailshot-signup label.after {
	display: inline-block;
	width: 90%;
	vertical-align: top;
	color: #666666!important;
	font-weight: 400!important;
}

.sechide {
	display: none;
}

#mailshot-signup-form > div {
	margin-bottom: 12px;
}









/*	
----------------------------------------------------------
Legacy IE Styles
---------------------------------------------------------- 
*/

.lte-ie8 #main.sidebar-left #content,
.lte-ie8 #main.sidebar-right #content {
	width: auto;
}

.ie9 ul.transport-types.transport-mode li span {
	left: 0!important;
}











/*	
----------------------------------------------------------
Admin Toolbar
---------------------------------------------------------- 
*/

body.toolbar header#header {
	top: 38px;
}

body.toolbar {
	padding-top: 171px!important;
}

#toolbar {
	z-index: 10000;
	font-family: 'Open Sans', sans-serif;
	font-weight: 500;
	font-size: 12px;
}

#slide-menu {
	width: 320px;
	display: block;
	position: fixed;
	top: 38px;
	left: 0;
	height: calc(100% - 38px);
	box-sizing: border-box;
	background: #f3f3f3;
	padding: 0;
	transition: all .4s;
	overflow-y: scroll;
	padding-bottom: 100px;
	transform: translate3d(0,0,0) translateX(-100%);
	-ms-transform: translate3d(0,0,0) translateX(-100%);
	-webkit-transform: translate3d(0,0,0) translateX(-100%);
}

.ie9 #slide-menu {
	left: -320px;
	transform: translate3d(0,0,0) translateX(0);
	-ms-transform: translate3d(0,0,0) translateX(0);
	-webkit-transform: translate3d(0,0,0) translateX(0);
}

#slide-menu ul {
	display: block;
	position: relative;
	width: 100%;
	padding: 0;
}

#slide-menu::-webkit-scrollbar { 
	display: none; 
}

ul#toolbar-menu li {
	display: block;
	width: 100%;
	padding: 0;
}

ul#toolbar-menu li a {
	display: block;
	width: 100%;
	padding: 16px!important;
	border-top: 1px solid #fff;
	border-bottom: 1px solid rgba(0,0,0,0.05);
	background: none;
	line-height: 24px;
	font-size: 12px;
	font-weight: 500%;
	color: #656565;
	font-weight: 600;
}

#toolbar div.toolbar-menu ul li a:hover {
	background: rgba(0,0,0,0.05);
	border-top: 1px solid rgba(0,0,0,0.05);
	border-bottom: 1px solid transparent;
	color: #d5045f;
}

#toolbar-toggle:checked + label ~ div {
	box-shadow: 10px 0 10px -10px rgba(0,0,0,0.4);
	transform: translate3d(0,0,0) translateX(0);
	-ms-transform: translate3d(0,0,0) translateX(0);
	-webkit-transform: translate3d(0,0,0) translateX(0);	
}

.ie9 .toolbar-active #slide-menu {
	left: 0;
}

#toolbar-toggle + label {
	transition: all .4s;
}

#toolbar-toggle + label:before {
	content: "\e120";
	font-family: first-icons;
	font-size: 18px;
	font-weight: normal;
	padding-right: 12px;
	float: left;
	position: relative;
}

#toolbar-toggle:checked + label:before {
	content: "\e5cd";
}

.toolbar #pageWrapper:before {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,0.5);
	z-index: -1;
	opacity: 0;
	transition: all .6s;
}

.toolbar #pageWrapper.toolbar-active {
	z-index: -1;
}

.toolbar #pageWrapper.toolbar-active:before {
	opacity: 1;
	z-index: 9000;
}

#toolbar-toggle {
	position: absolute;
	top: -10000px;
}

#toolbar-toggle + label {
	margin-left: 38px;
}

li.home.first.last {
	display: block;
	position: fixed;
	left: 0;
	top: 0;
}

#toolbar div.toolbar-menu ul#toolbar-home li a.active,
#toolbar div.toolbar-menu ul#toolbar-home li a.hover {
	border: none!important;
	text-shadow: none!important;
	background: rgba(255,255,255,0.1);
}

#toolbar-home {
	float: right;
}

#toolbar div.toolbar-menu {
	background: #353535;
	line-height: 38px;
	height: 38px;
	padding: 0;
}

#toolbar div.toolbar-menu {
	border-bottom: none;
}

#toolbar-toggle + label,
#toolbar-user li a {
	font-size: 10px;
	text-transform: uppercase;
	font-weight: 600;
	line-height: 38px;
	height: 38px;
	padding: 0 12px!important;
	display: inline-block;
	color: #f5f5f5;
	cursor: pointer;
}

#toolbar-home a span {
	background: none;
	display: block;
	width: 38px;
	height: 38px;
	line-height: 38px;
	text-indent: 0;
	font-size: 0;
	text-align: center;
}

#toolbar-home a span,
#toolbar-home a {
	padding: 0!Important;
	margin: 0!important;
}

#toolbar-home a span:before {
	content: "\e88a";
	font-family: first-icons;
	font-size: 18px;
	font-weight: normal;
	color: #e0e0e0!important;
}

#toolbar div.toolbar-menu ul#toolbar-user li a:hover,
#toolbar-toggle + label:hover,
#toolbar-toggle:checked + label,
#toolbar-user li a:hover {
	background: rgba(255,255,255,0.1);
	color: #fff;
	border: none;
}











/*	
----------------------------------------------------------
Custom Template Overrides
---------------------------------------------------------- 
*/

.template_header {
	margin: 30px 0 0 0;
	padding: 0;
}

.template_header p {
	margin: 0;
	padding: 0;
	line-height: normal;
}














/*	
----------------------------------------------------------
Temporary Overrides
---------------------------------------------------------- 
*/

ul.slick-dots {
	display: block;
	position: absolute;
	top: 20px;
	right: 16px;
	margin: 0;
	padding: 0;
}

.slick-dots li {
	display: inline-block;
	margin: 0 2px;
}

.slick-dots li:before {
	display: none;
}

.slick-slide img {
	width: 100%;
	height: auto;
}

#pageWrapper .slick-dots button button,
#pageWrapper .slick-dots button {
	background: none;
	padding: 0;
	font-size: 0;
	display: inline-block;
	width: 10px;
	height: 10px;
	background: rgba(255,255,255,0.6);
	vertical-align: top;
	border-radius: 1px;
}

#pageWrapper .slick-dots .slick-active button {
	background: #d5045f;
}
















/*	
----------------------------------------------------------
Single Order
---------------------------------------------------------- 
*/

#content .single-order-details ul,
#content .order-user-details ul {
	margin: 0 0 24px 0;
	position: relative;
}

.single-order-details li,
.order-user-details li {
	list-style-type: none;
	position: relative;
	display: block;
	width: 100%;
}

.single-order-details li:before,
.order-user-details li:before {
	content: "";
	display: none;
}

/* Main Order Details */

.single-order-details {
	width: 100%;
}

.single-order-details ul {
	border: 1px solid #e0e0e0;
	border-bottom: none;
}

.single-order-details li {
	padding: 12px 12px 12px 132px;
	border-bottom: 1px solid #e0e0e0;
	margin: 0;
}

.single-order-details li span {
    width: 120px;
    position: absolute;
    left: 0;
    top: 0;
    line-height: 49px;
    text-transform: uppercase;
    font-size: 10px;
    line-height: 49px;
    padding-left: 12px;
    font-weight: 700;
    border-right: 1px solid #e0e0e0;
    color: #999;
}

.page-user-orders-view .table-scroller {
	border: 1px solid #e0e0e0;
	border-bottom: none!important;
}

.page-user-orders-view .table-scroller tr {
	background: none!important;
	border-bottom: 1px solid #e0e0e0;
}

.page-user-orders-view #content .table-scroller th {
	width: 160px;
	background: none;
	border-right: 1px solid #e0e0e0;
	font-size: 10px;
	text-transform: uppercase;
	color: #999;
}

.page-user-orders-view #content .table-scroller tr:first-child th,
.page-user-orders-view #content .table-scroller tr:first-child td {
	background: #00b09a;
    font-size: 16px;
    font-weight: 700;
    color: #fafafa;
}




/* Delivery / Billing Details */

.order-user-details {
	width: calc(50% - 10px);
	float: left;
}

.order-user-details.billing {
	margin-right: 20px;
}

#content .order-user-details h3 {
	display: block;
	width: 100%;
	padding: 14px 16px;
	top: 0;
	left: 0;
	background: #00b09a;
	font-size: 16px;
	font-weight: 700;
	color: #fafafa;
	border-bottom: 1px solid #4A716C;
	margin: 0;
}


.order-user-details ul {
	background: rgba(0,0,0,0.03);
	padding: 6px 12px;
}

.order-user-details ul li {
	padding: 6px 0;
	border-bottom: 1px solid rgba(0,0,0,0.05);
}

.order-user-details ul li:last-child {
	border: none;
}

.order-user-details ul li span {
	display: block;
	font-size: 11px;
	text-transform: uppercase;
	color: #999;
	width: 100%;
	background: none;
	height: auto;
	line-height: 24px;
	text-align: left;
	border-radius: 0;
	font-family: 'Open Sans', sans-serif;
	font-weight: 600;
}






#eticket_filter > div {
	width: calc(25% - 15px);
	float: left;
	position: relative;
	margin: 0 20px 20px 0;
}

#eticket_filter > div:nth-child(4) {
	margin-right: 0;
}

#eticket_filter > div:nth-child(4) input[type=submit],
#eticket_filter > div:nth-child(4) a.btn {
	width: calc(50% - 5px);
	float: left;
	margin-top: 24px;
}

#eticket_filter > div:nth-child(4) input[type=submit] {
	float: right;
	margin-left: 10px;
}

#eticket_filter > div input[type=text] {
	width: 100%;
}

#eticket_filter input[type=text][name="filter2f"] {
	margin-right: 10px;
}

#eticket_filter input[type=text][name="filter2f"],
#eticket_filter input[type=text][name="filter2t"] {
	width: calc(50% - 5px);
	float: left;
	position: relative;
}








/*	
----------------------------------------------------------
Loader
---------------------------------------------------------- 
*/

.loader {
	font-size: 10px;
	margin: 0;
	text-indent: -9999em;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -10px 0 0 -10px;
	animation: load3 1.4s infinite linear;
	-webkit-animation: load3 1.4s infinite linear;
	transform: translate3d(0,0,0);
	-ms-transform: translate3d(0,0,0);
	-webkit-transform: translate3d(0,0,0);
	background: #d5045f;
	background: -moz-linear-gradient(left, #d5045f 10%, rgba(255, 255, 255, 0) 42%);
	background: -webkit-linear-gradient(left, #d5045f 10%, rgba(255, 255, 255, 0) 42%);
	background: -o-linear-gradient(left, #d5045f 10%, rgba(255, 255, 255, 0) 42%);
	background: -ms-linear-gradient(left, #d5045f 10%, rgba(255, 255, 255, 0) 42%);
	background: linear-gradient(to right, #d5045f 10%, rgba(255, 255, 255, 0) 42%);
}

.loader:before {
	width: 50%;
	height: 50%;
	background: #d5045f;
	border-radius: 100% 0 0 0;
	position: absolute;
	top: 0;
	left: 0;
	content: '';
}

.loader:after {
	background: #fff;
	width: 75%;
	height: 75%;
	border-radius: 50%;
	content: '';
	margin: auto;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

@-webkit-keyframes load3 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@keyframes load3 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

body #pageWrapper ul li.menu-2525,
body #pageWrapper ul li[title="On-bus Wi-Fi"] {
	display: none!important;
}






/* Temp Rail Air Logo */

.rail-air-left-icon {
	width: 90px;
    height: 25px;
    text-align: center!important;
    line-height: 90px;
    float: left;
    margin: 20px 16px 16px 0;
    overflow: hidden;
	background: transparent url(/uploads/node_images/rail-air-logo_0.png) no-repeat center center;
	background-size: 90px 25px;
}

.rail-air-left-icon + div {
	margin-top: 40px;
}

/* Sweep To Bottom */
.hvr-sweep-to-bottom {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.hvr-sweep-to-bottom:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background:#c8dd58;
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: 50% 0;
  transform-origin: 50% 0;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-sweep-to-bottom:hover, .hvr-sweep-to-bottom:focus, .hvr-sweep-to-bottom:active {
  color: white;
}
.hvr-sweep-to-bottom:hover:before, .hvr-sweep-to-bottom:focus:before, .hvr-sweep-to-bottom:active:before {
  -webkit-transform: scaleY(1);
  transform: scaleY(1);
}
.navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus {
    color: #fff;
}


/*	
----------------------------------------------------------
Hide eTickets Links
---------------------------------------------------------- 
*/
/*

Hide on all opcos

#main_navigation li[title="Online tickets"],
#sidebar_navigation .menu-8311,
#sidebar_navigation .menu-8351,
#sidebar_navigation .menu-8391,
#sidebar_navigation .menu-8411 {
	display: none!important;
} */


/* Hide etickets link aberdeen */

.page-opco-3 #sidebar_navigation .menu-8311,
.page-opco-3 #main_navigation .menu-8311,
.page-opco-2 #sidebar_navigation .menu-14091,
.page-opco-2 #main_navigation .menu-14091,
.page-opco-14 #sidebar_navigation .menu-14141,
.page-opco-14 #main_navigation .menu-14141,
.page-opco-11 #sidebar_navigation .menu-14131,
.page-opco-11 #main_navigation .menu-14131 {
	display: none!important;
}

/* Hide Not Scary */

.page-opco-14 #sidebar_navigation .menu-18601,
.page-opco-14 #main_navigation .menu-18601 {
	display: none!important;
}











/*	
----------------------------------------------------------
Sidebar etickets links
---------------------------------------------------------- 
*/

#sidebar > div#etickets_link,
#sidebar > div#mtickets_link {
	padding: 0;
}

#etickets_link a,
#mtickets_link a {
	display: block;
	padding: 12px 20px 12px 80px;
	color: #fff;
	background: #d5045f;
	position: relative;
}

#etickets_link a:hover,
#mtickets_link a:hover {
	text-decoration: none;
} 

#etickets_link a:after,
#mtickets_link a:after {
	font-family: first-icons;
    content: "\e607";
    position: absolute;
    left: 12px;
    top: 12px;
    font-size: 26px;
    color: #fafafa;
}

#mtickets_link a:after {
	content: "\e608";
}

#etickets_link a:before,
#mtickets_link a:before {
	content: "";
	display: block;
	width: 48px;
	height: 48px;
	background: rgba(0,0,0,0.2);
	position: absolute;
	left: 0;
	top: 0;
}
