@charset "UTF-8";
.cropper-container {
  position: relative;
  overflow: hidden;
  font-size: 0;
  line-height: 0;
  -ms-touch-action: none;
  touch-action: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  direction: ltr !important;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

.cropper-container img {
  display: block;
  width: 100%;
  min-width: 0 !important;
  max-width: none !important;
  height: 100%;
  min-height: 0 !important;
  max-height: none !important;
  image-orientation: 0deg !important;
}

.cropper-canvas,
.cropper-drag-box,
.cropper-crop-box,
.cropper-modal {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.cropper-drag-box {
  background-color: #fff;
  filter: alpha(opacity=0);
  opacity: 0;
}

.cropper-modal {
  background-color: #000;
  filter: alpha(opacity=50);
  opacity: 0.5;
}

.cropper-view-box {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  outline: 1px solid #69f;
  outline-color: rgba(102, 153, 255, 0.75);
}

.cropper-dashed {
  position: absolute;
  display: block;
  filter: alpha(opacity=50);
  border: 0 dashed #eee;
  opacity: 0.5;
}

.cropper-dashed.dashed-h {
  top: 33.33333%;
  left: 0;
  width: 100%;
  height: 33.33333%;
  border-top-width: 1px;
  border-bottom-width: 1px;
}

.cropper-dashed.dashed-v {
  top: 0;
  left: 33.33333%;
  width: 33.33333%;
  height: 100%;
  border-right-width: 1px;
  border-left-width: 1px;
}

.cropper-center {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 0;
  height: 0;
  filter: alpha(opacity=75);
  opacity: 0.75;
}

.cropper-center:before,
.cropper-center:after {
  position: absolute;
  display: block;
  content: " ";
  background-color: #eee;
}

.cropper-center:before {
  top: 0;
  left: -3px;
  width: 7px;
  height: 1px;
}

.cropper-center:after {
  top: -3px;
  left: 0;
  width: 1px;
  height: 7px;
}

.cropper-face,
.cropper-line,
.cropper-point {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  filter: alpha(opacity=10);
  opacity: 0.1;
}

.cropper-face {
  top: 0;
  left: 0;
  background-color: #fff;
}

.cropper-line {
  background-color: #69f;
}

.cropper-line.line-e {
  top: 0;
  right: -3px;
  width: 5px;
  cursor: e-resize;
}

.cropper-line.line-n {
  top: -3px;
  left: 0;
  height: 5px;
  cursor: n-resize;
}

.cropper-line.line-w {
  top: 0;
  left: -3px;
  width: 5px;
  cursor: w-resize;
}

.cropper-line.line-s {
  bottom: -3px;
  left: 0;
  height: 5px;
  cursor: s-resize;
}

.cropper-point {
  width: 5px;
  height: 5px;
  background-color: #69f;
  filter: alpha(opacity=75);
  opacity: 0.75;
}

.cropper-point.point-e {
  top: 50%;
  right: -3px;
  margin-top: -3px;
  cursor: e-resize;
}

.cropper-point.point-n {
  top: -3px;
  left: 50%;
  margin-left: -3px;
  cursor: n-resize;
}

.cropper-point.point-w {
  top: 50%;
  left: -3px;
  margin-top: -3px;
  cursor: w-resize;
}

.cropper-point.point-s {
  bottom: -3px;
  left: 50%;
  margin-left: -3px;
  cursor: s-resize;
}

.cropper-point.point-ne {
  top: -3px;
  right: -3px;
  cursor: ne-resize;
}

.cropper-point.point-nw {
  top: -3px;
  left: -3px;
  cursor: nw-resize;
}

.cropper-point.point-sw {
  bottom: -3px;
  left: -3px;
  cursor: sw-resize;
}

.cropper-point.point-se {
  right: -3px;
  bottom: -3px;
  width: 20px;
  height: 20px;
  cursor: se-resize;
  filter: alpha(opacity=100);
  opacity: 1;
}

.cropper-point.point-se:before {
  position: absolute;
  right: -50%;
  bottom: -50%;
  display: block;
  width: 200%;
  height: 200%;
  content: " ";
  background-color: #69f;
  filter: alpha(opacity=0);
  opacity: 0;
}

@media (min-width: 768px) {
  .cropper-point.point-se {
    width: 15px;
    height: 15px;
  }
}
@media (min-width: 992px) {
  .cropper-point.point-se {
    width: 10px;
    height: 10px;
  }
}
@media (min-width: 1200px) {
  .cropper-point.point-se {
    width: 5px;
    height: 5px;
    filter: alpha(opacity=75);
    opacity: 0.75;
  }
}
.cropper-bg {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC");
}

.cropper-invisible {
  filter: alpha(opacity=0);
  opacity: 0;
}

.cropper-hide {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
}

.cropper-hidden {
  display: none !important;
}

.cropper-move {
  cursor: move;
}

.cropper-crop {
  cursor: crosshair;
}

.cropper-disabled .cropper-drag-box,
.cropper-disabled .cropper-face,
.cropper-disabled .cropper-line,
.cropper-disabled .cropper-point {
  cursor: not-allowed;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: "";
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

@font-face {
  font-family: first-icons;
  src: url("/themes/custom/firstbus/assets/fonts/first-icons/first-icons.eot");
  src: url("/themes/custom/firstbus/assets/fonts/first-icons/first-icons.eot#iefix") format("embedded-opentype"), url("/themes/custom/firstbus/assets/fonts/first-icons/first-icons.ttf") format("truetype"), url("/themes/custom/firstbus/assets/fonts/first-icons/first-icons.woff") format("woff"), url("/themes/custom/firstbus/assets/fonts/first-icons/first-icons.svg#first-icons") format("svg");
  font-weight: normal;
  font-style: normal;
}
/*

	First Group
	Site	: 	firstbus.co.uk
	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
	Sidebar tickets links

	*/
/*
----------------------------------------------------------
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, main {
  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;
}

.address_copy {
  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 0.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;
}

.address_copy:hover {
  color: #fafafa;
  background: #454545;
}

.address_copy:before {
  content: "\ea36";
  font-family: first-icons;
  font-weight: normal;
  left: 8px;
  font-size: 12px;
  position: absolute;
  width: 26px;
  text-align: center;
  transition: all 0.5s;
  transform: translate3d(0, 0, 0) rotate(0);
  -ms-transform: translate3d(0, 0, 0) rotate(0);
  -webkit-transform: translate3d(0, 0, 0) rotate(0);
}

.address_copy: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;
  background-size: cover;
  background-position: center center;
  overflow-x: hidden;
}

body {
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  break-inside: avoid;
}

/*
----------------------------------------------------------
Fonts
----------------------------------------------------------
*/
@font-face {
  font-family: "Open Sans";
  src: url("/themes/custom/firstbus/assets/fonts/open-sans/OpenSans-Light.eot");
  src: url("/themes/custom/firstbus/assets/fonts/open-sans/OpenSans-Light.eot?#iefix") format("embedded-opentype"), url("/themes/custom/firstbus/assets/fonts/open-sans/OpenSans-Light.woff2") format("woff2"), url("/themes/custom/firstbus/assets/fonts/open-sans/OpenSans-Light.woff") format("woff"), url("/themes/custom/firstbus/assets/fonts/open-sans/OpenSans-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Open Sans";
  src: url("/themes/custom/firstbus/assets/fonts/open-sans/opensans-regular-webfont.eot");
  src: url("/themes/custom/firstbus/assets/fonts/open-sans/opensans-regular-webfont.eot?#iefix") format("embedded-opentype"), url("/themes/custom/firstbus/assets/fonts/open-sans/opensans-regular-webfont.woff2") format("woff2"), url("/themes/custom/firstbus/assets/fonts/open-sans/opensans-regular-webfont.woff") format("woff"), url("/themes/custom/firstbus/assets/fonts/open-sans/opensans-regular-webfont.ttf") format("truetype"), url("/themes/custom/firstbus/assets/fonts/open-sans/opensans-regular-webfont.svg#open_sansregular") format("svg");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Open Sans";
  src: url("/themes/custom/firstbus/assets/fonts/open-sans/opensans-semibold-webfont.eot");
  src: url("/themes/custom/firstbus/assets/fonts/open-sans/opensans-semibold-webfont.eot?#iefix") format("embedded-opentype"), url("/themes/custom/firstbus/assets/fonts/open-sans/opensans-semibold-webfont.woff2") format("woff2"), url("/themes/custom/firstbus/assets/fonts/open-sans/opensans-semibold-webfont.woff") format("woff"), url("/themes/custom/firstbus/assets/fonts/open-sans/opensans-semibold-webfont.ttf") format("truetype"), url("/themes/custom/firstbus/assets/fonts/open-sans/opensans-semibold-webfont.svg#open_sanssemibold") format("svg");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "Open Sans";
  src: url("/themes/custom/firstbus/assets/fonts/open-sans/opensans-bold-webfont.eot");
  src: url("/themes/custom/firstbus/assets/fonts/open-sans/opensans-bold-webfont.eot?#iefix") format("embedded-opentype"), url("/themes/custom/firstbus/assets/fonts/open-sans/opensans-bold-webfont.woff2") format("woff2"), url("/themes/custom/firstbus/assets/fonts/open-sans/opensans-bold-webfont.woff") format("woff"), url("/themes/custom/firstbus/assets/fonts/open-sans/opensans-bold-webfont.ttf") format("truetype"), url("/themes/custom/firstbus/assets/fonts/open-sans/opensans-bold-webfont.svg#open_sansbold") format("svg");
  font-weight: 700;
  font-style: normal;
}
/*
@font-face {
	font-family: 'first-icons';
	src: url('/themes/custom/firstbus/assets/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 {
  overflow: hidden;
}

html.no-scroll-menu,
html.no-scroll-menu body {
  height: 100%;
  overflow: hidden;
  width: 100%;
  position: fixed;
}

body {
  background: #f4f4f4;
  color: #222;
  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: 100% !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: 85%;
}

a {
  color: #222;
  text-decoration: none;
  transition: all 0.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: #222;
  clear: both;
  font-weight: 700;
  padding: 0;
  margin: 0 0 16px 0;
  letter-spacing: -0.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;
}

.journey-planner h2.section-title {
  margin-bottom: 20px;
}

#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: "\e928";
  font-weight: normal;
}

.favouriteoff:before {
  content: "\e929";
}

h2 .favouritesubmit:hover,
h2 .favouritesubmit.favouriteoff {
  color: #d5045f;
}

#sidebar h2 {
  margin-bottom: 16px;
}

h3 {
  font-size: 16px;
  color: #222;
  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;
}

#pageWrapper > h1 {
  position: absolute;
  left: -100000px;
}

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: "“";
}

blockquote:after {
  content: "”";
  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: "";
  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;
}

header#header :focus,
fieldset:focus {
  box-shadow: none;
}

/*
----------------------------------------------------------
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 0.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: left;
  margin-right: 10px;
}

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 0.3s;
}

.location_geo {
  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 0.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 0.2s;
  -webkit-appearance: none;
  border-radius: 2px;
  color: #222;
  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("/themes/custom/firstbus/assets/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: #222;
}

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(/themes/custom/firstbus/assets/img/form-elements/calendar.png) no-repeat center right;
  background-size: 32px 32px;
  color: #222;
}

input[name=mail] {
  background: url(/themes/custom/firstbus/assets/img/form-elements/envelope.png) no-repeat center right;
}

input[name=telephone] {
  background: url(/themes/custom/firstbus/assets/img/form-elements/phone.png) no-repeat center right;
}

input[name=mobile_num] {
  background: url(/themes/custom/firstbus/assets/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(/themes/custom/firstbus/assets/img/form-elements/calendar.png) no-repeat center right;
  background-size: 32px 32px;
  color: #222;
}

/*
----------------------------------------------------------
Modal Box
----------------------------------------------------------
*/
.overlay {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(27, 27, 27, 0.6);
  position: fixed;
  z-index: 9999;
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  align-content: flex-start;
  height: 100vh;
}

.modal {
  font-size: 13.5px;
  position: relative;
  height: auto;
  font-weight: 700;
  overflow: hidden;
  padding: 10px 0;
  background: #fff;
  top: 50%;
  left: 50%;
  width: auto;
  max-width: 320px;
  transform: translateX(-50%) translateY(-50%);
  padding: 20px;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(27, 27, 27, 0.6);
  text-align: center;
}

.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-alert {
  overflow: hidden;
  white-space: pre-wrap;
  line-height: 24px;
  font-size: 13.5px;
  color: #666;
  font-weight: 600;
}

.modal .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 0.2s;
  margin: 0 4px;
  height: 36px;
  color: #f0f0f0;
  width: auto;
}

.modal .btn:last-child {
  background: #d5045f;
}

.modal .btn:hover {
  background: #d5045f;
}

.modal-alert-text {
  margin-bottom: 0;
  display: block;
  clear: both;
  color: #505050;
}

.modal-controls {
  position: relative;
  padding-top: 10px;
}

/*
----------------------------------------------------------
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: "\e126";
  font-size: 20px;
  line-height: 24px;
  float: right;
  font-weight: normal;
}

.micro-menu input:checked + label:after {
  content: "\e906";
}

.micro-menu input:checked + label:before {
  content: "Close Menu";
}

.micro-menu > ul {
  width: 100%;
  margin: 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 0.2s ease;
  height: auto;
}

.micro-menu > ul > li.active-trail > a,
.micro-menu > ul > li a.active,
.micro-menu > ul > li a:hover {
  background: #d5045f;
  color: #fafafa;
}

@media only screen and (max-width: 800px) {
  /* Micro Menu */
  .micro-menu input + label {
    display: block;
  }
  .micro-menu {
    width: 100%;
  }
  .micro-menu > ul {
    display: none;
  }
  .micro-menu input:checked + label + ul {
    display: block;
  }
  .micro-menu > ul > li {
    border-right: none;
    border-bottom: 2px solid rgba(0, 0, 0, 0.1);
  }
  .micro-menu > ul > li,
.micro-menu > ul > li > a {
    width: 100%;
    text-align: left;
  }
}
/*
----------------------------------------------------------
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 h2 {
  margin-bottom: 8px;
}

#sidebar > div#timetable_search p {
  margin: 8px 0 16px 0;
}

div#timetable_search.timetable-search-mini p {
  display: none;
}

@media only screen and (max-width: 500px) {
  div#timetable_search.timetable-search-mini p {
    display: block;
    margin: 0 0 8px 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: #222 !important;
  padding: 4px 16px;
  margin-bottom: 2px;
  line-height: 24px;
  transition: all 0.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;
}

@media only screen and (max-width: 768px) {
  ul#sidebar_navigation li.active.has-children a:after {
    display: none !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: #666;
  font-size: 12px;
  font-weight: 600;
  margin: 0;
}

@media only screen and (max-width: 768px) {
  .breadcrumbs {
    display: none;
  }
}
.breadcrumbs a {
  color: #666;
}

.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;
}

/*
----------------------------------------------------------
Sliders
----------------------------------------------------------
*/
.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 0.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;
}

.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;
}

.news-content p.desc {
  margin: 0;
}

/*
----------------------------------------------------------
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;
}*/
#opco_landing {
  position: relative;
  padding-top: calc(36% + 244px);
}

#top_content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

/*
----------------------------------------------------------
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;
  display: none;
}

#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;
}

.ctrls li.reset {
  clear: both;
}

@media only screen and (max-width: 800px) {
  .ctrls li {
    padding-right: 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: calc(118% - 206px);
  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;
}

div#opco_body .container {
  padding: 0;
}

table.departure-content .custom-icon-route {
  display: block;
  width: 22px;
  height: 22px;
}

@media only screen and (max-width: 960px) {
  .fg-nb-wrap {
    display: none !important;
  }
  #opco_landing {
    padding-top: calc(55% + 450px);
  }
  div#opco_body .container {
    padding: 0 12px;
  }
}
#opco_body {
  margin-bottom: 30px;
}

#opco_body .container :last-child {
  margin-bottom: 0;
}

/*
----------------------------------------------------------
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 table {
  border: 1px solid rgba(0, 0, 0, 0.2);
}

#ticket_disp tr {
  border-bottom: 1px dashed #ccc;
}

#ticket_disp tbody tr:last-child {
  border-bottom: none;
}

#ticket_disp td,
#ticket_disp th {
  padding: 10px;
}

#ticket_disp th {
  font-weight: 700;
  color: #00b09a;
}

#ticket_disp td {
  vertical-align: middle;
}

#ticket_disp td:last-child {
  width: 510px;
}

.ticket_inner table td:first-child {
  font-weight: 700;
}

#ticket_disp div.avail {
  display: block;
  float: left;
  margin-left: 10px;
  width: 90px;
  text-align: center;
}

#ticket_disp div.avail:first-child {
  margin-left: 0;
}

#ticket_disp div.avail [class^=custom-icon-]:before,
#ticket_disp div.avail [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 div.avail a[class^=custom-icon-]:before,
#ticket_disp div.avail a[class*=" custom-icon-"]:before {
  color: #00b09a;
}

#ticket_disp div.avail [class^=custom-icon-],
#ticket_disp div.avail [class*=" custom-icon-"] {
  display: block;
  margin: 0 auto;
  width: 28px;
  height: 28px;
  font-size: 0;
}

#ticket_disp div.avail .price {
  display: inline-block;
}

#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;
  display: none;
}

#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;
}

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;
}

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;
}

.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;
}

/*
----------------------------------------------------------
Timetables
----------------------------------------------------------
*/
.summary {
  background: #212b55;
  margin-bottom: 20px;
  position: relative;
  width: 100%;
  overflow: hidden;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  border-left: 1px solid #222c54;
  border: 1px solid #222c54;
}

.summary h2 {
  font-size: 24px;
  display: block;
  width: 100%;
  color: #fff;
  margin: 0;
  padding: 12px 0;
  margin: 0;
  padding: 12px 20px;
  box-shadow: 0 5px 5px -5px #333;
  z-index: 1;
}

.summary .route {
  display: block;
  margin: 0;
}

.summary .route p {
  width: 100%;
  display: block;
  color: #222c54;
  background: #fff;
  padding: 12px 20px;
  margin: 0;
  font-weight: 600;
}

@media only screen and (max-width: 960px) {
  .summary .route p,
.summary h2 {
    padding: 8px 10px;
  }
}
h4.noline {
  display: none;
}

#content ul.timetables,
ul.timetables {
  margin: 0;
  background: #fff;
  padding: 0;
}

#content ul.timetables li:before {
  display: none;
}

ul.timetables li a:first-of-type {
  color: #212B55 !important;
  font-weight: 700 !important;
  display: inline-block;
  vertical-align: top;
  position: relative;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' width='32' height='32' viewBox='0 0 32 32' data-tags='calendar,date,schedule'%3E%3Cg fill='%23212b55' transform='scale%280.03125 0.03125%29'%3E%3Cpath d='M938.688 96h-138.688v-64c0-17.696-14.304-32-32-32s-32 14.304-32 32v64h-192v-64c0-17.696-14.336-32-32-32s-32 14.304-32 32v64h-192v-64c0-17.696-14.336-32-32-32s-32 14.304-32 32v64h-138.656c-47.136 0-85.344 38.176-85.344 85.312v757.344c0 47.136 38.208 85.344 85.344 85.344h853.344c47.136 0 85.312-38.208 85.312-85.344v-757.344c0-47.136-38.176-85.312-85.312-85.312zM960 938.656c0 11.776-9.568 21.344-21.312 21.344h-853.344c-11.776 0-21.344-9.568-21.344-21.344v-757.344c0-11.744 9.568-21.312 21.344-21.312h138.656v64c0 17.696 14.336 32 32 32s32-14.304 32-32v-64h192v64c0 17.696 14.336 32 32 32s32-14.304 32-32v-64h192v64c0 17.696 14.304 32 32 32s32-14.304 32-32v-64h138.688c11.744 0 21.312 9.568 21.312 21.312v757.344zM224 384h128v96h-128zM224 544h128v96h-128zM224 704h128v96h-128zM448 704h128v96h-128zM448 544h128v96h-128zM448 384h128v96h-128zM672 704h128v96h-128zM672 544h128v96h-128zM672 384h128v96h-128z'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 17px 17px;
  background-position: left 2px;
  background-repeat: no-repeat;
  padding-left: 23px;
  padding-right: 20px;
}

ul.timetables li a:first-of-type:before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -6px;
  width: 16px;
  height: 16px;
  background-size: 14px 14px;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg transform='scale%280.02125 0.02125%29'%3E%3Cpath d='M469.344 170.656q17.664 0 30.016 12.32l298.656 298.656q12.672 12.672 12.672 30.336t-12.672 30.336l-298.656 298.656q-12.32 12.32-30.016 12.32t-30.176-12.512-12.512-30.176q0-18.016 12.32-30.336l268.32-268.32-268.32-268.32q-12.32-12.32-12.32-30.336 0-18.336 12.16-30.496t30.496-12.16zM213.344 170.656q17.664 0 30.016 12.32l298.656 298.656q12.672 12.672 12.672 30.336t-12.672 30.336l-298.656 298.656q-12.32 12.32-30.016 12.32t-30.176-12.512-12.512-30.176q0-18.016 12.32-30.336l268.32-268.32-268.32-268.32q-12.32-12.32-12.32-30.336 0-18.336 12.16-30.496t30.496-12.16z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
}

ul.timetables li a:first-of-type:hover {
  color: #212B55;
}

ul.timetables li a:hover {
  text-decoration: underline;
}

ul.timetables li a:last-of-type {
  position: absolute;
  display: block;
  float: right;
  padding: 0 0 0 20px;
  font-size: 12px;
  font-family: inherit;
  line-height: 24px;
  font-weight: 600;
  right: 20px;
  top: 50%;
  margin-top: -12px;
}

ul.timetables li a:last-of-type:hover {
  color: #d5045f !important;
  text-decoration: underline !important;
}

ul.timetables li a:last-of-type:hover:before {
  color: #d5045f !important;
}

@media only screen and (max-width: 840px) {
  ul.timetables li {
    padding: 10px 10px 36px 10px !important;
  }
  ul.timetables li a:last-of-type {
    bottom: 10px;
    left: 0;
    margin-top: 0;
    right: auto;
    /* height: 24px; */
    top: auto;
    left: 10px;
  }
}
ul.timetables li a:last-of-type:before {
  font-size: 16px;
  position: absolute;
  left: 0;
  top: 0px;
}

ul.timetables li span.validity {
  float: none;
  display: block;
  width: 100%;
  font-size: 90%;
  clear: both;
  margin-right: 0;
}

ul.timetables li {
  list-style: none;
  margin: 0;
  padding: 12px 20px;
  position: relative;
  border-top: 1px solid #e2e2e2;
  overflow: hidden;
  background-position: 0 13px;
}

a.custom-icon-pdf {
  width: auto !important;
  font-size: 0;
  float: right;
  position: relative;
}

ul#ukbus_nav_tabs {
  list-style: none;
  margin: 0 0 20px 0;
  padding: 35px 0px 7px 0px;
  position: relative;
  left: -20px;
  width: calc(100% + 40px);
  background: #f4f4f4;
}

ul#ukbus_nav_tabs:first-child {
  margin-top: -20px;
  padding-top: 12px;
}

.pagename-timetables main#content > h2:first-child {
  display: none;
}

ul#ukbus_nav_tabs li {
  display: inline-block;
}

ul#ukbus_nav_tabs li a {
  background: #0c376e;
  padding: 15px 20px;
  font-weight: 700;
  color: #fff;
}

ul#ukbus_nav_tabs li.highlight a {
  background: #d5045f;
}

ul#ukbus_nav_tabs li a:hover,
ul#ukbus_nav_tabs li a:focus {
  text-decoration: underline;
}

/* Timetable Icons */
.timetable-icons {
  display: block;
  width: 100%;
  clear: both;
}

#content .timetable-icons ul {
  list-style: none;
  padding: 0;
  width: 100%;
  margin: 0;
  text-align: left;
}

#content .timetable-icons ul li {
  display: inline-block;
  text-align: left;
  width: auto;
  position: relative;
  vertical-align: top;
  margin-bottom: 4px;
}

#content .timetable-icons ul li:before {
  display: none;
}

#content .timetable-icons ul li a {
  font-size: 13px;
  display: block;
  border: 1px solid #0a396c;
  padding: 8px 20px 8px 40px;
  position: relative;
  border-radius: 3px;
  color: #0a396c;
  font-weight: 700;
}

#content .timetable-icons ul li a:hover {
  border-color: #aaa;
  text-decoration: none;
  background: #ddd;
}

#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: 16px !important;
  position: absolute;
  left: 16px;
}

#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;
}

#content .timetable-icons ul li.timetable-routemap a:before {
  font-family: first-icons;
  content: "\e605";
  content: "\e91c";
}

.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 .first:after,
.resultsNavTop .last:after,
.resultsNavTop .next:after,
.resultsNavTop .prev:after {
  display: block;
  width: 26px;
  height: 31px;
  content: "";
  background-repeat: no-repeat;
  background-size: 20px 20px;
  background-position: center center;
}

.resultsNavTop a.first:after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg transform='scale%280.0234375 0.0234375%29' style='fill:%23222c54'%3E%3Cpath d='M256 256h86v512h-86v-512zM786 708l-60 60-256-256 256-256 60 60-196 196z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
}

.resultsNavTop a.last:after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg transform='scale%280.0234375 0.0234375%29' style='fill:%23222c54'%3E%3Cpath d='M682 256h86v512h-86v-512zM238 316l60-60 256 256-256 256-60-60 196-196z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
}

.resultsNavTop a.prev:after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' width='24' height='24' viewBox='0 0 24 24' data-code='58132' data-tags='keyboard_arrow_left'%3E%3Cg fill='%23222c54' transform='scale%280.0234375 0.0234375%29'%3E%3Cpath d='M658 686l-60 60-256-256 256-256 60 60-196 196z'/%3E%3C/g%3E%3C/svg%3E");
}

.resultsNavTop a.next:after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' width='24' height='24' viewBox='0 0 24 24' data-code='58133' data-tags='keyboard_arrow_right'%3E%3Cg fill='%23222c54' transform='scale%280.0234375 0.0234375%29'%3E%3Cpath d='M366 698l196-196-196-196 60-60 256 256-256 256z'/%3E%3C/g%3E%3C/svg%3E");
}

.resultsNavTop a,
.resultsNavTop .first a,
.resultsNavTop .last a,
.resultsNavTop .next a,
.resultsNavTop .prev a,
.resultsNavTop span {
  color: #222c54 !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;
  line-height: 32px;
  text-decoration: none !important;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s;
  border-radius: 2px;
  background: #fff;
  border: 1px solid #222c54;
  padding: 0 4px;
  min-width: 34px;
}

.resultsNavTop span.active_page {
  background-color: #222c54;
  color: #fff !important;
}

/* Timetable Single Page */
span#service_number {
  font-size: inherit;
}

span#valid_dates {
  font-weight: 400;
  font-size: 14px;
  margin: 0;
  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 {
  margin: 10px 0;
}

#pageWrapper #content .timetable-links li:before {
  display: none;
}

#pageWrapper #content .timetable-links ul li a,
#pageWrapper #content .timetable-links ul li p {
  height: auto;
}

#pageWrapper #content .timetable-links li p {
  margin: 0;
  background: #0a396c;
  color: #fff;
}

#pageWrapper #content .timetable-links li a {
  border-color: #0a396c;
  color: #0a396c;
}

@media only screen and (min-width: 895px) {
  #pageWrapper #content .timetable-links ul {
    display: flex;
  }
  #pageWrapper #content .timetable-links li {
    display: flex;
    flex: 1;
    margin-right: 20px !important;
    margin-bottom: 20px !important;
  }
  #pageWrapper #content .timetable-links li:last-child {
    margin-right: 0 !important;
  }
  #pageWrapper #content .timetable-links ul li a,
#pageWrapper #content .timetable-links ul li p {
    display: flex;
    height: auto;
    align-items: center;
    justify-content: center;
  }
}
span.bodytext {
  font-weight: 600;
  font-size: 14px;
  display: inline-block;
  margin-top: -10px;
  line-height: 26px;
  color: #0a396c;
}

.timetable-route span.validity {
  display: block;
  padding: 10px 0;
  font-weight: 700;
  font-size: 16px;
  color: #0a396c;
}

.timetable-route,
.timetable_menu {
  display: inline-block;
  width: 100%;
  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 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;
}

form#timetable-search_inline {
  position: relative;
  padding-right: 170px;
  margin-bottom: 20px;
}

#timetable-search_inline input[type=submit] {
  width: auto;
  position: absolute;
  right: 0;
  top: 0;
}

.pagename-timetables .table-scroller {
  border: 1px solid #0a396c !important;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}

.pagename-timetables table {
  border-top-left-radius: 5px;
}

.pagename-timetables .table-scroller {
  border: 1px solid #0a396c !important;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}

.pagename-timetables tr {
  border-bottom: 1px solid #e5e5e5;
}

.pagename-timetables tbody tr td:first-child {
  border-right: 1px solid #e5e5e5;
  color: #0b386d;
  font-weight: 700 !important;
}

.pagename-timetables thead tr:first-child {
  border: none !important;
}

.pagename-timetables thead tr:first-child th {
  background: #0b386d !important;
  color: #fff !important;
}

.pagename-timetables thead tr:first-child th:first-of-type {
  border-top-left-radius: 5px;
}

.pagename-timetables thead tr:first-child th:last-of-type {
  border-top-right-radius: 5px;
}

.pagename-timetables tbody tr td {
  color: #333;
}

.time-container + input[type=submit] {
  background: #d6065e !important;
  float: right;
  margin-top: -42px;
}

@media only screen and (min-width: 960px) {
  .tt-col-full {
    width: calc((100% - 20px) / 2);
    float: left;
    position: relative;
    margin: 0 20px 20px 0;
  }
  .tt-col-full + .tt-col-full {
    margin-right: 0;
  }
  .tt-col-full label {
    padding-top: 0;
    margin-top: 0 !important;
  }
  .time-container {
    overflow: hidden;
    display: block;
    float: left;
    width: calc((100% - 20px) / 2);
    margin: 0 0 20px 20px;
  }
  .time-container label {
    padding-top: 0;
    margin-top: 0 !important;
  }
  .time-container select {
    /*          width: calc((100% - 20px) / 2)!important; */
  }
  .time-container + input[type=submit] {
    margin-top: -62px;
    position: relative;
    float: right;
  }
}
.full-timetable a {
  color: #d7095d;
}

@media only screen and (max-width: 959px) {
  .full-timetable {
    margin-top: 20px;
    display: block;
  }
}
@media only screen and (max-width: 500px) {
  form#timetable-search_inline {
    position: relative;
    padding-right: 0;
  }
  #timetable-search_inline input[type=submit] {
    position: relative;
    width: 100%;
    right: auto;
    top: auto;
    margin-top: 10px;
  }
}
.branded-header .fg-quicklinks {
  display: none;
}

/*
----------------------------------------------------------
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;
}

.form-suffix-block {
  float: left;
  clear: both;
  width: 100%;
  max-width: 400px;
}

.search-results li {
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

p.search-snippet {
  margin: 0;
}

/*
----------------------------------------------------------
Routemaps
----------------------------------------------------------
*/
#content .view-network-maps h3 {
  border-bottom: 1px solid #d5045f;
  padding-bottom: 12px;
  margin-bottom: 20px;
}

.no-area .nm-call {
  position: relative;
  margin: 0 0 10px 0;
}
@media only screen and (min-width: 768px) {
  .no-area .nm-call {
    width: calc(50% - 10px);
    float: left;
    margin: 0 20px 20px 0;
  }
  .no-area .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 0.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:before {
  display: none !important;
}

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("/themes/custom/firstbus/assets/img/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;
}

/*
----------------------------------------------------------
Special Salesforce forms
----------------------------------------------------------
*/
form#c_form.sf ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

form#c_form.sf h2,
form#c_form.sf h2 span {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 12px 0;
}

form#c_form.sf label {
  font-weight: 600;
  font-size: 13.5px;
  line-height: normal;
}

form#c_form.sf label.after {
  display: inline-block;
  width: calc(100% - 25px);
}

form#c_form.sf ul li {
  float: left;
  margin: 0 0 20px 0;
  width: calc(50% - 10px);
}

form#c_form.sf ul li.required label:after {
  content: " *";
  color: #D12F19;
}

form#c_form.sf ul li.required span label:after {
  content: none;
}

form#c_form.sf ul li.clear {
  clear: both;
}

form#c_form.sf ul li.fullwidth {
  width: 100%;
}

form#c_form.sf ul li.left,
form#c_form.sf ul.issue-details li:nth-child(odd) {
  margin-right: 20px !important;
}

form#c_form.sf ul li:before {
  display: none;
}

form#c_form.sf ul li p {
  margin: 20px 0 0;
}

form#c_form.sf ul li input[type=text],
form#c_form.sf ul li input[type=email],
form#c_form.sf ul li input[type=phone],
form#c_form.sf ul li textarea {
  width: 100%;
  margin: 0;
}

form#c_form.sf ul li input[type=radio],
form#c_form.sf ul li input[type=checkbox] {
  margin-top: 6px;
  vertical-align: top;
}

form#c_form.sf ul li.title {
  width: 100px;
  margin-right: 20px;
}

form#c_form.sf ul li.title + li.first_name {
  width: calc(50% - 130px);
}

form#c_form.sf ul li.postcode input[type=text] {
  width: calc(100% - 120px);
  display: inline-block;
  margin-right: 20px;
}

form#c_form.sf ul li.postcode a {
  width: 100px;
  display: block;
  float: right;
  padding: 8px 10px;
  margin-top: -6px;
}

form#c_form.sf ul li.postcode a:hover {
  text-decoration: none;
}

form#c_form.sf ul li textarea {
  height: 150px;
}

form#c_form.sf ul li.address-select {
  background-color: #DAEDD7;
}

form#c_form.sf ul li.address-select label {
  color: green;
}

form#c_form.sf ul li.text-area {
  height: auto;
  width: 100%;
}

form#c_form.sf ul li:last-child:nth-child(odd):visible {
  width: 100% !important;
}

form#c_form.sf ul li.contacting-you,
form#c_form.sf ul li.security {
  height: auto;
  margin: 0;
}

form#c_form.sf ul li.contacting-you:last-child,
form#c_form.sf ul li.security:last-child {
  margin: 0 0 12px 0;
}

form#c_form.sf ul li.security input {
  width: 50px;
}

form#c_form.sf ul li div.message {
  position: absolute;
  bottom: -12px;
  line-height: 12px;
}

form#c_form.sf ul li.fullwidth div.message {
  position: static;
}

@media only screen and (max-width: 450px) {
  form#c_form.sf ul li {
    width: 100%;
  }
  form#c_form.sf ul li.first_name {
    width: calc(100% - 120px);
  }
  form#c_form.sf ul li.left,
form#c_form.sf ul.issue-details li:nth-child(odd) {
    margin-right: 0 !important;
  }
}
form#c_form.sf p:empty,
form#c_form.sf ul li label + br {
  display: none;
}

/*
----------------------------------------------------------
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: "\ea0c";
  font-family: first-icons;
}

.change:before {
  content: "\ea0c";
  font-family: first-icons;
}

.delay:before {
  content: "\e930";
  font-family: first-icons;
}

.roadworks:before {
  content: "\ea0b";
  font-family: first-icons;
}

.weather:before {
  content: "\e913";
  font-family: first-icons;
}

.incident:before {
  content: "\ea0b";
  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;
  padding: 0;
}

#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 0.3s ease;
}

#content .site-map li a {
  padding: 8px 0 8px 16px;
  display: block;
  color: #777;
  transition: all 0.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% 20px 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#greyhound {
  background: transparent url("/themes/custom/firstbus/assets/img/greyhound-bg.jpg") no-repeat center center;
  background-size: cover;
}

.corporate-link#greyhound:after {
  content: "Greyhound";
}

.corporate-link#firststudent {
  background: transparent url("/themes/custom/firstbus/assets/img/firststudent-bg.jpg") no-repeat center center;
  background-size: cover;
}

.corporate-link#firststudent:after {
  content: "First Student";
}

.corporate-link#firsttransit {
  background: transparent url("/themes/custom/firstbus/assets/img/firsttransit-bg.jpg") no-repeat center center;
  background-size: cover;
  margin-right: 0;
}

.corporate-link#firsttransit:after {
  content: "First Transit";
}

.corporate-link#greatwestern {
  background: transparent url("/themes/custom/firstbus/assets/img/greatwestern-bg.jpg") no-repeat center center;
  background-size: cover;
}

.corporate-link#greatwestern:after {
  content: "Great Western Railway";
}

.corporate-link#pennineexpress {
  background: transparent url("/themes/custom/firstbus/assets/img/pennineexpress-bg.jpg") no-repeat center center;
  background-size: cover;
}

.corporate-link#pennineexpress:after {
  content: "First TransPennine Express";
}

.corporate-link#hullexpress {
  background: transparent url("/themes/custom/firstbus/assets/img/hullexpress-bg.jpg") no-repeat center center;
  background-size: cover;
}

.corporate-link#hullexpress:after {
  content: "First Hull Trains";
}

.corporate-link#avanti {
  background: transparent url("/themes/custom/firstbus/assets/img/avanti-bg.jpg") no-repeat center center;
  background-size: cover;
}

.corporate-link#avanti:after {
  content: "Avanti West Coast";
}

.corporate-link#swr {
  background: transparent url("/themes/custom/firstbus/assets/img/swr-bg.jpg") no-repeat center center;
  background-size: cover;
}

.corporate-link#swr:after {
  content: "South Western Railway";
}

.corporate-link:nth-child(3n) {
  margin-right: 0;
}

.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 #edit-comment p:nth-of-type(3) {
  margin: 20px 0 0;
}

.page-user-password #content p {
  margin: 20px 0 0;
}

.page-user-register #content p.app-user-hint {
  margin: 20px 0;
  padding-top: 20px;
  padding-bottom: 20px;
}

.page-user-login #content #edit-comment p:nth-of-type(3),
.page-user-password #content p.app-user-hint,
.page-user-register #content p.app-user-hint {
  padding-left: 50px;
  background: url("/themes/custom/firstbus/assets/img/icons/front-phone-jaunty.png");
  background-position: left center;
  background-size: 40px 61px;
  background-repeat: no-repeat;
}

.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: 10000;
  background: #005AA7;
  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;
  text-align: center;
}

div#cookieBanner a {
  color: #fff;
  font-weight: 600;
  text-decoration: underline;
}

div#cookieBanner a:hover {
  color: #e0e0e0;
  text-decoration: none;
}

div#cookieBanner .container {
  position: relative;
}

body div#cookieBanner button {
  display: block;
  margin: 4px auto 0px;
  background: #f7a800 !important;
  padding: 3px 10px;
  color: #252525 !important;
  text-decoration: none;
}

/*
----------------------------------------------------------
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;
}

.faq {
  position: relative;
  background: #f5f5f5 !important;
  margin: 0 0 10px 0;
  overflow: hidden;
}

.faq > button {
  background: #f5f5f5 !important;
  border: none;
  border-radius: 0;
  padding: 14px 40px 14px 20px;
  width: 100%;
  text-align: left;
  height: auto;
  line-height: 24px;
  color: #222 !important;
  font-weight: 600;
  position: relative;
  border-bottom: 1px solid #e0e0e0 !important;
}

.faq > button:focus {
  box-shadow: none !important;
}

.faq > div {
  height: 0;
  overflow: hidden;
  background: #f7f7f7;
  position: relative;
  padding: 0 20px;
}

.faq > div > :last-child {
  margin-bottom: 0;
}

.faq > button:after {
  font-family: first-icons;
  font-weight: normal;
  content: "\e93c";
  position: absolute;
  right: 20px;
  top: 16px;
  font-size: 20px;
  color: #d5045f !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;
}

.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: "\e88a";
}

.custom-icon-student:before {
  content: "\e91e";
}

.custom-icon-phone:before {
  content: "\e918";
}

.custom-icon-etickets:before {
  content: "\e607";
}

.custom-icon-mtickets:before {
  content: "\e608";
}

.custom-icon-pay-point:before {
  content: "\e604";
}

.custom-icon-paypoint:before {
  content: "\e915";
}

.custom-icon-route:before {
  content: "\e605";
  font-size: 22px;
}

.custom-icon-contactless:before {
  content: "\e937";
  font-size: 38px;
  top: -8px;
  position: relative;
}

/*
----------------------------------------------------------
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";
}

span.file a {
  color: #d5045f;
  font-weight: 600;
  position: relative;
  padding: 6px 0 6px 24px;
  display: block;
}
span.file a:before {
  font-family: first-icons;
  font-weight: normal;
  font-size: 18px;
  padding-right: 8px;
  color: #d5045f;
  position: absolute;
  left: 0;
  top: 5px;
}
span.file + span {
  display: none;
}
span.file--application-pdf a:before {
  content: "\eade";
}
span.file--x-office-document a:before {
  content: "\eae0";
}
span.file--text-plain a:before {
  content: "\eae2";
}

.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=""]) {
  position: relative;
}

[data-tooltip]:not([data-tooltip=""]):hover:after {
  display: block;
  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 16px;
  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: #222;
  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: "\e90e";
	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 !important;
}

div.messages ul li {
  list-style-type: none;
}

div.messages ul li:before {
  content: none !important;
}

/*
----------------------------------------------------------
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: 20px 20px;
  background-position: 100%;
}

.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 0.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: "\f104";
  font-size: 14px;
  font-weight: normal;
  cursor: pointer;
}

.ui-datepicker .ui-datepicker-next:before {
  content: "\f105";
}

.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 0.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 {
  display: flex;
  justify-content: center;
}

.ui-datepicker .ui-datepicker-title select {
  line-height: 21px;
  height: 23px;
  background-size: 23px 23px;
  padding: 0 20px 2px 0;
  float: left;
}

.ie9 .ui-datepicker .ui-datepicker-title select {
  background-image: none;
  padding-right: 0;
  background-color: #fafafa;
}

/*
----------------------------------------------------------
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: hidden;
  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;
}

body:not(.pagename-timetable) #content .table-scroller tr:nth-of-type(odd) {
  background: rgba(0, 0, 0, 0.04);
}

body:not(.pagename-timetable) #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: 8px;
} */
/*.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;
}*/
.table-scroller {
  overflow-y: hidden;
}

.table-scroller::-webkit-scrollbar {
  visibility: visible;
}

.table-scroller::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  height: 8px;
}

.table-scroller::-webkit-scrollbar-thumb {
  background: #D5045F;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5);
  height: 8px;
}

.table-scroller::-webkit-scrollbar-thumb:window-inactive {
  background: rgba(255, 0, 0, 0.4);
  height: 8px;
}

.pagename-timetables h4 + .table-scroller {
  border: 1px solid #e5e5e5 !important;
  border-bottom: none !important;
}

/*
----------------------------------------------------------
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 0.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;
}

/*
----------------------------------------------------------
Custom Template Overrides
----------------------------------------------------------
*/
.template_header {
  padding: 30px 0 0 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 142px;
  border-bottom: 1px solid #e0e0e0;
  margin: 0;
}

.single-order-details li span {
  width: 130px;
  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;
}

/* Personal / Delivery / Billing Details */
.order-user-details {
  width: 450px;
  max-width: 100%;
  float: left;
}

.order-user-details.personal {
  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);
  }
}
/* 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(/themes/custom/firstbus/assets/img/opcos/berks-thames/railair/rail-air-logo.png) no-repeat center center;
  background-size: 90px 25px;
}

.rail-air-left-icon + div {
  margin-top: 40px;
}

/*
----------------------------------------------------------
Sidebar etickets links
----------------------------------------------------------
*/
#sidebar > div#etickets_link,
#sidebar > div#mtickets_link {
  padding: 0;
}

#etickets_link a {
  display: block;
  padding: 12px 20px 12px 70px;
  color: #fff;
  background: #d5045f;
  position: relative;
}

#etickets_link a:hover,
#mtickets_link a:hover {
  text-decoration: none;
}

div#mtickets_link:after,
#etickets_link a:after {
  font-family: first-icons;
  content: "\e607";
  position: absolute;
  left: 12px;
  top: 12px;
  font-size: 26px;
  color: #fafafa;
}

div#mtickets_link:before,
#etickets_link a:before {
  content: "";
  display: block;
  width: 48px;
  height: 48px;
  background: rgba(0, 0, 0, 0.2);
  position: absolute;
  left: 0;
  top: 0;
}

div#mtickets_link:after {
  content: "\e608";
}

div#mtickets_link:before {
  height: 100%;
}

div#mtickets_link {
  position: relative;
  padding: 12px 20px 15px 70px !important;
  font-weight: 300;
  font-size: 18px;
  line-height: 28px;
  background: #d5045f;
  color: #fff;
}

div#mtickets_link a {
  width: auto;
  height: 40px;
  margin: 0 0 5px 0;
  display: block;
}

div#mtickets_link a img {
  width: auto;
  height: 40px;
}

div#mtickets_link div a:first-of-type {
  margin-top: 15px;
}

div#mtickets_link div > img {
  width: 55px;
  height: auto;
  position: absolute;
  right: 20px;
  bottom: 20px;
}

@media only screen and (max-width: 600px) {
  div#mtickets_link {
    position: relative;
    padding: 8px 10px 5px 60px !important;
    font-weight: 300;
    font-size: 18px;
    line-height: 28px;
    background: #d5045f;
    color: #fff;
  }
  #etickets_link a {
    padding-left: 60px;
  }
  /*
  	div#mtickets_link div > img {
  		width: 66px;
  		height: auto;
  		position: absolute;
  		right: 10px;
  		top: 50px;
  	}*/
}
@media only screen and (max-width: 350px) {
  div#mtickets_link div > img {
    display: none;
  }
}
/* Responsive video */
.fg-responsive-video {
  position: relative;
  height: 0;
  padding-bottom: 56%;
  width: 100%;
}

.fg-responsive-video > iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.page-opco-0 .ways-to-travel {
  position: relative;
  background: #f7f7f7;
  padding: 80px 20px 20px 20px;
}

.page-opco-0.pagename-get-bus-less-fuss .ways-to-travel h2 {
  display: block;
  float: left;
  position: relative;
  width: 25%;
  background: #d5045f;
  padding: 12px 0;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
  margin: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.2);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.5px;
  cursor: pointer;
}

.page-opco-0.pagename-get-bus-less-fuss .ways-to-travel h2.active {
  background: #e0e0e0;
  color: #222;
}

.page-opco-0.pagename-get-bus-less-fuss .ways-to-travel h2:nth-of-type(2) {
  left: 25%;
}

.page-opco-0.pagename-get-bus-less-fuss .ways-to-travel h2:nth-of-type(3) {
  left: 50%;
}

.page-opco-0.pagename-get-bus-less-fuss .ways-to-travel h2:nth-of-type(4) {
  left: 75%;
}

.page-opco-0 .custom-panel > :last-child {
  margin-bottom: 0;
}

.page-opco-0 .custom-panel p:first-child {
  font-size: 18px;
  line-height: 32px;
}

.page-opco-0.pagename-get-bus-less-fuss #content > ul {
  margin: 0;
  padding: 0;
  border-top: 1px solid #e5e5e5;
  border-left: 1px solid #e5e5e5;
  margin: 0 0 40px 0;
}

.page-opco-0.pagename-get-bus-less-fuss #content > ul li {
  display: block;
  width: 33.3333333333%;
  float: left;
  position: relative;
}

.page-opco-0.pagename-get-bus-less-fuss #content > ul li a {
  display: block;
  padding: 12px;
  border-right: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
}

.page-opco-0.pagename-get-bus-less-fuss #content > ul li a:before {
  content: "\e94b";
  font-family: first-icons;
  margin-right: 12px;
  position: relative;
  top: 1px;
}

.page-opco-0.pagename-get-bus-less-fuss #content > ul li a:hover {
  background: #f7f7f7;
  text-decoration: none;
}

.page-opco-0.pagename-get-bus-less-fuss #content > ul li:before {
  display: none;
}

.page-opco-0.pagename-get-bus-less-fuss {
  background: rgb(38, 32, 69);
}

.page-opco-0.pagename-get-bus-less-fuss #main {
  padding-right: 0 !important;
  max-width: 960px;
}

.page-opco-0.pagename-get-bus-less-fuss main#content {
  padding-right: 20px !important;
}

.page-opco-0.pagename-get-bus-less-fuss:not(.node-type-opco-page) #main:before {
  content: "";
  display: inline-block;
  background: url(/themes/custom/firstbus/assets/img/less-fuss-page-top-all.gif) no-repeat center center;
  background-size: 100% auto;
  width: 100%;
  padding-bottom: 14%;
  max-width: 100%;
  margin-bottom: -40px;
}

@media only screen and (max-width: 960px) {
  .page-opco-0.pagename-get-bus-less-fuss #main {
    padding-right: 20px !important;
  }
}
@media only screen and (max-width: 768px) {
  .page-opco-0.pagename-get-bus-less-fuss #main {
    padding-right: 10px !important;
  }
  .page-opco-0.pagename-get-bus-less-fuss #main:before {
    margin-bottom: 20px;
  }
  .page-opco-0.pagename-get-bus-less-fuss #content > ul li {
    width: 50%;
  }
  .page-opco-0 .ways-to-travel {
    padding-top: 132px;
  }
  .page-opco-0.pagename-get-bus-less-fuss .ways-to-travel h2 {
    width: 50%;
  }
  .page-opco-0.pagename-get-bus-less-fuss .ways-to-travel h2:nth-of-type(2) {
    left: 50%;
  }
  .page-opco-0.pagename-get-bus-less-fuss .ways-to-travel h2:nth-of-type(3) {
    top: 52px;
    left: 0;
  }
  .page-opco-0.pagename-get-bus-less-fuss .ways-to-travel h2:nth-of-type(4) {
    left: 50%;
    top: 52px;
  }
  .page-opco-0.pagename-get-bus-less-fuss #content {
    margin-top: 60px !important;
  }
}
@media only screen and (max-width: 380px) {
  .page-opco-0.pagename-get-bus-less-fuss #content > ul li {
    width: 100%;
  }
}
/* Bus wi-fi pages */
.pagename-bus-wi-fi .breadcrumbs {
  display: none;
}

.pagename-bus-wi-fi .template_header img {
  margin: 30px 0 0 0 !important;
}

.pagename-bus-wi-fi .row-bottom {
  position: relative;
  margin: 0 0 30px 0;
}

.pagename-bus-wi-fi #content .micro-block .news-content h3 {
  margin-bottom: 5px;
}

.pagename-bus-wi-fi a.more-news {
  position: absolute;
  top: 3px;
  right: 0;
  font-weight: 700;
  color: #d5045f;
}

.pagename-bus-wi-fi .news-panel-summary {
  padding: 0;
  background: none;
  margin-bottom: 24px;
  float: left;
  position: relative;
  margin-bottom: 0;
}

@media only screen and (max-width: 960px) {
  body.pagename-bus-wi-fi {
    padding-top: 0;
  }
}
.page-node-116381 .fg-row,
.page-node-43621 .fg-row,
.pagename-pulse .fg-row {
  position: relative;
}

.page-node-116381 .fg-col-2,
.page-node-43621 .fg-col-2,
.pagename-pulse .fg-col-2 {
  width: 100%;
  float: left;
  position: relative;
  padding-left: 80px;
  min-height: 100px;
  margin-bottom: 20px;
}

.page-node-116381 .fg-col-2:last-of-type,
.page-node-43621 .fg-col-2:last-of-type,
.pagename-pulse .fg-col-2:last-of-type {
  margin-bottom: 0;
}

.page-node-116381 .fg-col-2 p:first-of-type,
.page-node-43621 .fg-col-2 p:first-of-type,
.pagename-pulse .fg-col-2 p:first-of-type {
  margin: 0;
}

.page-node-116381 .fg-col-2 > *:last-child,
.page-node-43621 .fg-col-2 > *:last-child,
.pagename-pulse .fg-col-2 > *:last-child {
  margin-bottom: 0;
}

.page-node-116381 .fg-col-2 img,
.page-node-43621 .fg-col-2 img,
.pagename-pulse .fg-col-2 img {
  display: block;
  clear: both;
  position: absolute;
  left: 0;
  top: 5px;
  width: 60px !important;
  height: auto !important;
}

.page-node-116401 table th,
.page-node-116401 table td,
.page-node-43671 table th,
.page-node-43671 table td,
.page-node-43571 table th,
.page-node-43571 table td {
  width: 33.333333%;
}

@media only screen and (max-width: 786px) {
  .pagename-pulse .fg-col-2 {
    width: 100%;
    margin-right: 0;
  }
}
a.token-app-link {
  display: inline-block;
  height: 44px;
}

a.token-app-link img {
  height: 100%;
}

/*


.micro-menu > ul > li:first-child {
	display: block;
	width: 100%;
	position: relative;
}

.micro-menu > ul > li:first-child a {
	display: block;
	float: left;
	width: auto;
}

.micro-menu > ul > li:first-child > ul {
	display: block;
}*/
.search-result-url {
  margin-bottom: 10px;
  font-size: 12px;
}

.search-result h3.title {
  margin: 0 !important;
}

.search-result h3.title a {
  color: #222 !important;
}

.pagename-next-bus .news-section {
  margin: 20px 0 0 0;
}

.opco-quick-links {
  list-style-type: none;
  margin: 0 0 40px 0 !important;
  padding: 0;
}

div.table-scroller + .opco-quick-links {
  margin: 0 0 20px 0 !important;
}

.opco-quick-links li {
  margin: 0 0 4px 0;
}

@media only screen and (min-width: 895px) {
  .opco-quick-links li {
    width: calc((100% - 40px) / 3);
    float: left;
    position: relative;
    margin: 0 20px 4px 0;
  }
  .opco-quick-links li:nth-child(3n) {
    margin-right: 0;
  }
}
.opco-quick-links li:before {
  display: none;
  padding: 0;
}

/**
 * VISA Promotion
 */
.page-node-150061 #pageWrapper,
.page-node-151271 #pageWrapper,
.page-node-149901 #pageWrapper {
  background: transparent url("/uploads/opco_templates/14/back/visa-wc-bg-4.jpg") no-repeat center center/cover;
}

.page-node-150061 #content:before,
.page-node-151271 #content:before,
.page-node-149901 #content:before {
  content: "";
  display: block;
  position: absolute;
  top: -190px;
  width: 400px;
  height: 190px;
  overflow: hidden;
  background: url(/uploads/node_images/visaCompetitionLogo.png) no-repeat left center/300px;
}

.page-node-150061 .win-ul-box,
.page-node-151271 .win-ul-box,
.page-node-149901 .win-ul-box {
  background-color: rgba(255, 0, 113, 0.4);
  padding: 20px;
  padding-left: 40px;
  max-width: 90%;
  font-size: 20px !important;
  max-height: 380px;
  float: left;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
  -khtml-border-radius: 10px;
}

.page-node-150061 .win-ul-box,
.page-node-151271 .win-ul-box,
.page-node-149901 #pageWrapper {
  background: transparent url("/uploads/opco_templates/14/back/visa-wc-bg-4.jpg") no-repeat center center/cover;
}

@media (min-width: 992px) {
  .page-node-150061 .win-ul-box,
.page-node-151271 .win-ul-box,
.page-node-149901 .win-ul-box {
    background-color: rgba(255, 0, 113, 0.4);
    padding: 20px;
    padding-left: 40px;
    max-width: 70%;
    margin-left: 0px !important;
  }
}
.page-node-150061 .exclu-box,
.page-node-151271 .exclu-box,
.page-node-149901 .exclu-box {
  float: left;
}

.page-node-150061 #content,
.page-node-151271 #content,
.page-node-149901 #content {
  width: 95% !important;
  background-color: rgba(0, 0, 0, 0.74) !important;
  color: #fff !important;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
  -khtml-border-radius: 10px;
  margin-top: 190px;
}

.page-node-150061 #content h1,
.page-node-150061 #content h2,
.page-node-150061 #content h3,
.page-node-150061 #content label,
.page-node-151271 #content h1,
.page-node-151271 #content h2,
.page-node-151271 #content h3,
.page-node-151271 #content label,
.page-node-149901 #content h1,
.page-node-149901 #content h2,
.page-node-149901 #content h3,
.page-node-149901 #content label {
  color: #fff !important;
}

.page-node-150061 #content h2,
.page-node-151271 #content h2,
.page-node-149901 #content h2 {
  font-size: 20px !important;
}

.page-node-150061 #c_form input[type=checkbox] + label:before,
.page-node-151271 #c_form input[type=checkbox] + label:before,
.page-node-149901 #c_form input[type=checkbox] + label:before {
  border: 2px solid #fff !important;
}

.page-node-150061 .zabivaka,
.page-node-151271 .zabivaka,
.page-node-149901 .zabivaka {
  display: none;
  width: 280px;
}

@media (min-width: 992px) {
  .page-node-150061 #content,
.page-node-151271 #content,
.page-node-149901 #content {
    margin-right: 40px;
  }
  .page-node-150061 .zabivaka,
.page-node-151271 .zabivaka,
.page-node-149901 .zabivaka {
    float: right;
    display: block;
  }
}
table#timetable.personalised tbody tr:first-child td,
table#timetable.personalised tbody tr:first-child th {
  background: #0d386d;
  border: none;
  color: #fff !important;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
}

.page-node-145741 #c_entry {
  height: 100px;
}

html body .buorg {
  position: absolute;
  position: fixed;
  z-index: 111111;
  width: 100%;
  top: 0px;
  left: 0px;
  border-bottom: 1px solid #e0e0e0;
  text-align: center;
  color: #000;
  background-color: #fff;
  font: inherit;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2);
}

html body #buorgig,
html body #buorgul,
html body #buorgpermanent {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.4);
  padding: 6px 14px;
  border-radius: 2px;
  font-weight: normal;
  background: #d6065e;
  white-space: nowrap;
  margin: 0 2px;
  display: inline-block;
  border: none;
  margin-top: 10px;
}

p:empty {
  display: none;
}

.etickets.table.ticket-summary.order-details {
  width: 100%;
  overflow: hidden;
}
.etickets.table.ticket-summary.order-details .row {
  position: relative;
  margin: 6px 0 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  background: rgba(0, 0, 0, 0.03);
}
.etickets.table.ticket-summary.order-details .row > span {
  font-weight: 600;
}
.etickets.table.ticket-summary.order-details .row .field {
  display: block;
  float: left;
  position: relative;
  padding: 14px 0;
  font-weight: 600;
}
.etickets.table.ticket-summary.order-details .row .field-control {
  position: absolute;
  left: 0;
  width: 44px;
  height: 100%;
  background: rgba(0, 0, 0, 0.03);
  padding: 0;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
}
.etickets.table.ticket-summary.order-details .row .field.ctrl {
  position: absolute;
  left: 0;
  width: 44px;
  height: 100%;
  background: rgba(0, 0, 0, 0.03);
  padding: 0;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  color: #999;
}
.etickets.table.ticket-summary.order-details .row .field.ctrl span {
  position: absolute;
  top: 50%;
  margin-top: -12px;
  width: 100%;
  left: 0;
}
.etickets.table.ticket-summary.order-details .row .wide {
  width: calc(100% - 110px);
  padding-left: 60px;
}
.etickets.table.ticket-summary.order-details .row .num {
  padding: 0 16px 0 0;
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -12px;
}
.etickets.table.ticket-summary.order-details .foot-block {
  width: 100%;
  max-width: 500px;
  float: right;
  margin: 0;
}
.etickets.table.ticket-summary.order-details .foot-block .row .field {
  display: block;
  float: left;
  position: relative;
  padding: 14px 0;
  font-weight: 600;
  font-weight: 600;
}
.etickets.table.ticket-summary.order-details .foot-block .row .field.num {
  width: 110px;
  padding: 14px 16px 14px 0;
  text-align: right;
}
.etickets.table.ticket-summary.order-details .foot-block .row .field.span {
  text-transform: uppercase;
  padding: 16px;
  width: calc(100% - 110px);
  font-size: 12px;
  letter-spacing: 0.5px;
}

.etickets.table .head-block .row {
  background: #00b09a;
  padding: 0;
  font-size: 16px;
  font-weight: 700;
  color: #fafafa;
  border-bottom: 1px solid #4a716c;
}
.etickets.table .row.empty {
  border: none;
  background: none;
  padding: 12px;
}

.etickets.table.ticket-summary.order-details .field.num.recur:after {
  content: "per month";
  font-size: 11.5px;
  display: block;
  text-align: right;
  margin-top: -8px;
}

.etickets.table.ticket-summary.order-details .field.num.recur {
  float: right;
}

.etickets.table.ticket-summary.order-details .foot-block .row .field.num {
  margin-top: 0;
}

.etickets.table.ticket-summary.order-details .row.empty {
  color: inherit;
}

#search-form {
  margin-bottom: 20px;
}
#search-form .form-item-keys {
  max-width: 400px;
  position: relative;
  float: left;
}
#search-form #edit-submit {
  margin-top: 39px;
  margin-left: 10px;
}
#search-form ~ ol {
  list-style-type: none !important;
  padding: 0 !important;
  margin-left: 0 !important;
}
#search-form ~ ol li {
  list-style-type: none !important;
  margin-bottom: 15px;
  border-bottom: 1px solid #ccc;
}
#search-form ~ ol li:before {
  display: none !important;
}
#search-form .search-help-link {
  display: none !important;
}

@media print {
  body,
html,
#pageWrapper {
    background: none !important;
    padding: 0;
  }
  .wrap,
.container {
    max-width: 100% !important;
    padding: 0 !important;
  }
  .site-header,
.breadcrumbs,
.site-footer,
#sidebar,
.fg-apps-cta,
.landing-page-banner,
.area-select-wrap,
.help-and-support,
#twitter-ticker {
    display: none;
  }
  #main #content {
    margin: 0;
    width: 100% !important;
    padding: 0 !important;
  }
  body {
    -webkit-print-color-adjust: exact;
  }
  .skip-to-content {
    display: none !important;
  }
  /*
  	div#pageWrapper:before {
  	    content: "";
  	    background: transparent url(/sites/all/themes/custom/fg2015/img/logos/first-bus-logo.svg) no-repeat center center / cover;
  	    height: 60px;
  	    display: block;
  	    background-size: 200px 600px;
  	    height: 60px;
  	    width: 200px;
  	    margin:  0 0 20px;
  	} */
  div#pageWrapper:before {
    content: url(/sites/all/themes/custom/fg2015/img/logos/first-bus-logo.svg);
    height: 60px;
    display: block;
    background-size: 200px 600px;
    height: 60px;
    width: 200px;
    margin: 0 0 20px;
  }
  .landing-page-section .content {
    padding: 20px;
  }
  .landing-page-section .fb-col-2-3 {
    width: 100%;
  }
  #pageWrapper > h1 {
    position: relative;
    left: auto;
  }
}
/**
 * Autocomplete.
 *
 * @see autocomplete.js
 */
/* Suggestion list */
#autocomplete {
  border: 1px solid;
  overflow: hidden;
  position: absolute;
  z-index: 100;
  box-shadow: 0 0 3px rgba(27, 27, 27, 0.4);
  border: 1px solid #e5e5e5;
}

#autocomplete ul {
  list-style: none;
  list-style-image: none;
  margin: 0;
  padding: 0;
}

#autocomplete li {
  background: #fff;
  color: #000;
  cursor: default;
  zoom: 1; /* IE7 */
  border-bottom: 1px solid #e5e5e5;
}

#autocomplete li a {
  display: block;
  padding: 8px 10px;
  color: #0b386e;
  text-decoration: none;
  font-weight: 600;
}

#autocomplete li a:hover {
  background: #f0f0f0;
  text-decoration: none !important;
}

/* Animated throbber */
html.js input.form-autocomplete {
  background-image: url(/misc/throbber-inactive.png);
  background-position: 100% center; /* LTR */
  background-repeat: no-repeat;
}

html.js input.throbbing {
  background-image: url(/misc/throbber-active.gif);
  background-position: 100% center; /* LTR */
}

.basic-table td,
.basic-table th {
  padding: 10px;
}

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 .tech-blue {
  color: #262045;
}

html body #pageWrapper .grey {
  color: #a8a7a8;
}

html body #pageWrapper .white {
  color: #ffffff;
}

html body #pageWrapper .black {
  color: #000000;
}

html body #pageWrapper .ipswich-pnr-red {
  color: #e12035;
}

html body #pageWrapper .back-firstpink {
  background: #d5045f;
  color: #fafafa;
}

html body #pageWrapper .back-firstblue {
  background: #0c376e;
  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 .back-tech-blue {
  background: #262045;
}

html body #pageWrapper .back-grey {
  background: #a8a7a8;
}

html body #pageWrapper .back-lightgrey {
  background: #eeeeee;
}

html body #pageWrapper .back-white {
  background: #ffffff;
}

html body #pageWrapper .back-ipswich-pnr-red {
  color: #ffffff;
  background: #e12035;
}

img.ctc-logo {
  max-height: 80px;
  float: right;
  max-width: 140px;
  margin-left: 10px;
}

img.ctc-logo + h2 {
  clear: left;
}

.pagename-ctc .check-login {
  max-width: 800px;
}

.pagename-ctc main form input#emp,
.pagename-ctc main form select#emp,
.pagename-ctc main form input#mail,
.pagename-ctc main form input#passcode {
  max-width: 360px;
  float: left;
  margin-right: 10px;
}

.ctc-page-logo {
  float: left;
  position: relative;
}

.ctc-page-logo img {
  height: 100px;
  margin-right: 185px;
}

.ctc-strapline {
  padding-top: 55px !important;
  padding-left: 20px !important;
  float: left;
}

.ctc-strapline img {
  height: 54px;
}

#sidebar > div.spider-share:first-child {
  margin-top: 0;
}

@media only screen and (max-width: 768px) {
  .ctc-strapline {
    padding-top: 10px !important;
    padding-left: 0px !important;
  }
  .ctc-strapline img {
    height: auto;
    width: 100%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1043px) {
  ctc-strapline {
    padding-top: 34px !important;
    padding-left: 20px !important;
    float: left;
  }
}
.ctc-logo + h1 + * {
  padding-right: 120px;
}

html body .fg2015_tpl_ctc_test ul#sidebar_navigation li ul {
  margin: 0;
  width: 100%;
}

html body .fg2015_tpl_ctc_test ul#sidebar_navigation ul li a {
  background: rgba(255, 255, 255, 0.05) !important;
  border: none !important;
  color: #fff !important;
  margin-bottom: 4px;
}

html body .fg2015_tpl_ctc_test ul#sidebar_navigation li.active-trail > a,
html body .fg2015_tpl_ctc_test ul#sidebar_navigation li a.active {
  position: relative;
  background: #fff !important;
  color: #222c54 !important;
  margin-bottom: 4px;
  border: none !important;
}

html body .fg2015_tpl_ctc_test ul#sidebar_navigation li a.active:after,
html body .fg2015_tpl_ctc_test ul#sidebar_navigation li.active-trail > a:after {
  display: none !important;
}

html body.page-ctc-forms .breadcrumbs {
  display: none !important;
}

html body .fg2015_tpl_ctc_test .breadcrumbs a,
html body .fg2015_tpl_ctc_test .breadcrumbs span:before {
  color: #fff;
}

.firstbus-login-form[action*=ctc] {
  max-width: 400px;
}
.firstbus-login-form[action*=ctc] label,
.firstbus-login-form[action*=ctc] .description {
  display: none;
}
.firstbus-login-form[action*=ctc] .form-item {
  margin-bottom: 20px;
}
.firstbus-login-form[action*=ctc] input[id*=edit-submit] {
  float: right;
}
.firstbus-login-form[action*=ctc] [id*=edit-comment] p {
  margin: 0;
  line-height: 21px;
}
.firstbus-login-form[action*=ctc] [id*=edit-comment] p:nth-of-type(3) {
  margin-top: 20px;
  padding-left: 50px;
  background: url(/themes/custom/firstbus/assets/img/icons/front-phone-jaunty.png);
  background-position: 0;
  background-size: 40px 61px;
  background-repeat: no-repeat;
  height: 61px;
}
.firstbus-login-form[action*=ctc] .captcha {
  margin-bottom: 10px;
}

#fb_ops_fares_selector {
  margin: 0 0 30px 0;
  border: 1px solid #e0e0e0;
  padding: 10px;
  border-radius: 3px;
}

#fb_ops_fares_selector .element .ui-menu {
  max-height: 200px;
  overflow-x: hidden;
  overflow-y: auto;
}

#fb_ops_fares_selector .element .ui-menu li {
  padding: 0 10px;
}

#fb_ops_fares_display {
  position: relative;
  border: 1px solid #e5e5e5;
  border-radius: 3px;
  box-shadow: 0 2px 4px rgba(27, 27, 27, 0.1);
  margin-top: 10px;
}

#fb_ops_fares_display:empty {
  display: none;
}

#fb_ops_fares_display h2 {
  width: 100%;
  margin: 0;
  padding: 10px;
  background: #0c376e;
  color: #fff;
  position: relative;
}

#fb_ops_fares_display h2:first-child {
  margin-top: 0;
}

#fb_ops_fares_selector .footnote {
  margin: 0 0 4px 0;
  border-radius: 3px;
  background: #fafafa;
  padding: 8px 10px;
  font-weight: 600;
}

#fb_ops_fares_display h2 + .footnote {
  margin: 0;
  border-bottom: 1px solid #e5e5e5;
}

#fb_ops_fares_display .ticket-row {
  padding: 8px 10px;
  border-bottom: 1px solid #fafafa;
}

#fb_ops_fares_display .ticket-row:last-child {
  border-bottom: 0;
}

#fb_ops_fares_display .ticket-head {
  font-weight: 700;
}

#fb_ops_fares_display .ticket-head:first-child {
  margin-top: 0;
}

#fb_ops_fares_display .ticket-row span {
  display: inline-block;
  width: 25%;
}

#fb_ops_fares_display .ticket-row span.footnote {
  margin: 0;
  background: none;
  padding: 0;
  width: 50%;
  font-weight: normal;
}

#fb_ops_fares_selector .elements {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

#fb_ops_fares_selector .elements .element {
  width: 100%;
  padding: 0 5px;
}

#fb_ops_fares_selector .elements .element:first-child {
  margin-left: -5px;
}

#fb_ops_fares_selector .elements .element:last-child {
  margin-right: -5px;
}

#fb_ops_fares_selector .elements .element label {
  position: relative;
  padding-top: 0;
}

#fb_ops_fares_selector .elements .element label.disabled:after,
#fb_ops_fares_selector #fb_ops_fares_display.disabled:after {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 42px;
  background-color: rgba(0, 0, 0, 0.5);
  background-image: url(/sites/all/themes/custom/fg2015/img/spinner_dark.gif);
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 2px;
  content: "";
}

#fb_ops_fares_selector #fb_ops_fares_display.disabled:after {
  top: 0;
  height: 100%;
}

#fb_ops_fares_selector .elements + .footnote,
#fb_ops_fares_selector .elements .element .footnote {
  margin: 2px 0 0 0;
  border: 1px solid #f0f0f0;
  padding: 4px 8px;
  font-size: 90%;
}

#fb_ops_fares_selector .elements + .footnote:after,
#fb_ops_fares_selector .elements .element .footnote:after {
  display: none;
}

#fb_ops_fares_selector .elements + .footnote:empty,
#fb_ops_fares_selector .elements .element .footnote:empty {
  display: none;
}

#fb_ops_fares_selector .elements .element .footnote.fb_ops_narrow {
  display: none;
}

#fb_ops_fares_selector .elements + .footnote.fb_ops_wide:not(:empty) {
  display: block;
}

@media only screen and (max-width: 1080px) { /* was 768 but that's too narrow */
  #fb_ops_fares_selector .elements {
    display: block;
  }
  #fb_ops_fares_selector .elements .element {
    margin: 0 0 20px 0 !important;
  }
  #fb_ops_fares_selector .elements .element:last-child {
    margin-bottom: 0 !important;
  }
  #fb_ops_fares_selector .elements .element .footnote.fb_ops_narrow:not(:empty) {
    display: block;
  }
  #fb_ops_fares_selector .elements + .footnote.fb_ops_wide {
    display: none !important;
  }
}
li.postcode {
  position: relative;
}

input.postcode,
li.postcode input[type=text] {
  width: calc(100% - 100px);
}

input.postcode + a,
li.postcode a.btn {
  position: absolute;
  right: 0;
  top: 39px;
  width: 96px;
  padding-left: 0;
  padding-right: 0;
  text-align: center;
}

input.postcode + a {
  top: 0;
}

#c_form ul li.fullwidth.postcode a {
  position: relative;
  top: auto;
  right: auto;
}

/*
@media only screen and (min-width: 600px) {

	#c_form ul li.fullwidth.postcode a {
		right: calc((100% + 30px) / 2);
	}

	#c_form ul li.fullwidth .address-select {
		position: absolute;
		right: 0;
		top: 0;
		width: calc((100% - 30px) / 2);
	}

}

@media only screen and (min-width: 768px) and (max-width: 900px) {

	#c_form ul li.fullwidth.postcode a {
		right: calc((100% + 20px) / 2);
	}

	#c_form ul li.fullwidth .address-select {
		width: calc((100% - 20px) / 2);
	}

}

@media only screen and (min-width: 600px) and (max-width: 767px) {

	#c_form ul li.fullwidth.postcode a {
		right: calc((100% + 10px) / 2);
	}

	#c_form ul li.fullwidth .address-select {
		width: calc((100% - 10px) / 2);
	}

} */
button,
input[type=submit] {
  font-size: 100%;
  margin: 0;
  vertical-align: baseline;
  font-family: "Open Sans", sans-serif;
}

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 0.2s;
  line-height: 24px;
  height: 42px;
  -webkit-appearance: none;
  border: none;
  text-decoration: none !important;
}

button:hover,
.btn:hover,
.fieldsubmit:hover,
input[type=submit]:hover,
.btn-p:hover,
.btn-dd:hover {
  text-decoration: none !important;
}

#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: left;
  margin-right: 10px;
}

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;
}

#standard-fare-form > fieldset > legend,
#help-and-support-form > fieldset > legend {
  position: relative;
  font-size: 16px;
  color: #676767;
  line-height: 26px;
  font-weight: 600;
}
@media only screen and (min-width: 800px) {
  #standard-fare-form > fieldset > legend,
#help-and-support-form > fieldset > legend {
    width: 25%;
    float: left;
    text-align: right;
    padding: 0 30px 0 0;
    margin-top: -2px;
  }
}
#standard-fare-form > fieldset > .fieldset-wrapper,
#help-and-support-form > fieldset > .fieldset-wrapper {
  position: relative;
}
@media only screen and (min-width: 800px) {
  #standard-fare-form > fieldset > .fieldset-wrapper,
#help-and-support-form > fieldset > .fieldset-wrapper {
    width: 75%;
    float: right;
    padding-left: 30px;
    margin-bottom: 30px;
    transition: border 0.6s;
    margin-top: -10px;
    padding-bottom: 2px;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
  }
  #standard-fare-form > fieldset > .fieldset-wrapper:before,
#help-and-support-form > fieldset > .fieldset-wrapper:before {
    content: "";
    width: 1px;
    height: calc(100% - 10px);
    background: #d0d0d0;
    position: absolute;
    left: 0;
    top: 10px;
  }
  #standard-fare-form > fieldset > .fieldset-wrapper .form-item-wrapper,
#help-and-support-form > fieldset > .fieldset-wrapper .form-item-wrapper {
    overflow: hidden;
    width: calc((100% - 20px) / 2);
  }
  #standard-fare-form > fieldset > .fieldset-wrapper .form-item-wrapper.fullwidth.noreally,
#help-and-support-form > fieldset > .fieldset-wrapper .form-item-wrapper.fullwidth.noreally {
    width: 100%;
  }
}
#standard-fare-form div[id*=address-ajax-wrapper],
#help-and-support-form div[id*=address-ajax-wrapper] {
  width: 100%;
}
@media only screen and (min-width: 800px) {
  #standard-fare-form div[id*=address-ajax-wrapper],
#help-and-support-form div[id*=address-ajax-wrapper] {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
  }
  #standard-fare-form div[id*=address-ajax-wrapper] > div,
#help-and-support-form div[id*=address-ajax-wrapper] > div {
    width: calc((100% - 20px) / 2);
  }
}
#standard-fare-form #edit-actions--3 .fieldset-wrapper,
#help-and-support-form #edit-actions--3 .fieldset-wrapper {
  display: block;
}
#standard-fare-form #edit-actions--3 .fieldset-wrapper .captcha,
#help-and-support-form #edit-actions--3 .fieldset-wrapper .captcha {
  margin-top: 15px;
  margin-bottom: 20px;
}
#standard-fare-form .form-item-paymentdetails,
#help-and-support-form .form-item-paymentdetails {
  max-width: 375px;
}
#standard-fare-form .form-item-paymentdetails .mini,
#help-and-support-form .form-item-paymentdetails .mini {
  float: left;
  margin-right: 10px;
  width: calc((100% - 20px) * 0.27);
}
#standard-fare-form .form-item-paymentdetails .mini:first-of-type,
#help-and-support-form .form-item-paymentdetails .mini:first-of-type {
  width: calc((100% - 20px) * 0.4);
}
#standard-fare-form .form-item-paymentdetails .mini:last-child,
#help-and-support-form .form-item-paymentdetails .mini:last-child {
  margin-right: 0;
  width: calc((100% - 20px) * 0.33);
}

.time-field-wrapper {
  display: flex;
  align-items: center;
}
.time-field-wrapper input[type=text] {
  max-width: 50px;
  margin: 0 4px;
}
.time-field-wrapper input[type=text][placeholder=hh] {
  margin-left: 0;
}

@media only screen and (min-width: 800px) {
  #formholder .form-header {
    padding-left: calc(25% + 30px);
  }
}
#formholder .form-header h3 {
  padding-top: 0;
}
#formholder #c_c_desc {
  height: 150px;
}
#formholder #c_postcode_check {
  display: none;
}
#formholder #postcode-holder.postcode .form-item-postcode,
#formholder #postcode-holder.postcode .form-item-addresspostcode {
  display: inline-block;
  width: calc(100% - 106px);
}
#formholder #postcode-holder.postcode a {
  display: inline-block;
  vertical-align: bottom;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0 0 20px 0;
  border: 0;
  width: 100%;
}

fieldset > fieldset {
  margin-top: 20px;
}

legend {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 5px;
  font-size: 22px;
  line-height: 30px;
  font-weight: 300;
  color: #333;
}

label {
  font-weight: 600;
  font-size: 14px;
  display: block;
  padding: 10px 0 5px 0;
  color: #222;
}

input[type=text],
input[type=password],
input[type=color],
input[type=date],
input[type=datetime-local],
input[type=email],
input[type=month],
input[type=number],
input[type=range],
input[type=search],
input[type=tel],
input[type=time],
input[type=url],
input[type=week],
textarea,
select {
  border: 1px solid #d0d0d0;
  background-color: #f9f9f9;
  padding: 8px 10px;
  margin: 0;
  display: block;
  font-family: "Open Sans", sans-serif;
  border-radius: 2px;
  font-size: 14px;
  line-height: 24px;
  transition: border 0.3s;
  width: 100%;
  -ms-appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  input[type=text],
input[type=password],
input[type=color],
input[type=date],
input[type=datetime-local],
input[type=email],
input[type=month],
input[type=number],
input[type=range],
input[type=search],
input[type=tel],
input[type=time],
input[type=url],
input[type=week],
select {
    height: 42px;
  }
}
input[type=text]:focus,
input[type=password]:focus,
input[type=color]:focus,
input[type=date]:focus,
input[type=datetime-local]:focus,
input[type=email]:focus,
input[type=month]:focus,
input[type=number]:focus,
input[type=range]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=time]:focus,
input[type=url]:focus,
input[type=week]:focus,
textarea:focus,
select:focus {
  border: 1px solid #444;
  background-color: #f9f9f9;
  box-shadow: none !important;
  outline: none;
}

input[type=text]:disabled,
input[type=password]:disabled,
input[type=color]:disabled,
input[type=date]:disabled,
input[type=datetime-local]:disabled,
input[type=email]:disabled,
input[type=month]:disabled,
input[type=number]:disabled,
input[type=range]:disabled,
input[type=search]:disabled,
input[type=tel]:disabled,
input[type=time]:disabled,
input[type=url]:disabled,
input[type=week]:disabled,
textarea:disabled,
select:disabled {
  border: 1px solid #e5e5e5 !important;
  background-color: #f6f6f6;
}

input:focus,
select:focus,
button:focus {
  box-shadow: none !important;
}

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

select,
input.hasDatepicker {
  background-position: 100%;
  background-repeat: no-repeat;
  background-size: 26px 26px;
}

select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024' width='100%25' height='100%25'%3E%3Cpath fill='inherit' stroke='inherit' d='M316 334l196 196 196-196 60 60-256 256-256-256z'%3E%3C/path%3E%3C/svg%3E");
  background-position: calc(100% - 5px) center;
}

select::-ms-expand {
  display: none;
}

input.hasDatepicker {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024' width='100%25' height='100%25'%3E%3Cpath fill='inherit' d='M1024 1024h-1024v-896h128v768h768v-768h128zM192 384h128v128h-128zM448 384h128v128h-128zM704 384h128v128h-128zM192 640h128v128h-128zM448 640h128v128h-128zM704 768v-128h128zM256 192v-128c0-35.36 28.64-64 64-64s64 28.64 64 64v128c0 35.36-28.64 64-64 64s-64-28.64-64-64zM640 192v-128c0-35.36 28.64-64 64-64s64 28.64 64 64v128c0 35.36-28.64 64-64 64s-64-28.64-64-64z'/%3E%3C/svg%3E");
  background-size: 17px 17px;
  background-position: calc(100% - 10px) center;
}

@media only screen and (min-width: 769px) {
  #fg2015-extra-mile-form #edit-nominee .form-type-textfield,
#fg2015-extra-mile-form #edit-nominee .form-type-select,
#fg2015-extra-mile-form #edit-incident .form-type-textfield,
#fg2015-extra-mile-form #edit-incident .form-type-select,
#fg2015-extra-mile-form #edit-route .form-type-textfield,
#fg2015-extra-mile-form #edit-route .form-type-select,
#fg2015-extra-mile-form #edit-vehicle .form-type-textfield,
#fg2015-extra-mile-form #edit-vehicle .form-type-select,
#fg2015-extra-mile-form #edit-nomination [class$=Category] {
    width: calc((100% - 30px) / 2);
    float: left;
    position: relative;
  }
  #fg2015-extra-mile-form #edit-nominee [class$=Name],
#fg2015-extra-mile-form #edit-nominee [class$=Number],
#fg2015-extra-mile-form #edit-nominee [class$=Based-At],
#fg2015-extra-mile-form #edit-nominee [class$=Based-At],
#fg2015-extra-mile-form #edit-incident [class$=Opco],
#fg2015-extra-mile-form #edit-incident [class$=Time],
#fg2015-extra-mile-form #edit-incident [class$=Number],
#fg2015-extra-mile-form #edit-incident [class$=Route],
#fg2015-extra-mile-form #edit-vehicle [class$=Number],
#fg2015-extra-mile-form #edit-route [class$=Number] {
    margin-right: 30px;
  }
}
.general-form {
  margin: 0 0 24px 0;
}

.general-form .captcha {
  margin-bottom: 20px;
}

.general-form input[type=submit] {
  clear: both;
  display: block;
}

.general-form p {
  margin: 10px 0;
}

.general-form textarea {
  height: 150px;
}

@media only screen and (min-width: 769px) {
  .general-form .field-half,
.general-form .form-item-first-name,
.general-form .form-item-last-name,
.general-form .form-item-email,
.general-form .form-item-telephone {
    width: calc((100% - 30px) / 2);
    float: left;
    position: relative;
  }
  .general-form .field-half.field-left,
.general-form .form-item-first-name,
.general-form .form-item-email {
    margin-right: 30px;
  }
}
.general-form #edit-terms {
  clear: both;
  padding-top: 20px;
}

.general-form label {
  clear: both;
  overflow: hidden;
}

.general-form label:after {
  clear: both;
  content: "";
  display: table;
}

@media only screen and (min-width: 769px) {
  form#fg2015-ctc-interest-form .form-item-name,
form#fg2015-ctc-interest-form .form-item-email,
form#fg2015-ctc-interest-form .form-item-telephone,
form#fg2015-ctc-interest-form .form-item-company,
form#fg2015-ctc-interest-form .form-item-department,
form#fg2015-ctc-interest-form .form-item-job-title,
form#fg2015-ctc-interest-form .form-item-employees,
form#fg2015-ctc-interest-form .form-item-opco {
    width: calc((100% - 30px) / 2);
    float: left;
    position: relative;
  }
  form#fg2015-ctc-interest-form .form-item-name,
form#fg2015-ctc-interest-form .form-item-telephone,
form#fg2015-ctc-interest-form .form-item-department,
form#fg2015-ctc-interest-form .form-item-employees {
    margin-right: 30px;
  }
  form#fg2015-ctc-interest-form .form-item-email,
form#fg2015-ctc-interest-form .form-item-company,
form#fg2015-ctc-interest-form .form-item-job-title,
form#fg2015-ctc-interest-form .form-item-opco {
    margin-right: 0;
  }
}
form#fg2015-ctc-interest-form .form-item-authorised {
  width: 100%;
  float: left;
  position: relative;
  margin-top: 20px;
}

form#fg2015-ctc-interest-form .form-item-authorised input[type=checkbox] {
  position: absolute;
  left: -10000px;
}

form#fg2015-ctc-interest-form .form-item-authorised input[type=checkbox] + label {
  display: inline-block;
  padding: 12px 18px 12px 50px;
  background: rgba(0, 0, 0, 0.05);
  border-radius: 2px;
  line-height: 24px;
  width: auto;
  transition: all 0.3s;
  width: 100%;
}

form#fg2015-ctc-interest-form .form-item-authorised input[type=checkbox] + label:before {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  border: 2px solid #444;
  position: absolute;
  left: 19px;
  top: 15px;
  transition: all 0.2s;
}

form#fg2015-ctc-interest-form.general-form .form-item-authorised input[type=checkbox]:checked + label:after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25' viewBox='0 0 1024 1024'%3E%3Cpath fill='#d40660' d='M927.936 272.992l-68.288-68.288c-12.608-12.576-32.96-12.576-45.536 0l-409.44 409.44-194.752-196.16c-12.576-12.576-32.928-12.576-45.536 0l-68.288 68.288c-12.576 12.608-12.576 32.96 0 45.536l285.568 287.488c12.576 12.576 32.96 12.576 45.536 0l500.736-500.768c12.576-12.544 12.576-32.96 0-45.536z'/%3E%3C/svg%3E");
  background-size: 20px 20px;
  background-position: 0 0;
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  position: absolute;
  left: 21px;
  top: 13px;
  transform: scale(0);
  transition: all 0.3s;
}

form#fg2015-ctc-interest-form.general-form .form-item-authorised input[type=checkbox]:checked + label:after {
  transform: scale(1);
}

form#fg2015-ctc-interest-form .captcha {
  margin-top: 20px;
}

#c_form .message {
  display: block;
  font-weight: 600;
  color: #444;
  font-size: 11px;
  line-height: 16px;
  text-align: right;
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 3;
  max-width: 276px;
  padding: 1px 8px;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #dc143c;
  border-radius: 2px;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
  white-space: normal;
  text-align: center;
}

#c_form .message:before,
#c_form .message:after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
  content: "";
}

#c_form .message:before {
  border-width: 7px;
  top: -7px;
  left: 50%;
  margin-left: -7px;
  border-top-width: 0;
  border-bottom-color: #dc143c;
}

#c_form .message:after {
  border-width: 6px;
  top: -6px;
  left: 50%;
  margin-left: -6px;
  border-top-width: 0;
  border-bottom-color: #fff;
}

#c_form .message:empty {
  display: none;
}

@media only screen and (min-width: 600px) {
  #c_form .fullwidth .message {
    right: calc((100% + 30px) / 2);
  }
}
#content .messages ul {
  margin-bottom: 0;
}

#fg2015-app-support-form,
#fb-app-deletion-form {
  max-width: 768px;
}
#fg2015-app-support-form .fullwidth,
#fb-app-deletion-form .fullwidth {
  clear: both;
}
#fg2015-app-support-form .description,
#fb-app-deletion-form .description {
  margin-bottom: -24px;
}
#fg2015-app-support-form .js-form-type-textfield,
#fg2015-app-support-form .js-form-type-select,
#fb-app-deletion-form .js-form-type-textfield,
#fb-app-deletion-form .js-form-type-select {
  float: left;
  margin-bottom: 20px;
}
#fg2015-app-support-form input[type=text],
#fg2015-app-support-form select,
#fb-app-deletion-form input[type=text],
#fb-app-deletion-form select {
  max-width: 375px;
  width: 100%;
}
#fg2015-app-support-form select#edit-payment-method,
#fb-app-deletion-form select#edit-payment-method {
  width: 375px;
}
#fg2015-app-support-form .fullwidth .js-form-type-textfield,
#fg2015-app-support-form .fullwidth .js-form-type-select,
#fb-app-deletion-form .fullwidth .js-form-type-textfield,
#fb-app-deletion-form .fullwidth .js-form-type-select {
  float: none;
}
#fg2015-app-support-form .fullwidth input[type=text],
#fg2015-app-support-form .fullwidth select,
#fb-app-deletion-form .fullwidth input[type=text],
#fb-app-deletion-form .fullwidth select {
  max-width: none;
}
#fg2015-app-support-form input[name$=email],
#fb-app-deletion-form input[name$=email] {
  background: url(/themes/custom/firstbus/assets/img/form-elements/envelope.png) no-repeat 100%;
  background-size: 33px;
}
#fg2015-app-support-form input[name$=name],
#fb-app-deletion-form input[name$=name] {
  background: url(/themes/custom/firstbus/assets/img/form-elements/user.png) no-repeat 100%;
  background-size: 28px;
}
#fg2015-app-support-form .form-item-first-name,
#fg2015-app-support-form .form-item-email,
#fg2015-app-support-form .form-item-payment-method,
#fb-app-deletion-form .form-item-first-name,
#fb-app-deletion-form .form-item-email,
#fb-app-deletion-form .form-item-payment-method {
  margin-right: 10px;
}
#fg2015-app-support-form legend,
#fg2015-app-support-form .js-form-type-textarea > label,
#fg2015-app-support-form .js-form-type-textfield > label,
#fg2015-app-support-form .js-form-type-select > label,
#fb-app-deletion-form legend,
#fb-app-deletion-form .js-form-type-textarea > label,
#fb-app-deletion-form .js-form-type-textfield > label,
#fb-app-deletion-form .js-form-type-select > label {
  font-weight: 600;
  font-size: 13.5px;
  line-height: normal;
  padding: 0 0 5px 0;
}
#fg2015-app-support-form .form-item-opco,
#fb-app-deletion-form .form-item-opco {
  margin-bottom: 40px;
}
#fg2015-app-support-form textarea,
#fb-app-deletion-form textarea {
  height: 150px;
  resize: vertical;
  margin-bottom: 20px;
}
#fg2015-app-support-form input[type=submit],
#fb-app-deletion-form input[type=submit] {
  clear: both;
  float: left;
  margin-top: 20px;
}
#fg2015-app-support-form #issue_type,
#fg2015-app-support-form #mticket_enquiry,
#fb-app-deletion-form #issue_type,
#fb-app-deletion-form #mticket_enquiry {
  margin-bottom: 0;
}
#fg2015-app-support-form #edit-mticket-enquiry-type-container legend,
#fb-app-deletion-form #edit-mticket-enquiry-type-container legend {
  display: none;
}
#fg2015-app-support-form #payment_issue,
#fb-app-deletion-form #payment_issue {
  margin: 0;
}
#fg2015-app-support-form .form-item-mticket-enquiry-description,
#fb-app-deletion-form .form-item-mticket-enquiry-description {
  clear: both;
}
#fg2015-app-support-form .form-item-payment-details,
#fb-app-deletion-form .form-item-payment-details {
  max-width: 375px;
}
#fg2015-app-support-form .form-item-payment-details .mini,
#fb-app-deletion-form .form-item-payment-details .mini {
  float: left;
  margin-right: 10px;
  width: calc((100% - 20px) * 0.27);
}
#fg2015-app-support-form .form-item-payment-details .mini:first-of-type,
#fb-app-deletion-form .form-item-payment-details .mini:first-of-type {
  width: calc((100% - 20px) * 0.4);
}
#fg2015-app-support-form .form-item-payment-details .mini:last-child,
#fb-app-deletion-form .form-item-payment-details .mini:last-child {
  margin-right: 0;
  width: calc((100% - 20px) * 0.33);
}
#fg2015-app-support-form #edit-enquiry-type,
#fg2015-app-support-form #edit-issue-type,
#fg2015-app-support-form #edit-payment-issue,
#fg2015-app-support-form #edit-payment-method-details,
#fb-app-deletion-form #edit-enquiry-type,
#fb-app-deletion-form #edit-issue-type,
#fb-app-deletion-form #edit-payment-issue,
#fb-app-deletion-form #edit-payment-method-details {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-pack: stretch;
  justify-content: stretch;
  margin: 0 0 20px 0;
}
@media only screen and (max-width: 768px) {
  #fg2015-app-support-form #edit-enquiry-type,
#fg2015-app-support-form #edit-issue-type,
#fg2015-app-support-form #edit-payment-issue,
#fg2015-app-support-form #edit-payment-method-details,
#fb-app-deletion-form #edit-enquiry-type,
#fb-app-deletion-form #edit-issue-type,
#fb-app-deletion-form #edit-payment-issue,
#fb-app-deletion-form #edit-payment-method-details {
    display: block;
  }
}
#fg2015-app-support-form #edit-enquiry-type .js-form-type-radio,
#fg2015-app-support-form #edit-issue-type .js-form-type-radio,
#fg2015-app-support-form #edit-payment-issue .js-form-type-radio,
#fg2015-app-support-form #edit-payment-method-details .js-form-type-radio,
#fb-app-deletion-form #edit-enquiry-type .js-form-type-radio,
#fb-app-deletion-form #edit-issue-type .js-form-type-radio,
#fb-app-deletion-form #edit-payment-issue .js-form-type-radio,
#fb-app-deletion-form #edit-payment-method-details .js-form-type-radio {
  background: #f6f6f6;
  border: 1px solid #e5e5e5;
  -ms-flex: 1;
  flex: 1;
}
#fg2015-app-support-form #edit-enquiry-type .js-form-type-radio input[type=radio],
#fg2015-app-support-form #edit-issue-type .js-form-type-radio input[type=radio],
#fg2015-app-support-form #edit-payment-issue .js-form-type-radio input[type=radio],
#fg2015-app-support-form #edit-payment-method-details .js-form-type-radio input[type=radio],
#fb-app-deletion-form #edit-enquiry-type .js-form-type-radio input[type=radio],
#fb-app-deletion-form #edit-issue-type .js-form-type-radio input[type=radio],
#fb-app-deletion-form #edit-payment-issue .js-form-type-radio input[type=radio],
#fb-app-deletion-form #edit-payment-method-details .js-form-type-radio input[type=radio] {
  position: absolute;
  left: -100000px;
}
#fg2015-app-support-form #edit-enquiry-type .js-form-type-radio label,
#fg2015-app-support-form #edit-issue-type .js-form-type-radio label,
#fg2015-app-support-form #edit-payment-issue .js-form-type-radio label,
#fg2015-app-support-form #edit-payment-method-details .js-form-type-radio label,
#fb-app-deletion-form #edit-enquiry-type .js-form-type-radio label,
#fb-app-deletion-form #edit-issue-type .js-form-type-radio label,
#fb-app-deletion-form #edit-payment-issue .js-form-type-radio label,
#fb-app-deletion-form #edit-payment-method-details .js-form-type-radio label {
  display: block;
  padding: 12px 20px 12px 50px;
  position: relative;
  height: 100%;
}
#fg2015-app-support-form #edit-enquiry-type .js-form-type-radio label:before,
#fg2015-app-support-form #edit-issue-type .js-form-type-radio label:before,
#fg2015-app-support-form #edit-payment-issue .js-form-type-radio label:before,
#fg2015-app-support-form #edit-payment-method-details .js-form-type-radio label:before,
#fb-app-deletion-form #edit-enquiry-type .js-form-type-radio label:before,
#fb-app-deletion-form #edit-issue-type .js-form-type-radio label:before,
#fb-app-deletion-form #edit-payment-issue .js-form-type-radio label:before,
#fb-app-deletion-form #edit-payment-method-details .js-form-type-radio label:before {
  left: 20px;
  top: 15px;
}
#fg2015-app-support-form #edit-enquiry-type .js-form-type-radio label:after,
#fg2015-app-support-form #edit-issue-type .js-form-type-radio label:after,
#fg2015-app-support-form #edit-payment-issue .js-form-type-radio label:after,
#fg2015-app-support-form #edit-payment-method-details .js-form-type-radio label:after,
#fb-app-deletion-form #edit-enquiry-type .js-form-type-radio label:after,
#fb-app-deletion-form #edit-issue-type .js-form-type-radio label:after,
#fb-app-deletion-form #edit-payment-issue .js-form-type-radio label:after,
#fb-app-deletion-form #edit-payment-method-details .js-form-type-radio label:after {
  left: 24px;
  top: 19px;
}
@media only screen and (max-width: 768px) {
  #fg2015-app-support-form #edit-enquiry-type .js-form-type-radio label,
#fg2015-app-support-form #edit-issue-type .js-form-type-radio label,
#fg2015-app-support-form #edit-payment-issue .js-form-type-radio label,
#fg2015-app-support-form #edit-payment-method-details .js-form-type-radio label,
#fb-app-deletion-form #edit-enquiry-type .js-form-type-radio label,
#fb-app-deletion-form #edit-issue-type .js-form-type-radio label,
#fb-app-deletion-form #edit-payment-issue .js-form-type-radio label,
#fb-app-deletion-form #edit-payment-method-details .js-form-type-radio label {
    padding: 10px 10px 10px 34px;
  }
  #fg2015-app-support-form #edit-enquiry-type .js-form-type-radio label:before,
#fg2015-app-support-form #edit-issue-type .js-form-type-radio label:before,
#fg2015-app-support-form #edit-payment-issue .js-form-type-radio label:before,
#fg2015-app-support-form #edit-payment-method-details .js-form-type-radio label:before,
#fb-app-deletion-form #edit-enquiry-type .js-form-type-radio label:before,
#fb-app-deletion-form #edit-issue-type .js-form-type-radio label:before,
#fb-app-deletion-form #edit-payment-issue .js-form-type-radio label:before,
#fb-app-deletion-form #edit-payment-method-details .js-form-type-radio label:before {
    left: 10px;
    top: 13px;
  }
  #fg2015-app-support-form #edit-enquiry-type .js-form-type-radio label:after,
#fg2015-app-support-form #edit-issue-type .js-form-type-radio label:after,
#fg2015-app-support-form #edit-payment-issue .js-form-type-radio label:after,
#fg2015-app-support-form #edit-payment-method-details .js-form-type-radio label:after,
#fb-app-deletion-form #edit-enquiry-type .js-form-type-radio label:after,
#fb-app-deletion-form #edit-issue-type .js-form-type-radio label:after,
#fb-app-deletion-form #edit-payment-issue .js-form-type-radio label:after,
#fb-app-deletion-form #edit-payment-method-details .js-form-type-radio label:after {
    left: 14px;
    top: 17px;
  }
}
#fg2015-app-support-form #edit-issue-type,
#fb-app-deletion-form #edit-issue-type {
  flex-wrap: wrap;
}
#fg2015-app-support-form #edit-issue-type .js-form-type-radio,
#fb-app-deletion-form #edit-issue-type .js-form-type-radio {
  flex: 50%;
}
@media only screen and (max-width: 865px) {
  #fg2015-app-support-form .js-form-type-textfield,
#fg2015-app-support-form .js-form-type-select,
#fb-app-deletion-form .js-form-type-textfield,
#fb-app-deletion-form .js-form-type-select {
    float: none;
    margin: 0 0 20px 0;
  }
  #fg2015-app-support-form .description,
#fb-app-deletion-form .description {
    margin-bottom: 0;
  }
}

@media only screen and (max-width: 600px) {
  #edit-payment-method-details {
    display: block;
  }
  #fg2015-app-support-form select#edit-payment-method {
    width: 100%;
  }
}
#fg2015-register-update-form {
  max-width: 768px;
}

#fg2015-register-update-form .form-type-textfield,
#fg2015-register-update-form .form-type-checkbox,
#fg2015-register-update-form .form-type-select {
  margin-bottom: 20px;
}

#fg2015-register-update-form select,
#fg2015-register-update-form input[type=text] {
  max-width: 375px;
  width: 100%;
}

#fg2015-register-update-form input[name=email] {
  background: url(../../img/form-elements/envelope.png) no-repeat 100%;
  background-size: 33px;
}

#fg2015-register-update-form input[name$=name] {
  background: url(../../img/form-elements/user.png) no-repeat 100%;
  background-size: 28px;
}

#fg2015-register-update-form .form-item-first-name {
  float: left;
  margin: 0 10px 0 0;
}

#fg2015-register-update-form input.form-checkbox {
  float: left;
  height: 24px;
  margin: 10px 5px 5px 5px;
}

#fg2015-register-update-form legend,
#fg2015-register-update-form .form-type-textfield > label {
  font-weight: 600;
  font-size: 13.5px;
  line-height: normal;
  padding-bottom: 5px;
}

.form-radios {
  display: flex;
  flex-direction: row;
  justify-content: stretch;
  margin: 0 0 20px 0;
}

.form-type-radio {
  background: #f6f6f6;
  border: 1px solid #e5e5e5;
  flex: 1;
}

.form-type-radio input[type=radio] {
  position: absolute;
  left: -100000px;
}

.form-type-radio input[type=radio] + label {
  display: block;
  padding: 12px 20px 12px 50px;
  position: relative;
}

.form-type-radio input[type=radio] + label:before {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid #d40660;
  position: absolute;
  left: 20px;
  top: 24px;
  margin-top: -9px;
}

.form-type-radio input[type=radio]:focus + label {
  box-shadow: none !important;
}

.form-type-radio input[type=radio]:checked + label:after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  position: absolute;
  left: 24px;
  top: 24px;
  background: #d40660;
  margin-top: -5px;
}

#fg2015-register-update-form .form-type-radio {
  border-right: 1px solid #e5e5e5;
}

#fg2015-register-update-form .form-type-radio:last-child {
  border-right: none;
}

@media only screen and (max-width: 1206px) {
  #fg2015-register-update-form .form-item-first-name {
    float: none;
    margin: 0 0 20px 0;
  }
}
@media only screen and (max-width: 600px) {
  #edit-mticket-enquiry-payment-detail {
    display: block;
  }
}
.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 12px;
  word-wrap: break-word;
  opacity: 1;
}

.tooltip .arrow {
  position: absolute;
  display: block;
  width: 0.4rem;
  height: 0.4rem;
}

.tooltip .arrow::before {
  position: absolute;
  border-color: transparent;
  border-style: solid;
}

.tooltip[x-placement^=top] {
  padding: 0.4rem 0;
}

.tooltip[x-placement^=top] .arrow {
  bottom: 0;
}

.tooltip[x-placement^=top] .arrow::before {
  margin-left: -0.4rem;
  content: "";
  border-width: 0.4rem 0.4rem 0;
  border-top-color: #0c376e;
}

.tooltip[x-placement^=right] {
  padding: 0 0.4rem;
}

.tooltip[x-placement^=right] .arrow {
  left: 0;
}

.tooltip[x-placement^=right] .arrow::before {
  margin-top: -0.4rem;
  content: "";
  border-width: 0.4rem 0.4rem 0.4rem 0;
  border-right-color: #0c376e;
}

.tooltip[x-placement^=bottom] {
  padding: 0.4rem 0;
}

.tooltip[x-placement^=bottom] .arrow {
  top: 0;
}

.tooltip[x-placement^=bottom] .arrow::before {
  margin-left: -0.4rem;
  content: "";
  border-width: 0 0.4rem 0.4rem;
  border-bottom-color: #0c376e;
}

.tooltip[x-placement^=left] {
  padding: 0 0.4rem;
}

.tooltip[x-placement^=left] .arrow {
  right: 0;
}

.tooltip[x-placement^=left] .arrow::before {
  right: 0;
  margin-top: -0.4rem;
  content: "";
  border-width: 0.4rem 0 0.4rem 0.4rem;
  border-left-color: #0c376e;
}

.tooltip-inner {
  max-width: 200px;
  padding: 0.25rem 0.5rem;
  color: #fff;
  text-align: center;
  background-color: #0c376e;
  border-radius: 0.25rem;
}

label span.info {
  position: absolute;
  right: 0;
  border-radius: 50%;
  font-weight: 700;
  padding: 0 0 0 1px;
  width: 16px;
  height: 16px;
  border: 1px solid #555;
  text-align: center;
  line-height: 14px;
  font-size: 10px;
  margin: 0;
}

.page-user-edit .fieldset-legend .summary:empty {
  display: none !important;
}

#user-pass div.captcha {
  margin-bottom: 20px;
}

/*
----------------------------------------------------------
User Pages
----------------------------------------------------------
*/
.user-form fieldset:not(#edit-gdpr-container),
#user-account-form fieldset:not(#edit-gdpr-container),
#user-personal-form fieldset:not(#edit-gdpr-container),
#user-delivery-form fieldset:not(#edit-gdpr-container) {
  position: relative;
  display: inline-block;
  width: 100%;
  overflow: hidden;
  clear: both;
}
.user-form fieldset:not(#edit-gdpr-container) .fieldset-legend,
#user-account-form fieldset:not(#edit-gdpr-container) .fieldset-legend,
#user-personal-form fieldset:not(#edit-gdpr-container) .fieldset-legend,
#user-delivery-form fieldset:not(#edit-gdpr-container) .fieldset-legend {
  font-size: 18px;
  font-weight: 600;
  line-height: 32px;
  display: block;
  padding: 0 0 24px;
  overflow: hidden;
}
.user-form .form-item,
#user-account-form .form-item,
#user-personal-form .form-item,
#user-delivery-form .form-item {
  min-height: 49px;
  height: auto;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  padding-bottom: 5px;
  margin-bottom: 5px;
  transition: all 0.5s;
  position: relative;
  width: 100%;
}
.user-form .form-item label,
#user-account-form .form-item label,
#user-personal-form .form-item label,
#user-delivery-form .form-item label {
  width: 40%;
  display: block;
  float: left;
  position: relative;
  line-height: 42px;
  padding: 0;
}
.user-form .form-item input[type=checkbox] + label,
#user-account-form .form-item input[type=checkbox] + label,
#user-personal-form .form-item input[type=checkbox] + label,
#user-delivery-form .form-item input[type=checkbox] + label {
  padding-left: 28px;
}
.user-form .form-item [name],
.user-form .form-item .description,
.user-form .form-item .password-strength,
.user-form .form-item .password-suggestions,
.user-form .form-item .password-confirm-message,
#user-account-form .form-item [name],
#user-account-form .form-item .description,
#user-account-form .form-item .password-strength,
#user-account-form .form-item .password-suggestions,
#user-account-form .form-item .password-confirm-message,
#user-personal-form .form-item [name],
#user-personal-form .form-item .description,
#user-personal-form .form-item .password-strength,
#user-personal-form .form-item .password-suggestions,
#user-personal-form .form-item .password-confirm-message,
#user-delivery-form .form-item [name],
#user-delivery-form .form-item .description,
#user-delivery-form .form-item .password-strength,
#user-delivery-form .form-item .password-suggestions,
#user-delivery-form .form-item .password-confirm-message {
  width: 60%;
  margin: 0;
  float: right;
  position: relative;
}
.user-form .form-item .description,
.user-form .form-item .password-strength,
.user-form .form-item .password-suggestions,
.user-form .form-item .password-confirm-message,
#user-account-form .form-item .description,
#user-account-form .form-item .password-strength,
#user-account-form .form-item .password-suggestions,
#user-account-form .form-item .password-confirm-message,
#user-personal-form .form-item .description,
#user-personal-form .form-item .password-strength,
#user-personal-form .form-item .password-suggestions,
#user-personal-form .form-item .password-confirm-message,
#user-delivery-form .form-item .description,
#user-delivery-form .form-item .password-strength,
#user-delivery-form .form-item .password-suggestions,
#user-delivery-form .form-item .password-confirm-message {
  overflow: hidden;
  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);
  margin: 5px 0 0;
}
.user-form input.postal-code,
#user-account-form input.postal-code,
#user-personal-form input.postal-code,
#user-delivery-form input.postal-code {
  width: calc(60% - 124px) !important;
  float: left !important;
}
.user-form input[value=Lookup],
#user-account-form input[value=Lookup],
#user-personal-form input[value=Lookup],
#user-delivery-form input[value=Lookup] {
  float: right !important;
  width: 120px !important;
  margin-top: -54px !important;
  position: relative !important;
}
.user-form .password-suggestions ul,
#user-account-form .password-suggestions ul,
#user-personal-form .password-suggestions ul,
#user-delivery-form .password-suggestions ul {
  margin-bottom: 0 !important;
}
.user-form fieldset#edit-gdpr-container .form-item,
#user-account-form fieldset#edit-gdpr-container .form-item,
#user-personal-form fieldset#edit-gdpr-container .form-item,
#user-delivery-form fieldset#edit-gdpr-container .form-item {
  width: 50%;
  float: left;
}
.user-form fieldset h4:nth-of-type(2),
#user-account-form fieldset h4:nth-of-type(2),
#user-personal-form fieldset h4:nth-of-type(2),
#user-delivery-form fieldset h4:nth-of-type(2) {
  padding-top: 20px;
  display: block;
  overflow: hidden;
}
.user-form .captcha,
#user-account-form .captcha,
#user-personal-form .captcha,
#user-delivery-form .captcha {
  margin-bottom: 10px;
}
.user-form #edit-delivery-information legend span,
#user-account-form #edit-delivery-information legend span,
#user-personal-form #edit-delivery-information legend span,
#user-delivery-form #edit-delivery-information legend span {
  padding-bottom: 0 !important;
}
.user-form #edit-delivery-information .address_copy,
#user-account-form #edit-delivery-information .address_copy,
#user-personal-form #edit-delivery-information .address_copy,
#user-delivery-form #edit-delivery-information .address_copy {
  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 0.2s;
  border-radius: 2px;
  border: 1px solid rgba(0, 0, 0, 0.2) !important;
  background: rgba(0, 0, 0, 0.05) !important;
  color: #777 !important;
  font-weight: 600;
  position: relative;
}
.user-form #edit-delivery-information .address_copy:hover,
#user-account-form #edit-delivery-information .address_copy:hover,
#user-personal-form #edit-delivery-information .address_copy:hover,
#user-delivery-form #edit-delivery-information .address_copy:hover {
  color: #fafafa !important;
  background: #454545 !important;
}
.user-form #edit-delivery-information .address_copy:hover:before,
#user-account-form #edit-delivery-information .address_copy:hover:before,
#user-personal-form #edit-delivery-information .address_copy:hover:before,
#user-delivery-form #edit-delivery-information .address_copy: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);
}
.user-form #edit-delivery-information .address_copy:before,
#user-account-form #edit-delivery-information .address_copy:before,
#user-personal-form #edit-delivery-information .address_copy:before,
#user-delivery-form #edit-delivery-information .address_copy:before {
  content: "\e939";
  font-family: first-icons;
  font-weight: normal;
  left: 8px;
  font-size: 18px;
  position: absolute;
  width: 26px;
  text-align: center;
  transition: all 0.5s;
  transform: translate3d(0, 0, 0) rotate(0);
  -ms-transform: translate3d(0, 0, 0) rotate(0);
  -webkit-transform: translate3d(0, 0, 0) rotate(0);
}
.user-form input[value=Update],
#user-account-form input[value=Update],
#user-personal-form input[value=Update],
#user-delivery-form input[value=Update] {
  float: right;
  margin: 10px 0 30px 0;
}

.user-login-form + ul {
  display: none !important;
}

#firstbus-login-form label,
#firstbus-login-form .description,
[id*=user-login-form] label,
[id*=user-login-form] .description {
  display: none;
}
#firstbus-login-form .form-item,
[id*=user-login-form] .form-item {
  margin-bottom: 20px;
}
#firstbus-login-form #edit-submit,
[id*=user-login-form] #edit-submit {
  float: right;
}
#firstbus-login-form #edit-comment p,
[id*=user-login-form] #edit-comment p {
  margin: 0;
  line-height: 21px;
}
#firstbus-login-form #edit-comment p:nth-of-type(3),
[id*=user-login-form] #edit-comment p:nth-of-type(3) {
  margin-top: 20px;
  padding-left: 50px;
  background: url(/themes/custom/firstbus/assets/img/icons/front-phone-jaunty.png);
  background-position: 0;
  background-size: 40px 61px;
  background-repeat: no-repeat;
}
#firstbus-login-form .captcha,
[id*=user-login-form] .captcha {
  margin-bottom: 10px;
}

.pagename-login main {
  width: 100%;
  max-width: 400px;
  float: none;
  margin: 40px auto;
  float: none !important;
}

.user-account-link {
  position: relative;
  margin-bottom: 20px;
}
.user-account-link a {
  position: relative;
  line-height: 24px;
  padding: 10px 0;
  display: block;
  float: left;
  width: calc((100% - 10px) / 3);
  background: rgba(0, 0, 0, 0.1);
  text-align: center;
  font-weight: 700;
  background: rgba(0, 0, 0, 0.1);
  color: #222;
  border-radius: 2px;
  font-size: 14px;
  margin-right: 5px;
}
.user-account-link a:last-of-type {
  margin-right: 0;
}
.user-account-link a.active {
  background: #d5045f;
  color: #fafafa;
}
.user-account-link a.active:before {
  content: "\ea3a";
  font-family: first-icons;
  font-weight: 400;
  font-size: 13.5px;
  position: absolute;
  top: calc(100% - 12px);
  left: 50%;
  display: block;
  width: 24px;
  height: 24px;
  line-height: 24px;
  margin-left: -12px;
  color: #ddd;
  transition: all 0.3s;
  opacity: 1;
  color: #d5045f;
}

#password-policy-status {
  display: none !important;
}

main label .required-text {
  font-size: 11px;
  color: #dc143c;
}
main label .required-text:before {
  content: "*";
  color: #dc143c;
  padding-right: 4px;
}
main label .optional-text {
  font-size: 11px;
  color: #999999;
}
main .js-form-type-checkbox {
  position: relative;
}
main .js-form-type-checkbox input[type=checkbox] {
  position: absolute;
  left: -1000000em;
}
main .js-form-type-checkbox input[type=checkbox]:checked + label:after {
  transform: scale(1);
}
main .js-form-type-checkbox label {
  display: block;
  padding: 8px 0 8px 26px;
  position: relative;
  clear: both;
  overflow: hidden;
}
main .js-form-type-checkbox label:before {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  border: 2px solid #444;
  position: absolute;
  left: 0;
  top: 10px;
  transition: all 0.2s;
}
main .js-form-type-checkbox label:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath fill='%23d40660' d='M927.936 272.992l-68.288-68.288c-12.608-12.576-32.96-12.576-45.536 0l-409.44 409.44-194.752-196.16c-12.576-12.576-32.928-12.576-45.536 0l-68.288 68.288c-12.576 12.608-12.576 32.96 0 45.536l285.568 287.488c12.576 12.576 32.96 12.576 45.536 0l500.736-500.768c12.576-12.544 12.576-32.96 0-45.536z'/%3E%3C/svg%3E");
  background-size: 20px 20px;
  background-position: 0 0;
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  position: absolute;
  left: 2px;
  top: 8px;
  transform: scale(0);
  transition: all 0.3s;
}
main .js-form-type-radio input[type=radio] {
  position: absolute;
  left: -1000000em;
}
main .js-form-type-radio input[type=radio]:checked + label:after {
  background: #d40660;
  transform: scale(1);
}
main .js-form-type-radio label {
  display: block;
  padding: 8px 0 8px 26px;
  position: relative;
}
main .js-form-type-radio label:before {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  border: 2px solid #444;
  position: absolute;
  left: 0;
  top: 10px;
  transition: all 0.2s;
  border-radius: 50%;
}
main .js-form-type-radio label:after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #e0dfdf;
  position: absolute;
  left: 4px;
  top: 14px;
  transition: all 0.2s;
  transform: scale(0.5);
}

#pageWrapper button.palisis_button {
  display: inline-block;
  border: solid #0bab99 1px;
  border-radius: 4px;
  background: #0bab99;
  padding: 9px 25px;
  transition: all 0.2s;
  height: 42px;
  color: #fff !important;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  line-height: 24px;
  cursor: pointer;
  text-decoration: none !important;
  -webkit-appearance: none;
}

#pageWrapper button.palisis_button:hover {
  border-color: #076a5f;
  background-color: #099283;
}

#pageWrapper button.palisis_button.orange {
  border-color: #fb3d01;
  background-color: #fb3d01;
}

#pageWrapper button.palisis_button.orange:hover {
  border-color: #ac2c04;
  background-color: #d83603;
}

#pageWrapper iframe#palisis {
  border: 0px none;
  width: 100%;
  height: 2400px;
  overflow: hidden;
}

.s-w-dyn-shadow {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: #000000;
  opacity: 0.5;
  z-index: 9997;
}

iframe#s-w-iframe {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(204, 204, 204, 0.75);
  z-index: 9998;
}

span.s-w-sep-close {
  position: absolute;
  left: calc(50% + 372px);
  margin-top: -17px;
  width: 34px;
  height: 34px;
  z-index: 9999;
  line-height: 1.4em;
}

span.s-w-sep-close-cross {
  left: calc(50% + 182px);
  background: rgba(204, 204, 204, 0.75);
  border-radius: 25px;
  cursor: pointer;
}

span.s-w-sep-close-cross:hover {
  background: rgb(204, 204, 204);
}

span.s-w-sep-close-cross:after {
  display: block;
  font-size: 30px;
  margin: 7px 0 0 5px;
  color: #fff;
  content: "✕";
}

.buttononline {
  position: fixed;
  bottom: 0;
  right: 20px;
  z-index: 100000;
  box-shadow: 0 0 10px rgba(27, 27, 27, 0.1);
  padding: 0 16px 0 44px;
  background: #0c376e;
  color: #fff;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.buttononline img {
  width: 18px;
  height: 18px;
  position: absolute;
  top: 50%;
  margin-top: -9px;
  left: 16px;
}

.pagename-help-and-support {
  background: #fff;
}

.pagename-help-and-support #content {
  padding: 0 !important;
}

.faqs-search.loading .faqs-search-field:after {
  content: "";
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -8px;
  height: 16px;
  width: 16px;
  border-radius: 50%;
  border: 2px solid #e5e5e5;
  border-top-color: #0a396d;
  animation: 1.6s infinite linear spinner;
}

@keyframes spinner {
  100% {
    transform: rotate(360deg);
  }
}
.faqs-results {
  position: absolute;
  top: calc(100% - 19px);
  background: #fff;
  box-shadow: 0 4px 5px rgba(27, 27, 27, 0.1), -5px 4px 8px rgba(27, 27, 27, 0.1), 5px 4px 8px rgba(27, 27, 27, 0.1);
  width: 100%;
  max-width: 420px;
  left: 20px;
  z-index: 1;
  max-height: 200px;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  display: none;
  -ms-overflow-style: -ms-autohiding-scrollbar;
}

.faqs-results::-webkit-scrollbar {
  width: 0px;
  background: transparent;
}

.faqs-results::-webkit-scrollbar-thumb {
  background: #0a396d;
}

.faqs-results.visible {
  display: block;
}

.faqs-results a {
  color: #0a396d;
  border-bottom: 1px solid #e5e5e5;
  font-weight: 600;
  padding: 10px;
}

.faqs-results p {
  color: #0a396d;
  padding: 10px;
  margin: 0;
  font-weight: 600;
}

.faq-list-group {
  margin-bottom: 30px;
}
.faq-list-group > h3 {
  padding: 0;
  font-weight: 300;
  font-size: 1.8rem;
  margin-bottom: 1.2rem !important;
  line-height: 1.6;
  color: #d1035c;
  text-align: center;
}

.faqs-image-buttons {
  display: flex;
  flex-direction: row;
  margin-bottom: 40px;
  padding-top: 10px;
  flex-wrap: wrap;
  gap: 15px;
  justify-content: center;
  max-width: 900px;
  margin: 60px auto 0 auto;
}
.faqs-image-buttons:after {
  display: none;
}
.faqs-image-buttons a {
  flex: 0 0 calc((100% - 15px) / 2);
  border-radius: 5px;
  display: flex;
  box-shadow: 0 5px 15px rgba(27, 27, 27, 0.1);
  padding: 15px 44px 15px 15px;
  border: 1px solid #d5045e;
  border-left-width: 4px;
  justify-content: space-between;
  position: relative;
  background: #fff;
}
.faqs-image-buttons a h2 {
  font-weight: 300;
  font-size: 1.2rem;
  line-height: 1.6;
  margin-bottom: 0 !important;
}
@media only screen and (max-width: 600px) {
  .faqs-image-buttons a {
    flex: 0 0 100%;
  }
}
.faqs-image-buttons a img {
  width: 26px;
  height: 26px;
  position: absolute;
  top: 50%;
  margin-top: -13px;
  right: 15px;
}

.faqs-search:not(.unstyled) {
  background: #0b386e;
  color: #fff;
  padding: 8px 20px 20px 20px;
  margin: 30px 0;
  position: relative;
}
.faqs-search:not(.unstyled) label {
  font-weight: 200;
  font-size: 18px;
  line-height: 30px;
  margin: 0 0 5px 0;
  color: #fff;
}
.faqs-search:not(.unstyled) .input[type=text] {
  position: relative;
  max-width: 420px;
  width: 100%;
}
.faqs-search:not(.unstyled) a,
.faqs-search:not(.unstyled) p {
  display: block;
  color: #fff;
  padding: 0 0 5px 0;
}

.faqs-search.unstyled {
  max-width: 420px;
  margin: 0 auto;
}
.faqs-search.unstyled label {
  display: none;
}
.faqs-search.unstyled input[type=text] {
  border-radius: 24px;
  height: auto;
  padding: 12px 24px;
  border: 1px solid #0c376e;
}
.faqs-search.unstyled .form-item-autocomplete {
  position: relative;
}
.faqs-search.unstyled .form-item-autocomplete:after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath fill='%230c376e' d='M684.416 676.523c-1.451 1.109-2.859 2.347-4.224 3.712s-2.56 2.731-3.712 4.224C622.805 736.214 549.803 768 469.333 768c-82.475 0-157.099-33.365-211.2-87.467s-87.467-128.725-87.467-211.2 33.365-157.099 87.467-211.2 128.725-87.467 211.2-87.467 157.099 33.365 211.2 87.467S768 386.858 768 469.333c0 80.469-31.787 153.472-83.584 207.189zm241.749 189.312-156.8-156.8c52.523-65.707 83.968-149.035 83.968-239.701 0-106.027-43.008-202.069-112.469-271.531S575.36 85.334 469.333 85.334s-202.069 43.008-271.531 112.469S85.333 363.307 85.333 469.334s43.008 202.069 112.469 271.531 165.504 112.469 271.531 112.469c90.667 0 173.995-31.445 239.701-83.968l156.8 156.8c16.683 16.683 43.691 16.683 60.331 0s16.683-43.691 0-60.331z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 26px 26px;
  width: 26px;
  height: 26px;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
}

.pagename-help-and-support .ui-menu {
  max-width: 420px !important;
  background: #fff;
  box-shadow: 0 4px 5px rgba(27, 27, 27, 0.1), -5px 4px 8px rgba(27, 27, 27, 0.1), 5px 4px 8px rgba(27, 27, 27, 0.1);
}
.pagename-help-and-support .ui-menu li a {
  color: #0a396d;
  border-bottom: 1px solid #e5e5e5;
  font-weight: 600;
  padding: 10px;
  color: #0a396d;
  padding: 10px;
  margin: 0;
  font-weight: 600;
  display: block;
}
.pagename-help-and-support .ui-menu li a:hover {
  color: white;
  background: #0a396d;
}

.view-display-id-faqs-help-and-support h2 {
  margin-top: 20px;
}
.view-display-id-faqs-help-and-support .faq {
  background: #fff !important;
  margin: 0;
}
.view-display-id-faqs-help-and-support .faq > button,
.view-display-id-faqs-help-and-support .faq > a {
  padding: 15px 40px 16px 20px;
  width: 100%;
  text-align: left;
  height: auto;
  line-height: 1.8;
  font-size: 1.1rem;
  font-weight: 400 !important;
  border-bottom: none !important;
  background: none !important;
  color: #0b386e !important;
  border: 1px solid #0c376e !important;
  border-radius: 5px;
  margin-bottom: 15px;
  display: block;
}
.view-display-id-faqs-help-and-support .faq > button:focus,
.view-display-id-faqs-help-and-support .faq > a:focus {
  outline: none !important;
}
.view-display-id-faqs-help-and-support .faq > button:after,
.view-display-id-faqs-help-and-support .faq > a:after {
  position: absolute;
  right: 10px;
  top: 50%;
  font-size: 28px;
  margin-top: -14px;
  color: #0b386e !important;
  transition: all 0.4s;
  content: "";
  width: 28px;
  height: 28px;
  background-repeat: no-repeat;
  background-size: 28px 28px;
  background-position: center center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath fill='%230c376e' d='M225.835 414.165l256 256c16.683 16.683 43.691 16.683 60.331 0l256-256c16.683-16.683 16.683-43.691 0-60.331s-43.691-16.683-60.331 0l-225.835 225.835-225.835-225.835c-16.683-16.683-43.691-16.683-60.331 0s-16.683 43.691 0 60.331z'%3E%3C/path%3E%3C/svg%3E");
}
.view-display-id-faqs-help-and-support .faq > button.active:after,
.view-display-id-faqs-help-and-support .faq > a.active:after {
  transform: rotate(180deg);
}
.view-display-id-faqs-help-and-support .faq > a {
  position: relative;
}
.view-display-id-faqs-help-and-support .faq > a:after {
  transform: rotate(-90deg);
}
.view-display-id-faqs-help-and-support .faq > div {
  height: 0;
  overflow: hidden;
  background: none;
  position: relative;
  padding: 0;
  padding-left: 15px;
  padding-right: 15px;
  padding-top: 0 !important;
}
.view-display-id-faqs-help-and-support .faq button.active + div {
  margin-bottom: 30px;
}

.faq-group-container .faq-group-title {
  margin-bottom: 10px;
}
.faq-group-container .faq-group {
  margin-bottom: 30px;
}

.feedback-cta {
  background: #f0f0f0;
  padding: 40px 0;
  position: relative;
  text-align: center;
  margin-bottom: 40px;
}
.feedback-cta:before {
  position: absolute;
  left: -2500%;
  width: 5000%;
  content: "";
  top: 0;
  bottom: 0;
  background: #f0f0f0;
}
.feedback-cta h2 {
  padding: 0;
  font-weight: 300;
  font-size: 1.8rem;
  margin-bottom: 1.2rem !important;
  line-height: 1.6;
  color: #0c376e;
  text-align: center;
}
.feedback-cta p {
  font-size: 1.2rem;
  line-height: 1.8;
}
.feedback-cta a {
  background: #d5045e;
  color: #fff;
  padding: 15px 30px;
  border-radius: 3px;
  margin-top: 10px;
  display: inline-block;
  font-weight: 600;
}
.feedback-cta .wrap > a {
  margin-bottom: 10px;
}

#views-exposed-form-faqs-help-and-support {
  max-width: 420px;
  margin: 0 auto;
  position: relative;
}
#views-exposed-form-faqs-help-and-support label {
  display: none;
}
#views-exposed-form-faqs-help-and-support input[type=text] {
  border-radius: 24px;
  height: auto;
  padding: 12px 24px;
  border: 1px solid #0c376e;
}
#views-exposed-form-faqs-help-and-support input[type=submit] {
  position: absolute;
  font-size: 0;
  color: transparent;
  background: transparent;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  right: 4px;
  top: 3px;
  padding: 0;
}
#views-exposed-form-faqs-help-and-support:before {
  content: "";
  position: absolute;
  font-size: 0;
  color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' x='0' y='0' version='1.1' viewBox='0 0 175.992 175.993'%3E%3Cpath fill='%23103163' d='M87.996 0C39.397 0 0 39.397 0 87.996c0 48.6 39.397 87.996 87.996 87.996 48.6 0 87.996-39.397 87.996-87.996S136.595 0 87.996 0zM122.7 122.7c-.586.586-1.353.88-2.12.88s-1.536-.294-2.122-.88l-13.712-13.712a31.815 31.815 0 0 1-20.37 7.351c-17.624 0-31.963-14.339-31.963-31.963s14.339-31.963 31.963-31.963c17.624 0 31.963 14.338 31.963 31.963a31.817 31.817 0 0 1-7.351 20.37l13.712 13.712a2.999 2.999 0 0 1 0 4.242z'/%3E%3Cpath fill='%23103163' d='M84.376 58.413c-14.316 0-25.963 11.647-25.963 25.963s11.647 25.963 25.963 25.963c7.093 0 13.529-2.862 18.22-7.488.04-.046.07-.097.114-.14.044-.044.095-.075.14-.116 4.627-4.69 7.489-11.126 7.489-18.22 0-14.315-11.646-25.962-25.963-25.962z'/%3E%3C/svg%3E");
  background-size: 44px 44px;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  right: 4px;
  top: 3px;
  padding: 0;
}

.help-and-support-introduction h2 {
  font-weight: 300;
  font-size: 1.8rem;
  line-height: 1.4;
}

.fg2015_tpl_fg2015_tpl_how_catch_bus .htctbdiv {
  position: relative;
  text-align: left;
  color: #fff;
}

.fg2015_tpl_fg2015_tpl_how_catch_bus .htctbtop-left {
  position: absolute;
  top: 10px;
  left: 1px;
  font-size: 38px;
  font-family: "Open Sans";
  font-style: normal;
  font-weight: bold;
  line-height: 36px !important;
  text-shadow: 2px 1px 3px rgba(0, 0, 0, 0.4);
}

.fg2015_tpl_fg2015_tpl_how_catch_bus .template_header {
  padding: 0 0 0 0 !important;
}

@media only screen and (min-width: 1024px) {
  .fg2015_tpl_fg2015_tpl_how_catch_bus .htctbtop-left {
    top: 48px;
    font-size: 78px;
    line-height: 78px !important;
  }
}
.fg-apps-cta {
  padding: 20px 0;
}

.fg-apps-cta .wrap > * {
  margin-bottom: 0;
}

.fg-apps-cta .wrap p.text {
  padding-right: 500px;
}

.fg-apps-cta .wrap p:not(.text) {
  float: right;
  position: absolute;
  right: 30px;
  top: 50%;
  margin-top: -22px;
}

.fg-apps-cta .wrap p:not(.text) > * {
  margin-top: 0;
  margin-bottom: 0;
}

.fg-apps-cta .wrap img {
  margin: 0 !important;
}

.fg-apps-cta a {
  color: #fff;
  text-decoration: underline;
}

@media only screen and (max-width: 960px) {
  .fg-apps-cta .wrap p:not(.text) {
    right: 20px;
  }
}
@media only screen and (max-width: 830px) {
  .fg-apps-cta .wrap p.text {
    padding-right: 0;
    text-align: center;
    float: none;
  }
  .fg-apps-cta .wrap p:not(.text) {
    position: relative;
    right: auto;
    top: auto;
    margin: 10px auto 0 auto;
    float: none;
    text-align: center;
  }
  .fg-apps-cta .wrap p:not(.text) > a {
    margin-bottom: 4px;
  }
}
@media only screen and (max-width: 460px) {
  .fg-apps-cta .wrap p:not(.text) > a {
    margin-bottom: 4px;
    clear: both;
    display: block;
  }
}
.area-select-wrap {
  padding: 20px 0;
  position: relative;
}

.area-select-wrap .wrap {
  margin-top: 10px;
  padding-top: 20px;
}

.area-select-wrap .wrap:first-child {
  margin-top: 0;
  border-top: none;
  padding-top: 0;
}

.area-select-wrap p {
  margin: 0 0 10px 0;
}

.area-select-wrap h2 {
  margin: 0;
  font-weight: 300;
  font-size: 24px;
  line-height: 36px;
  color: #fff;
}

.area-select-wrap select,
.area-select-wrap .geo-location {
  max-width: calc(50% - 20px);
  width: 100%;
}

.area-select-wrap span.or {
  display: block;
  width: 40px;
  position: absolute;
  left: calc(50% - 20px);
  text-align: center;
  line-height: 56px;
}

.area-select-wrap select {
  float: right;
  line-height: 28px;
  padding: 12px 32px 12px 12px;
  height: 56px;
  font-weight: 500;
  border: none;
  border-radius: 0;
  border-bottom: 2px solid #c1c1c1;
  background-color: #fff;
  margin: 0 0 4px;
  margin: 0;
}

.area-select-wrap button {
  background: #212b55;
  height: 56px;
  border-bottom: 2px solid #000;
  display: block;
  margin: 0;
  width: 100%;
}

.area-select-wrap .wrap.recent:before {
  content: "";
  display: block;
  position: absolute;
  left: 30px;
  top: 10px;
  width: calc(100% - 60px);
  height: 1px;
  border-top: 1px solid #fff;
}

@media only screen and (max-width: 960px) {
  .area-select-wrap .wrap.recent:before {
    left: 20px;
    width: calc(100% - 40px);
  }
}
@media only screen and (max-width: 768px) {
  .area-select-wrap .wrap.recent:before {
    left: 10px;
    width: calc(100% - 20px);
  }
}
.area-select-wrap .recent span {
  display: block;
  float: left;
  margin: 5px 0 0 0;
  padding: 0 0 2px 0;
}

.area-select-wrap .recent a {
  display: block;
  float: left;
  margin: 5px 0 0 10px;
  border-radius: 5px;
  background: #0c376e;
  padding: 0 10px 2px 10px;
  color: #ffffff;
}

@media only screen and (min-width: 960px) {
  .area-select-left,
.area-select-right {
    display: block;
    width: calc(50% - 15px);
    float: left;
    position: relative;
  }
  .area-select-right {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    right: 30px;
    width: calc(50% - 45px);
  }
}
@media only screen and (max-width: 959px) {
  .area-select-wrap {
    text-align: center;
  }
  .area-select-wrap p {
    margin: 0 0 20px 0;
    /*        color: #444!important;*/
  }
  .area-select-wrap h2 {
    margin: 0 0 10px 0;
  }
}
@media only screen and (max-width: 500px) {
  .area-select-wrap select,
.area-select-wrap .geo-location {
    max-width: 100%;
    width: 100%;
  }
  .area-select-wrap span.or {
    width: 100%;
    position: relative;
    text-align: center;
    height: 40px;
    left: auto;
    overflow: hidden;
    line-height: 40px;
  }
  .area-select-wrap .recent a {
    margin-left: 0;
    width: 100%;
  }
}
.landing-page-banner {
  padding-bottom: 30px;
}

.landing-page-banner.empty {
  padding-top: 240px;
}

.landing-page-banner-outer {
  position: relative;
  height: 288px;
}

.landing-page-banner-content {
  max-width: 960px;
  margin: 0 auto;
  height: 100%;
}

.landing-page-banner-content-wrap {
  position: relative;
  width: 100%;
  height: 100%;
}

.landing-page-banner-content-inner {
  position: absolute;
  top: 50%;
  width: 100%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.landing-page-banner-content.center {
  text-align: center;
}

.landing-page-banner-content.right {
  text-align: right;
}

.landing-page-banner-content h2 {
  font-weight: 300;
  font-size: 44px;
  line-height: 56px;
  margin: 0;
  text-shadow: 2px 1px 3px rgba(0, 0, 0, 0.4);
}

.landing-page-banner-content p {
  font-size: 18px;
  line-height: 32px;
  margin: 0;
  text-shadow: 2px 1px 3px rgba(0, 0, 0, 0.4);
}

@media only screen and (max-width: 640px) {
  .landing-page-banner {
    background: transparent !important;
  }
}
@media only screen and (min-width: 640px) {
  .landing-page-banner-outer {
    background: transparent !important;
  }
}
@media only screen and (max-width: 768px) {
  .landing-page-banner-outer {
    height: 196px;
  }
  .landing-page-banner-content h2 {
    font-size: 36px;
    line-height: 44px;
  }
  .landing-page-banner-content p {
    font-size: 16px;
    line-height: 28px;
  }
  .landing-page-banner.empty {
    padding-top: 120px;
  }
}
.help-and-support .fb-col-2 {
  padding: 60px 0 !important;
}

.help-and-support .wrap {
  background: transparent url(../img/help-and-support/help-and-support-bg.jpg) no-repeat 100% top/auto 100%;
}

.help-and-support .btn {
  width: 220px;
  margin: 0 0 10px;
  text-align: left;
  position: relative;
}

.landing-page-section.help-and-support .fb-col-2 > h2 {
  font-size: 2rem;
  font-weight: 300;
  line-height: 1.4;
  color: #0c376e;
  margin-bottom: 1.4rem;
}
.landing-page-section.help-and-support .fb-col-2 .faqs-image-buttons {
  margin-top: 0;
}

/*@media only screen and (min-width:960px) {*/
.help-and-support ul li {
  display: inline-block;
  margin-right: 10px;
}

.help-and-support ul li:last-child {
  margin-right: 0;
}

.help-and-support ul li a.btn.back-firstpink {
  background: transparent url(/sites/all/themes/custom/fg2015/assets/img/help-and-support/hs-button-homepage-lp-b.png) no-repeat center center/100% !important;
  width: 140px;
  height: 0;
  padding-bottom: 160px;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0;
  overflow: hidden;
  height: auto;
  color: #10376E !important;
}

.help-and-support ul li a img {
  width: 100%;
  height: auto;
}

.landing-page-section ul li a span {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 0 10px 10px;
  line-height: 22px;
  font-weight: 700;
  font-size: 18px;
  display: block;
}

/*}*/
@media only screen and (min-width: 768px) {
  .landing-page- .wrap .fb-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: flex;
    flex-wrap: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
  }
}
@media only screen and (max-width: 1100px) {
  .help-and-support .fb-col-2 {
    padding: 60px 0 !important;
  }
}
@media only screen and (max-width: 960px) {
  .help-and-support .fb-col-2 {
    padding: 30px 0 !important;
  }
}
@media only screen and (max-width: 768px) {
  .help-and-support .fb-col-2:nth-child(2) {
    display: none;
  }
  .help-and-support .wrap {
    background: none;
  }
  .help-and-support .fb-col-2 {
    text-align: center;
  }
}
.landing-page-banner {
  padding-bottom: 30px;
}

.landing-page-banner.empty {
  padding-top: 240px;
}

@media only screen and (min-width: 769px) {
  .landing-page-section .wrap .fb-row {
    display: flex;
    flex-row: row wrap;
  }
}
.landing-page-section {
  position: relative;
}
.landing-page-section ~ h1 {
  display: none;
}

.landing-page-section .fb-row {
  border-bottom: 3px solid #d50460;
}

.landing-page-section:last-of-type .fb-row {
  border-bottom: none;
}

.landing-page-section.opco-intro .fb-row {
  border: none;
}

.landing-page-section .fb-col-1 {
  padding: 60px 0;
}

.landing-page-section .image {
  position: relative;
}

.landing-page-section .image img {
  position: absolute;
  bottom: 0;
  max-height: 100%;
  width: auto;
}

.landing-page-section .content {
  padding: 80px 0;
}

@media only screen and (max-width: 1100px) {
  .landing-page-section .content {
    padding: 60px 0;
  }
}
@media only screen and (max-width: 960px) {
  .landing-page-section .content {
    padding: 30px 0;
  }
}
@media only screen and (max-width: 768px) {
  .landing-page-section .image {
    display: none;
  }
  .landing-page-section .content {
    text-align: center;
  }
}
.landing-page-section h2 {
  font-weight: 300;
  font-size: 24px;
  line-height: 36px;
}

.landing-page-title {
  font-weight: 300;
  font-size: 24px;
  line-height: 36px;
}

.landing-page-news h2 {
  font-weight: 300;
  font-size: 24px;
  line-height: 36px;
}

.landing-page-news {
  padding: 60px 0;
}

@media only screen and (max-width: 960px) {
  .landing-page-news {
    padding: 30px 0;
  }
}
.landing-page-news-header {
  position: relative;
}

.landing-page-news-header h2 {
  padding-right: 90px;
}

.landing-page-news-header a {
  position: absolute;
  right: 0;
  top: 0;
  line-height: 36px;
  font-weight: 700;
  color: #d5045f;
}

.landing-page-news h3 {
  margin: 0;
  font-weight: 300;
  font-size: 20px;
  line-height: 32px;
}

.landing-page-news .fb-row > .btn {
  margin: 0 auto;
  display: block;
  overflow: hidden;
  clear: both;
  width: 140px;
  top: 20px;
  position: relative;
}

.fb-col-3 .news-panel-summary {
  padding: 0;
  float: left;
  background: transparent;
}

.fb-col-3 .news-content h3 {
  margin: 0;
}

.landing-page-section .row-bottom {
  position: relative;
}

.landing-page-section .row-bottom a.more-news {
  position: absolute;
  top: 10px;
  color: #d40660;
  right: 0;
}

.opco-promotions {
  position: relative;
}
.opco-promotions:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 2000%;
  transform: translateX(-50%);
  background: #d5045f;
  height: 100%;
}

@media only screen and (min-width: 769px) {
  .opco-promotions .fb-col-3 {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .opco-promotions h2 {
    position: relative;
    bottom: -40px;
  }
}
@media only screen and (max-width: 768px) {
  .landing-page-section.opco-promotions .fb-row {
    border: none;
  }
  .opco-promotions h2 {
    position: relative;
    margin-top: 20px;
  }
}
.opco-promotions {
  margin-top: -3px;
}

.opco-promotions h2 {
  color: #fff;
}

.opco-promotions img {
  width: 100%;
  height: auto;
}

.promotion-title {
  position: absolute;
  bottom: 0;
  width: 100%;
  background: rgb(213, 4, 95);
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  color: #fff;
  padding: 14px 20px 15px 20px;
}

.fb-row {
  position: relative;
  margin-bottom: 30px;
  width: 100%;
  display: flex;
  flex-direction: row;
}

.fb-row:last-of-type {
  margin-bottom: 0;
}

[class^=fb-col-] {
  float: left;
  position: relative;
  margin: 0 30px 0 0;
}

[class^=fb-col-]:last-of-type {
  margin-right: 0;
}

.fb-col-1 {
  width: 100%;
}

.fb-col-2 {
  width: calc((100% - 30px) / 2);
  flex: 0 0 calc((100% - 30px) / 2);
}

.fb-col-3 {
  width: calc((100% - 60px) / 3);
  flex: 0 0 calc((100% - 60px) / 3);
}

.fb-col-2-3 {
  width: calc((100% - 30px) / 3 * 2);
  flex: 0 0 calc((100% - 30px) / 3 * 2);
}

.fb-col-4 {
  width: calc((100% - 90px) / 4);
  flex: 0 0 calc((100% - 90px) / 4);
}

.fb-col-5 {
  width: calc((100% - 120px) / 5);
  flex: 0 0 calc((100% - 120px) / 5);
}

.fb-col-6 {
  width: calc((100% - 150px) / 6);
  flex: 0 0 calc((100% - 150px) / 6);
}

.fb-col-7 {
  width: calc((100% - 180px) / 7);
}

.fb-col-8 {
  width: calc((100% - 210px) / 8);
}

.fb-col-9 {
  width: calc((100% - 240px) / 9);
}

.fb-col-10 {
  width: calc((100% - 270px) / 10);
}

.fb-col-11 {
  width: calc((100% - 300px) / 11);
}

.fb-col-12 {
  width: calc((100% - 330px) / 12);
}

@media only screen and (min-width: 960px) {
  .offset-1 {
    margin-left: calc((100% - 120px) / 5);
  }
}
@media only screen and (max-width: 960px) {
  .fb-row {
    position: relative;
    margin-bottom: 20px;
  }
  [class^=fb-col-] {
    margin-right: 20px;
  }
  [class^=fb-col-]:last-of-type {
    margin-right: 0;
  }
}
@media only screen and (max-width: 768px) {
  .fb-row {
    display: block;
  }
  [class^=fb-col-] {
    margin-right: 0;
    margin-bottom: 20px;
    width: 100%;
  }
  [class^=fb-col-]:last-of-type {
    margin-bottom: 0;
  }
  .fb-col-2,
.fb-col-2-3 {
    width: 100%;
    flex: 0 0 100%;
  }
}
.fb-flex-col {
  display: flex;
  flex-direction: column;
}

.text-center {
  text-align: center;
}

.text-primary {
  color: #d5045f;
}

.text-secondary {
  color: #0c376e;
}

.border-primary {
  border: 1px solid #d5045f;
}

.fb-row.full-width-section {
  position: relative;
  padding: 30px 0;
}
.fb-row.full-width-section:before {
  content: "";
  position: absolute;
  top: 0;
  left: -2500%;
  width: 5000%;
  background: #f9f9f9;
  height: 100%;
}

.flex-v-center {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.wrap,
.container {
  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: 300px;
  margin: 30px 0;
  font-size: 13.5px;
  font-weight: 600;
}

.opco #sidebar > div,
.opco #sidebar > ul {
  background: none;
  border: 0;
  padding: 0;
}

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

.sidebar-right #sidebar {
  float: left;
  margin: 30px 0;
}

.sidebar-left #content {
  float: right;
  margin-left: 30px;
}

.sidebar-right #content {
  float: left;
  margin: 30px 30px 30px 0;
}

#content {
  width: 100%;
}

#main.sidebar-left #content,
#main.sidebar-right #content {
  width: calc(100% - 330px);
}

#main.opco.sidebar-right #content {
  width: calc(66.6666666667% - 20px);
}

#main.opco.sidebar-right #content + #sidebar {
  width: calc(33.3333333333% - 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;
}

@media only screen and (max-width: 960px) {
  .wrap,
.container,
#main {
    padding: 0 20px;
  }
  #main.sidebar-left #content,
#main.sidebar-right #content {
    width: calc(100% - 280px);
    margin-left: 20px;
  }
  #main.sidebar-left #sidebar,
#main.sidebar-right #sidebar {
    width: 260px;
    margin: 20px 0;
  }
}
@media only screen and (max-width: 768px) {
  .wrap,
.container,
#main {
    padding: 0 10px;
  }
  #content {
    padding: 10px;
    margin-top: 20px;
    margin-bottom: 20px;
  }
  #main.sidebar-right #sidebar,
#main.sidebar-left #content,
#main.sidebar-right #content {
    margin-left: 0;
    width: 100%;
  }
  #main.sidebar-left #sidebar,
#main.sidebar-right #sidebar {
    width: 100%;
  }
}
.plan-journey-tab-group {
  position: relative;
  max-width: 960px;
  margin: 0 auto;
}

.plan-journey-tab {
  position: relative;
}

.plan-journey-tab input[type=radio] {
  position: absolute;
  left: -10000px;
}

.plan-journey-tab input[type=radio] + label {
  display: block;
  float: left;
  padding: 12px 0;
  width: 30%;
  text-align: center;
  max-width: 300px;
  position: relative;
  background: #0c376e;
  color: #fff;
  box-shadow: inset 0 -7px 9px -7px rgba(0, 0, 0, 0.4);
}

@media only screen and (max-width: 960px) {
  .plan-journey-tab input[type=radio] + label span {
    display: none;
  }
}
.plan-journey-tab input[type=radio]:last-of-type + label {
  border-right: 0;
}

.plan-journey-tab input[type=radio]:checked + label {
  background: #f0f0f0;
  color: #0c376e;
  box-shadow: none;
}

.plan-journey-tab input[type=radio]:focus + label {
  outline: none;
  box-shadow: none;
}

@media only screen and (max-width: 640px) {
  .plan-journey-tab input[type=radio] + label {
    width: 50%;
    max-width: 50%;
  }
  .plan-journey-tab input[type=radio] + label {
    width: 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .plan-journey-tab input[type=radio] + label {
    font-size: 9px;
    text-transform: uppercase;
    font-weight: 700;
  }
}
.plan-journey-tab-content {
  background: #f0f0f0;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}

.plan-journey-tab-content > div {
  display: none;
  padding: 10px;
  position: relative;
}

.plan-journey-tab-content > div.active {
  display: block;
}

.plan-journey-tab-content .journey-planner-form .jp-form-half {
  width: calc(100% - 244px);
  margin: 0 10px 0 0;
  float: left;
  position: relative;
}

.plan-journey-tab-content .journey-planner-form .jp-location-field {
  width: calc((100% - 10px) / 2);
  margin: 0 10px 0 0;
  float: left;
  position: relative;
}

.plan-journey-tab-content .journey-planner-form .fg-date-picker {
  width: 234px;
}

.plan-journey-tab-content .journey-planner-form .jp-location-field:last-of-type {
  margin-right: 0;
}

.plan-journey-tab-content .journey-planner-form .jp-location-field .jp-input {
  border: 1px solid #e5e5e5 !important;
  border-bottom: 2px solid #c1c1c1 !important;
  margin: 0 !important;
}

.plan-journey-tab-content .journey-planner-form .jp-location-field#journey-to {
  margin-top: 0;
}

.plan-journey-tab-content .journey-planner-form button[type=submit] {
  height: 56px;
  width: 140px;
  float: right;
  margin: 0;
  border-bottom: 2px solid #000;
}

.plan-journey-tab input[type=radio] + label:after {
  content: "";
  width: 1px;
  background: rgba(255, 255, 255, 0.2);
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
}

.plan-journey-tab input[type=radio]:checked + label:after,
.plan-journey-tab input[type=radio]:last-of-type + label:after {
  display: none;
}

.plan-journey-tab-content .jp-location-field label {
  top: 15px;
}

.jp-location-field a {
  margin: -14px 0 0;
}

.plan-journey-tab-content #service,
.plan-journey-tab-content form#geo_input input {
  line-height: 28px;
  padding: 12px 32px 12px 12px;
  height: 56px;
  font-weight: 500;
  border: none;
  border-radius: 0;
  border-bottom: 2px solid #c1c1c1;
  background-color: #fff;
  margin: 0;
  max-width: calc(100% - 130px);
  float: left;
  position: relative;
}

.plan-journey-tab-content #service {
  max-width: calc(100% - 170px);
}

.plan-journey-tab-content input[value="Find Timetables"],
.plan-journey-tab-content form#geo_input button {
  background: #0c376e !important;
  height: 56px;
  padding: 12px 0 !important;
  float: left;
  width: 120px;
  margin: 0 0 0 10px;
  border-bottom: 2px solid #000 !important;
  line-height: 32px;
}

.plan-journey-tab-content input[value="Find Timetables"] {
  width: 160px;
}

@media only screen and (max-width: 640px) {
  .plan-journey-tab-content .journey-planner-form .location-fields,
.plan-journey-tab-content .journey-planner-form .jp-form-half,
.plan-journey-tab-content .journey-planner-form .fg-date-picker {
    width: 100%;
  }
  .plan-journey-tab-content .journey-planner-form .jp-location-field {
    width: 100%;
    margin: 0;
  }
  .plan-journey-tab-content .journey-planner-form button {
    width: 100% !important;
    margin-top: 10px !important;
  }
  .plan-journey-tab-content form#geo_input input {
    max-width: calc(100% - 68px);
  }
  .plan-journey-tab-content form#geo_input button {
    width: 58px;
  }
}
.pac-container a {
  margin: 0;
}

@media only screen and (min-width: 641px) {
  .page-front .jp-form-half a.jp-swap,
.page-opco .jp-form-half a.jp-swap {
    left: 50%;
    margin-left: -12px;
    transform: rotate(-90deg);
    margin-top: -12px;
  }
}
#sidebar .location-fields {
  width: 100%;
  margin: 0 0 5px 0;
}

#sidebar .location-fields > div {
  width: 100% !important;
  margin: 0 !important;
}

#sidebar .location-fields > div > * {
  margin: 0 !important;
}

#sidebar .fg-date-picker {
  margin: -10px 0 0 0 !important;
  position: relative;
}

#sidebar a.jp-swap {
  margin-top: -16px !important;
}

.plan-journey-single-tab .journey-planner > h2 {
  display: none;
}

#footer {
  background: #0c376e;
  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.3333333333% - 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: rgb(213, 4, 95);
  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-right .footer-first-logo {
  width: 80px;
  height: auto;
}

.credits-right p,
.credits-right a {
  margin: 0;
  color: #d5d5d5;
}

ul#external_navigation li {
  width: 33%;
  float: left;
  position: relative;
  margin: 0 0 12px 0;
}

.credits-right div {
  margin: 16px 0 32px 0;
}

.credits-right div:last-child {
  margin-bottom: 0;
}

.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;
}

body .sm-logo:last-of-type {
  margin-right: 0;
}

.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: "\e93e";
}

.sm-logo ul {
  display: none;
  position: absolute;
  margin-top: -40px;
  margin-left: 35px;
  border: 1px solid #d5045f;
  background: #333333;
  line-height: 18px;
  text-align: left;
}

.sm-logo ul li {
  display: block;
}

.sm-logo ul li a {
  display: block;
  color: #f5f5f5;
  font-size: 12px;
  padding: 0 5px;
  cursor: pointer;
}

.sm-logo ul li a:hover {
  background: #d5045f;
}

.sm-logo:hover ul {
  display: block;
}

.site-footer .wrap > p {
  display: block;
  overflow: hidden;
  text-align: center;
  padding: 0 0 30px 0;
  margin: 0;
  clear: both;
}

@media only screen and (max-width: 786px) {
  #footer h2.section-title {
    border: none;
    padding: 0;
    text-align: center;
  }
  ul#external_navigation li {
    width: 100%;
    text-align: center;
    position: relative;
    margin: 0 0 12px 0;
  }
  .credits-right div {
    margin-top: 16px;
    text-align: center;
    padding-bottom: 10px;
  }
}
.site-footer > .wrap > p {
  padding-top: 40px;
}

.site-footer .credits-right .credits-right-inner .opco-specific-logo {
  float: right;
  margin: 0;
}

.site-footer .credits-right .credits-right-inner .opco-specific-logo a {
  display: inline-block;
  line-height: normal;
}

.site-footer .credits-right .credits-right-inner .opco-specific-logo img {
  display: inline-block;
}

@media only screen and (max-width: 786px) {
  .site-footer .credits-right .credits-right-inner .opco-specific-logo {
    float: none;
    margin: 16px 0 0 0;
  }
}
.pathfinder-block {
  clear: both;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
}

.pathfinder-block:first-of-type {
  margin-top: 30px;
}

.pathfinder-item {
  position: relative;
  display: block;
  float: left;
  flex: 0 0 auto;
  width: calc(25% - 11.25px);
  background: #f4f4f4;
  margin: 10px 15px 0 0;
  border-top: 2px solid #b7bad8;
  padding: 5px;
}

.pathfinder-item:last-child {
  margin-right: 0;
}

.pathfinder-item.pathfinder-full {
  padding-top: 60px;
}

.pathfinder-item.pathfinder-mini {
  padding-right: 30px;
}

.pathfinder-item.pathfinder-mini:after {
  position: absolute;
  right: 12px;
  top: 50%;
  -webkit-transform: translateY(-60%);
  -ms-transform: translateY(-60%);
  transform: translateY(-60%);
  content: "›";
  color: #999999;
  font-size: 180%;
}

.pathfinder-item h2 {
  margin: 5px 0 10px 0;
  padding: 0 10px;
  font-size: 13.5px;
  font-weight: bold;
  line-height: normal;
}

.pathfinder-item.pathfinder-full h2 {
  position: absolute;
  top: 30px;
  left: 0;
  margin: 0;
  width: 100%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  text-align: center;
}

.pathfinder-item.pathfinder-mini h2 {
  margin: 0 0 5px 0;
}

.pathfinder-item img {
  width: 100%;
  height: auto;
}

.pathfinder-item p {
  margin: 10px 0;
  padding: 0 10px;
  text-align: center;
  line-height: normal;
}

.pathfinder-item.pathfinder-mini p {
  text-align: left;
  margin-top: 10px;
}

@media only screen and (max-width: 1200px) {
  .sidebar-left .pathfinder-item,
.sidebar-right .pathfinder-item {
    flex: 0 0 auto;
    width: calc(50% - 7.5px);
  }
  .sidebar-left .pathfinder-item:nth-child(2n),
.sidebar-right .pathfinder-item:nth-child(2n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 960px) {
  .sidebar-left .pathfinder-item,
.sidebar-right .pathfinder-item,
.no-sidebars .pathfinder-item {
    flex: 0 0 auto;
    width: calc(50% - 7.5px);
    margin-right: 15px;
  }
  .sidebar-left .pathfinder-item:nth-child(2n),
.sidebar-right .pathfinder-item:nth-child(2n),
.no-sidebars .pathfinder-item:nth-child(2n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 768px) {
  .pathfinder-item.pathfinder-full {
    padding-top: 80px;
    width: 100%;
    margin: 0 0 10px 0;
  }
  .pathfinder-item.pathfinder-full h2 {
    top: 40px;
  }
}
@media only screen and (max-width: 480px) {
  .sidebar-left .pathfinder-item,
.sidebar-right .pathfinder-item,
.no-sidebars .pathfinder-item {
    flex: 0 0 100%;
    margin-right: 0;
  }
}
.site-title {
  width: auto;
  float: left;
  position: relative;
  padding: 20px 0;
}

.small .site-title {
  padding: 15px 0;
}

.site-title a {
  display: block;
  color: #fff;
  font-weight: 700;
  transition: all 0.2s;
  float: left;
}

.site-title a:focus {
  outline: none;
  box-shadow: none !important;
}

.site-title .logo {
  height: 40px;
}

.small .site-title .logo {
  height: 30px;
}

.site-title img {
  height: 100%;
  width: auto;
  transition: all 0.2s;
  display: inline-block;
}

.site-title.opco-title {
  padding: 15px 0;
}

.small .site-title.opco-title {
  padding: 10px 0;
}

.site-title.opco-title .logo {
  height: 30px;
}

.small .site-title.opco-title .logo {
  height: 26px;
}

.site-title.opco-title .opco-link {
  height: 20px;
  line-height: 12px;
  padding-top: 8px;
  clear: left;
  font-weight: 400;
  font-size: 11px;
}

.small .site-title.opco-title .opco-link {
  height: 14px;
  line-height: 12px;
  padding-top: 2px;
  font-size: 12px;
}

@media only screen and (max-width: 768px) {
  .site-title {
    padding: 15px 0;
  }
  .site-title .logo {
    height: 30px;
  }
  .site-title.opco-title {
    padding: 10px 0;
  }
  .site-title.opco-title .logo {
    height: 26px;
  }
  .site-title.opco-title .opco-link {
    height: 14px;
    line-height: 12px;
    padding-top: 2px;
    font-size: 12px;
  }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  img[src$=".svg"] {
    width: 100%;
  }
}
.mobile .header-nav {
  position: fixed;
  top: 0;
  bottom: 0;
  width: 280px;
  background: #fff;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  transition: all 0.4s;
  z-index: 100;
}

.initially-hidden {
  display: none !important;
}

.menu-toggle {
  font-size: 0;
  padding: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 56px;
  height: 100%;
  background: none !important;
  border-radius: 0;
  display: none;
  text-align: center;
}

.menu-toggle:focus {
  box-shadow: none;
  outline: none;
}

.mobile .menu-toggle {
  display: block;
}

.menu-toggle {
  right: 0;
  float: right;
  font-size: 3rem;
  color: #fff;
}

.menu-toggle {
  cursor: pointer;
  margin: auto;
}

.menu-toggle i {
  background-color: #fff;
  content: "";
  display: block;
  width: 22px;
  height: 2px;
  transition: all 0.4s;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: 0 0 0 -11px;
}

.menu-toggle i:nth-child(1) {
  margin-top: -5px;
}

.menu-toggle i:nth-child(3) {
  margin-top: 5px;
}

.menu-toggle.active i:nth-child(1) {
  transform: rotate(45deg);
  margin-top: 0;
}

.menu-toggle.active i:nth-child(2) {
  opacity: 0;
  width: 0;
}

.menu-toggle.active i:nth-child(3) {
  transform: rotate(-45deg);
  margin-top: 0;
}

/*

.site-header {
    background: #0c376e;
}

.site-nav > ul {
    border-right: 1px solid #112948;
    border-left: 1px solid #0f3e7b; 
}

.site-nav > ul > li > a {
    border-left: 1px solid #112948;
    border-right: 1px solid #0f3e7b;
}

#main-nav .sub-navigation .wrap > ul > li > a {
    border-bottom: 2px solid #d5045f;
}

.top-nav {
    background: #f0f0f0;
}

.regions-menu {
    border-left: 1px solid #d5d7df;
}

.regions-menu > li {
    border-right: 1px solid #d5d7df;
}

.regions-menu > li > :first-child {
    color: #0c376e;
}

html body #pageWrapper .regions-menu .toggle-sub-menu:before {
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid #0c376e;
}

*/
.fg-quicklinks {
  display: none;
}

@media only screen and (max-width: 768px) {
  .fg-quicklinks {
    background: #0c376e;
    display: block;
  }
  .fg-quicklinks ul {
    overflow-x: auto;
    white-space: nowrap;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    -webkit-overflow-scrolling: touch;
  }
  .fg-quicklinks li {
    display: inline-block;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
  }
  .fg-quicklinks a {
    color: #fff;
    padding: 8px 10px;
    display: block;
    font-weight: 600;
  }
}
#toolbar-administration {
  z-index: 1000000;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

body {
  padding-top: 116px !important;
}
body.bogodown {
  padding-top: 158px !important;
}
body.toolbar-fixed {
  padding-top: 198px !important;
}
body.toolbar-fixed.bogodown {
  padding-top: 240px !important;
}

body .site-header {
  background: #0c376e;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  padding-top: 36px;
}

body.bogodown .site-header {
  top: 42px !important;
}
body.toolbar-fixed .site-header {
  top: 82px !important;
}
body.toolbar-fixed.bogodown .site-header {
  top: 124px !important;
}
body.toolbar-fixed header:not(.mobile) .sub-navigation {
  top: 118px;
}

body.leeds-not-scary.bogodown {
  padding-top: 0 !important;
}

@media only screen and (max-width: 768px) {
  body {
    padding-top: 96px !important;
  }
  body.toolbar {
    padding-top: 134px !important;
  }
  body.bogodown {
    padding-top: 138px !important;
  }
  body.toolbar.bogodown {
    padding-top: 170px !important;
  }
  .smartbanner-show body {
    padding-top: 96px !important;
  }
  .smartbanner-show body.toolbar {
    padding-top: 134px !important;
  }
  .smartbanner-show body.bogodown {
    padding-top: 138px !important;
  }
  .smartbanner-show body.toolbar.bogodown {
    padding-top: 176px !important;
  }
  body.toolbar .site-header {
    top: 38px;
  }
  body.bogodown .site-header {
    top: 42px;
  }
  body.toolbar.bogodown .site-header {
    top: 80px;
  }
  .smartbanner-show body .site-header {
    top: 80px;
  }
  .smartbanner-show body.toolbar .site-header {
    top: 118px;
  }
  .smartbanner-show body.bogodown .site-header {
    top: 122px;
  }
  .smartbanner-show body.toolbar.bogodown .site-header {
    top: 160px;
  }
}
.branded-header:not(.branded-header-open) {
  margin-top: -80px;
}

.toolbar .branded-header:not(.branded-header-open) {
  margin-top: -79px;
}

.bogodown .branded-header:not(.branded-header-open) {
  margin-top: -79px;
}

.toolbar.bogodown .branded-header:not(.branded-header-open) {
  margin-top: -37px;
}

#menu-overlay {
  position: fixed;
  top: -100%;
  height: 100%;
  left: 0;
  right: 0;
  transition: opacity 0.2s;
  background: rgba(27, 27, 27, 0);
  z-index: -1;
  opacity: 0;
}

.mobile #menu-overlay {
  z-index: 20;
}

.mobile #menu-overlay {
  background: rgba(27, 27, 27, 0.65);
}

#menu-overlay.open {
  top: 0;
  opacity: 1;
}

/*
button#toggle-search {
    background: none;
    border: none;
    border-radius: 0;
    line-height: ;
    line-height: 80px;
    float: right;
    display: block;
    overflow: hidden;
    height: auto;
    padding: 0 20px;
    font-size: 0;
}*/
header:not(.mobile) .site-search-link {
  font-size: 0 !important;
  padding: 0 20px;
}

@media only screen and (max-width: 1280px) {
  header:not(.mobile) .site-search-link {
    padding: 0 10px;
  }
}
header:not(.mobile) .site-search-link:before {
  content: "\e92f";
  font-family: first-icons;
  font-size: 14px;
  color: #fff;
}

.site-nav {
  float: right;
}

header:not(.mobile) .site-nav > ul {
  border-right: 1px solid #112948;
  border-left: 1px solid #0f3e7b;
  white-space: nowrap;
  font-size: 0;
}

.toolbar .mobile .site-nav {
  margin-top: 38px;
}

.bogodown .mobile .site-nav {
  margin-top: 42px;
}

.toolbar.bogodown .mobile .site-nav {
  margin-top: 80px;
}

.smartbanner-show .mobile .site-nav {
  margin-top: 80px;
}

.smartbanner-show .toolbar .mobile .site-nav {
  margin-top: 118px;
}

.smartbanner-show .bogodown .mobile .site-nav {
  margin-top: 122px;
}

.smartbanner-show .toolbar.bogodown .mobile .site-nav {
  margin-top: 160px;
}

.site-nav > ul > li {
  display: inline-block;
  position: relative;
}

.site-nav ul ul li {
  display: block;
  width: 100%;
  overflow: visible;
}

.site-nav ul ul li a {
  width: 100%;
  overflow: visible;
}

.site-nav a {
  box-shadow: none;
  outline: none;
}

header:not(.mobile) .site-nav > ul > li:hover {
  background: rgba(27, 27, 27, 0.2);
}

.site-nav > ul > li:first-child {
  display: none;
}

.mobile .site-nav > ul > li:first-child {
  display: block;
}

.mobile .site-nav > ul > li:first-child > a {
  font-size: 0;
}

.mobile .site-nav > ul > li:first-child > a:before {
  display: block;
  font-family: first-icons;
  content: "\f104";
  position: absolute;
  right: 13px;
  font-size: 18px;
}

.site-nav > ul a,
.site-nav > ul button {
  font-size: 13.5px;
  word-wrap: normal;
  white-space: normal;
}

.site-nav > ul a:focus,
.site-nav > ul button:focus {
  box-shadow: none;
  outline: none;
}

.site-nav > ul > li > a,
.site-nav > ul > li > button {
  line-height: 80px;
  display: block;
  padding: 0 24px;
  border: none !important;
  border-left: 1px solid #112948 !important;
  border-right: 1px solid #0f3e7b !important;
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  transition: all 0.2s;
  cursor: pointer;
  height: 80px;
  background: none !important;
  border-radius: 0;
}

@media only screen and (max-width: 1280px) {
  .site-nav > ul > li > a,
.site-nav > ul > li > button {
    padding: 0 18px;
  }
}
.small .site-nav > ul > li > a,
.small .site-nav > ul > li > button {
  line-height: 60px;
  height: 60px;
}

@media only screen and (max-width: 768px) {
  .site-nav > ul > li > a,
.site-nav > ul > li > button {
    line-height: 60px;
  }
}
header:not(.mobile) .site-nav > ul > li:hover > a,
header:not(.mobile) .site-nav > ul > li:hover > button {
  background: #0d2a51;
}

.mobile .site-nav > ul > li > button:hover {
  background: #f0f0f0;
}

.site-nav > ul > li.has-submenu > button {
  padding-right: 32px;
  position: relative;
}

@media only screen and (max-width: 1280px) {
  .site-nav > ul > li.has-submenu > button {
    padding-right: 26px;
  }
}
.site-nav ul li.has-submenu > button:before {
  content: "";
  position: absolute;
  top: 50%;
  margin: -2px 0 0 0;
  z-index: 9;
  right: 18px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #fff;
}

@media only screen and (max-width: 1280px) {
  .site-nav ul li.has-submenu > button:before {
    right: 12px;
  }
}
.site-nav ul li.has-submenu > button[aria-expanded=true]:before {
  border-top: none;
  border-bottom: 6px solid #fff;
}

li.search-toggle button:before {
  font-family: first-icons;
  content: "\e98a";
  font-size: 14px;
  font-weight: 400;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -10px 0 0 -10px;
  height: 20px;
  width: 20px;
}

.mobile .site-nav {
  left: -100%;
}

.mobile .active + .site-nav {
  left: 0;
}

.mobile .site-nav > ul {
  border-left: none;
  border-right: none;
}

.mobile .site-nav ul li {
  display: block;
  position: relative;
}

.mobile .site-nav ul li a,
.mobile .site-nav ul li button {
  color: #444;
  line-height: 24px;
  padding: 10px;
  border-bottom: 1px solid #e0e0e0;
  border-right: none;
  border-left: none;
  font-size: 13.5px;
  font-weight: 600;
  display: block;
  width: 100%;
  text-align: left;
  color: #444 !important;
  border-bottom: 1px solid #e0e0e0 !important;
  height: auto;
}

.mobile .site-nav ul li a,
.mobile .site-nav ul li button {
  border-left: none !important;
  border-right: none !important;
}

.mobile .site-nav > ul > li.has-submenu > button:before {
  border-top-color: #444 !important;
  position: absolute;
  top: 20px;
  left: auto;
  margin: 0;
}

.mobile .site-nav ul li.open > .toggle-sub-menu:before {
  border-top-color: #444 !important;
  border-top: none !important;
  border-bottom: 6px solid #444 !important;
  position: absolute;
  top: 16px;
  left: 50% !important;
  margin: -3px 0 0 -6px;
}

#menu-advert {
  width: calc(30% - 30px);
  float: right;
  position: relative;
}

.mobile div#menu-advert {
  width: calc(100% - 20px);
  margin: 10px;
}

.branded-header .site-header > .wrap {
  margin-top: -400px;
}

.branded-header.branded-header-open .site-header > .wrap {
  margin-top: 0;
}

a.skip-to-content {
  position: fixed;
  top: -100px;
  z-index: 100000;
  background: #fff;
  left: 50%;
  display: block;
  padding: 12px 0;
  width: 200px;
  text-align: center;
  border-radius: 3px;
  box-shadow: 0 0 10px rgba(27, 27, 27, 0.6);
  font-weight: 700;
  margin-left: -100px;
  color: #0c376e;
  border: 2px solid;
}

a.skip-to-content:focus {
  top: 40px;
}

header:not(.mobile) .sub-navigation {
  position: fixed;
  left: 0;
  right: 0;
  background: #ffffff;
  z-index: 9;
  box-shadow: 0 4px 2px -2px rgba(27, 27, 27, 0.5);
  height: 0;
  opacity: 0;
  overflow: hidden;
}

header:not(.mobile) #top-nav > li.open > .sub-navigation,
header:not(.mobile) #main-nav > li.open > .sub-navigation {
  opacity: 1;
  height: auto;
  padding: 40px 0;
}

.site-header:not(.mobile) .sub-navigation .wrap > ul {
  width: 70%;
  -webkit-column-count: 2;
  -moz-column-count: 2;
  column-count: 2;
  -webkit-column-gap: 30px;
  -moz-column-gap: 30px;
  column-gap: 30px;
  float: left;
  position: relative;
}

.site-header:not(.mobile) .regions-menu .sub-navigation .wrap > ul {
  width: 100%;
  -webkit-column-count: 4;
  -moz-column-count: 4;
  column-count: 4;
  -webkit-column-gap: 30px;
  -moz-column-gap: 30px;
  column-gap: 30px;
  float: left;
  position: relative;
}

.site-header:not(.mobile) .regions-menu .sub-navigation .wrap > ul > li {
  position: relative;
  margin: 0 10px;
  border-bottom: 1px solid #d0d0d0;
  padding-bottom: 0 !important;
  height: 8vh;
  min-height: 50px;
  max-height: 75px;
}

.site-header:not(.mobile) .regions-menu .sub-navigation .wrap > ul > li > a {
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 100%;
  padding: 0 40px 0 20px;
  font-weight: bold;
  color: #0c376e;
}

.site-header:not(.mobile) .regions-menu .sub-navigation .wrap > ul > li:hover > a {
  color: #d5045f;
}

.site-header:not(.mobile) .regions-menu .sub-navigation .wrap > ul > li > a:not(.location_geo):after {
  position: absolute;
  display: block;
  right: 10px;
  top: 50%;
  height: 20px;
  width: 20px;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath fill='%23d0d0d0' d='M512 196l-68 68c-12 12-12 32 0 45l196 196l-196 196c-12 12-12 32 0 45l68 68c 12 12 32 12 45 0l286-286c 12-12 12-32 0 -46l-286-286c-12-12-32-12-45 0z'/%3E%3C/svg%3E");
  background-size: 20px 20px;
  background-position: 100%;
  background-repeat: no-repeat;
  content: "";
}

.site-header:not(.mobile) .regions-menu .sub-navigation .wrap > ul > li[data-active-trail=true] {
  background: #fde8ef;
}

.site-header:not(.mobile) .regions-menu .sub-navigation .wrap > ul > li > a.active {
  color: #d5045f;
}

.site-header:not(.mobile) .regions-menu .sub-navigation .wrap > ul > li > a.active:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath fill='%23d5045f' d='M928 273l-68-68c-12-12-32-12-45 0l-409 409-196-196c-12-12-32-12-45 0l-68 68c-12 12-12 32 0 45l286 286c12 12 32 12 45 0l500-500c12-12 12-32 0-45z'/%3E%3C/svg%3E");
}

.site-header:not(.mobile) .sub-navigation .wrap > ul > li {
  display: block;
  padding-bottom: 12px;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  break-inside: avoid;
  overflow: hidden;
  position: relative;
}

.site-header:not(.mobile) #main-nav .sub-navigation .wrap > ul > li > a {
  font-weight: 700;
  font-size: 15px;
  display: block;
  margin-bottom: 2px;
  color: #222;
}

.site-header:not(.mobile) #main-nav .sub-navigation .wrap > ul > li > a {
  padding-bottom: 2px;
  border-bottom: 1px solid #d5045f;
}

.site-header:not(.mobile) #main-nav .sub-navigation .wrap > ul > li > a:hover {
  color: #d5045f;
}

.site-header:not(.mobile) .sub-navigation .wrap > ul > li ul a {
  display: block;
  padding: 2px 0;
}

.mobile .sub-navigation {
  display: none;
}

.mobile .has-submenu.open > .sub-navigation {
  display: block;
}

.mobile .sub-navigation .wrap {
  padding: 0;
}

.mobile .sub-navigation .wrap > ul > li ul a {
  display: block;
}

.mobile li.has-submenu > div > div > ul {
  background: #f7f7f7;
}

.mobile li.has-submenu > div > div > ul > li > a {
  padding-left: 20px !important;
}

.mobile li.has-submenu > div > div > ul > li > ul > li > a {
  padding-left: 30px !important;
}

/*.mobile li > ul {
    display: none;
}
*/
.mobile li.open > ul {
  display: block;
}

.list-title-img-ticket {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 235 117' style='enable-background:new 0 0 235 117;fill:%23E50071;' xml:space='preserve'%3E%3Cpath class='st0' d='M234.9,33.6v-34H-0.4v34C7.8,38.8,13.3,48,13.3,58.4c0,10.4-5.5,19.6-13.7,24.8v34h235.3v-34 c-8.2-5.2-13.7-14.3-13.7-24.8C221.2,48,226.7,38.8,234.9,33.6z M83.7,51.7h-7v17.5H72V51.7h-7v-4.2h18.8V51.7z M90.9,69.2h-4.8 V47.6h4.8V69.2z M112.1,68.1c-1.9,1-4.2,1.4-6.3,1.4c-7,0-11.8-4.8-11.8-11.1c0-6.3,4.8-11.2,11.8-11.2c2.2,0,4.3,0.5,6,1.3v4.8 c-1.6-1.1-3.8-1.9-6-1.9c-4.2,0-7.1,2.9-7.1,6.9c0,3.9,2.8,6.9,7.2,6.9c2.2,0,4.3-0.8,6.1-2V68.1z M128.2,69.2l-8-10.8l-0.1,0v10.8 h-4.8V47.6h4.8v9.6l0.1,0l7.6-9.6h5.7l-8.2,10.1l8.9,11.6H128.2z M149.2,69.2h-13.7V47.6h13.4v4.2h-8.6V56h7.4v4h-7.4v5.1h8.9V69.2z M169.6,51.7h-7v17.5h-4.8V51.7h-7v-4.2h18.8V51.7z'/%3E%3C/svg%3E") no-repeat center left;
}

.list-title-img {
  background-size: 30px 15px;
  padding-left: 35px;
}

.mobile li.has-submenu > div > div > ul > li > a.list-title-img {
  margin-left: 20px;
  padding-left: 35px !important;
}

header.no-transition .regions-menu .sub-navigation {
  transition: none !important;
}

.top-nav {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 36px;
  background: #f0f0f0;
  z-index: 100;
  box-shadow: 0 0 10px #000;
}

.regions-menu {
  float: left;
  border-left: 1px solid #d5d7df;
  height: 36px;
}

.regions-menu a {
  box-shadow: none;
  outline: none;
}

.regions-menu > li {
  display: block;
  float: left;
  cursor: pointer;
  position: relative;
}

.regions-menu > li {
  border-right: 1px solid #d5d7df;
}

.regions-menu > li > :first-child {
  display: block;
  float: left;
  line-height: 36px;
  padding: 0 16px;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 11px;
  color: #0c376e;
}

.regions-menu > li.has-submenu {
  padding: 0;
}

.regions-menu > li > a,
.regions-menu > li > button {
  display: block;
  line-height: 36px;
  background: none !important;
  border-radius: 0;
  border: none !important;
  height: 36px;
  color: #0c376e !important;
}

.regions-menu > li > button {
  padding-right: 31px !important;
}

.regions-menu > li > a:focus,
.regions-menu > li > button:focus {
  box-shadow: none;
  outline: none;
}

.regions-menu > li > button:before {
  content: "";
  position: absolute;
  top: 50%;
  margin: -3px 0 0 0;
  z-index: 9;
  right: 12px;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #0c376e;
}

.regions-menu > li > button[aria-expanded=true]:before {
  border-top: none;
  border-bottom: 6px solid #0c376e;
}

.regions-menu > li:first-child a {
  font-size: 0;
  width: 36px;
  height: 36px;
  position: relative;
}

.regions-menu > li:first-child > a:before {
  font-family: first-icons;
  content: "\e90c";
  font-size: 16px;
  font-weight: normal;
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  height: 36px;
  margin: 0 0 0 -8px;
}

.regions-menu .sub-navigation {
  top: 36px;
}

.toolbar .regions-menu .sub-navigation {
  top: 74px;
}

.bogodown .regions-menu .sub-navigation {
  top: 78px;
}

.toolbar.bogodown .regions-menu .sub-navigation {
  top: 116px;
}

.smartbanner-show .regions-menu .sub-navigation {
  top: 116px;
}

.smartbanner-show .toolbar .regions-menu .sub-navigation {
  top: 154px;
}

.smartbanner-show .bogodown .regions-menu .sub-navigation {
  top: 158px;
}

.smartbanner-show .toolbar.bogodown .regions-menu .sub-navigation {
  top: 196px;
}

html body #pageWrapper .regions-menu .toggle-sub-menu:before {
  margin-top: -3px;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid #0c376e;
}

@media only screen and (max-width: 768px) {
  .top-nav .wrap {
    padding: 0;
  }
}
.resize-hide {
  display: none !important;
  transition: none !important;
}

.regions-menu .sub-navigation ul li:first-child {
  display: none;
}

.mobile .regions-menu .sub-navigation ul li:first-child {
  display: block;
}

html body #regions-nav-close {
  color: #444;
  line-height: 24px;
  padding: 10px;
  border-bottom: 1px solid #e0e0e0;
  border-right: none;
  border-left: none;
  font-size: 13.5px;
  font-weight: 600;
  display: block;
  width: 100%;
  font-size: 0;
  background: none;
}

#regions-nav-close,
button#main-nav-close,
.mobile .regions-menu .sub-navigation ul li:first-child > a {
  font-size: 0;
}

#regions-nav-close:before,
button#main-nav-close:before,
.mobile .regions-menu .sub-navigation ul li:first-child > a:before {
  display: block;
  font-family: first-icons;
  content: "\f104";
  position: absolute;
  right: 13px;
  font-size: 18px;
}

.mobile .regions-menu .sub-navigation {
  position: fixed;
  top: 0;
  bottom: 0;
  width: 280px;
  background: #fff;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  transition: left 0.4s;
  z-index: 100;
  left: -280px;
  display: block;
}

.toolbar .mobile .regions-menu .sub-navigation {
  top: 38px;
}

.bogodown .mobile .regions-menu .sub-navigation {
  top: 42px;
}

.toolbar.bogodown .mobile .regions-menu .sub-navigation {
  top: 80px;
}

.smartbanner-show .mobile .regions-menu .sub-navigation {
  top: 80px;
}

.smartbanner-show .toolbar .mobile .regions-menu .sub-navigation {
  top: 118px;
}

.smartbanner-show .bogodown .mobile .regions-menu .sub-navigation {
  top: 122px;
}

.smartbanner-show .toolbar.bogodown .mobile .regions-menu .sub-navigation {
  top: 160px;
}

.mobile .regions-menu .open .sub-navigation {
  left: 0;
}

.mobile .regions-menu .sub-navigation ul {
  border-left: none;
  border-right: none;
  background: none;
}

.mobile .regions-menu .sub-navigation ul li {
  display: block;
  position: relative;
}

.mobile .regions-menu .sub-navigation ul li a {
  color: #444;
  line-height: 24px;
  padding: 10px;
  border-bottom: 1px solid #e0e0e0;
  border-right: none;
  border-left: none;
  font-size: 13.5px;
  font-weight: 600;
  display: block;
}

.mobile .regions-menu .sub-navigation ul li a:hover {
  background: #f0f0f0;
}

header:not(.mobile) .regions-menu .sub-navigation li:first-child {
  display: none;
}

.branded-header-toggle {
  width: 36px;
  height: 36px;
  position: relative;
  float: right;
  display: block;
  cursor: pointer;
  border-left: 1px solid rgba(0, 0, 0, 0.1);
}

.branded-header-toggle i {
  background: #444;
}

.branded-header-toggle:focus {
  box-shadow: none;
  outline: none;
}

.branded-header-toggle i {
  background-color: #444;
  content: "";
  display: block;
  width: 18px;
  height: 2px;
  transition: all 0.4s;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: 0 0 0 -9px;
}

.branded-header-toggle i:nth-child(1) {
  margin-top: -6px;
}

.branded-header-toggle i:nth-child(2) {
  margin-top: -1px;
}

.branded-header-toggle i:nth-child(3) {
  margin-top: 4px;
}

.branded-header-toggle.active i:nth-child(1) {
  transform: rotate(45deg);
  margin-top: 0;
}

.branded-header-toggle.active i:nth-child(2) {
  opacity: 0;
  width: 0;
}

.branded-header-toggle.active i:nth-child(3) {
  transform: rotate(-45deg);
  margin-top: 0;
}

html body header .opco-regions {
  background: #252525 !important;
  color: #fff !important;
}

html body header .opco-regions:before {
  border-top-color: #fff !important;
}

html body header .opco-regions[aria-expanded=true]:before {
  border-bottom-color: #fff !important;
}

@media only screen and (max-width: 322px) {
  .regions-menu {
    width: calc(100% - 137px);
  }
  .regions-menu > li.has-submenu {
    width: calc(100% - 37px);
  }
  html body header .opco-regions {
    padding: 0 0 0 7px !important;
    width: 100%;
    text-align: left;
  }
  .regions-menu > li > button::before {
    right: 7px;
  }
}
.recent-opcos .opco-shortcut-button {
  display: block;
  float: left;
  margin: 0 5px 5px 0;
  border-radius: 5px;
  background: #0c376e;
  padding: 0 10px 2px;
  color: #fff;
}

.recent-opcos {
  margin-bottom: 20px;
  margin-top: -10px;
  border-bottom: 1px solid #cfcfcf;
  padding-bottom: 20px;
}

.mobile .recent-opcos {
  border-bottom: 1px solid #e5e5e5;
  margin-bottom: 0;
  padding: 10px;
  margin-top: 0;
}

.user-menu {
  float: right;
  border-left: 1px solid #d5d7df;
  height: 36px;
}

.user-menu > li {
  display: block;
  float: left;
  cursor: pointer;
}

.user-menu > li > :first-child {
  display: block;
  float: left;
  line-height: 36px;
  padding: 0 16px;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 11px;
  color: #0c376e;
}

.user-menu ul {
  position: absolute;
  width: 180px;
  background: #fff;
  box-shadow: 0px 2px 2px rgba(27, 27, 27, 0.2), 0px 2px 8px rgba(27, 27, 27, 0.2), 0px 1px 2px rgba(27, 27, 27, 0.2);
  top: 100%;
  right: 0;
  z-index: -1;
  display: none;
}

.user-menu ul li {
  display: block;
  text-align: left;
}

.user-menu ul li a {
  display: block;
  padding: 12px;
  font-weight: 600;
}

.user-menu li:hover ul {
  display: block;
}

.user-menu > li > a {
  display: block;
  line-height: 36px;
  height: 36px;
  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 {
  border-right: 1px solid rgba(0, 0, 0, 0.1);
  margin: 0;
  vertical-align: top;
  height: 36px;
  margin: 0 -2px 0 -2px;
  transition: all 0.3s;
  width: auto;
  display: inline-block;
}

.user-menu {
  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;
}

#cart-block div {
  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;
}

.user-menu > li:last-child > a.user-logout,
.user-menu .user-logout {
  font-size: 0;
  line-height: 36px;
  height: 36px;
  width: 36px;
  padding: 0;
  text-align: center;
}

.user-menu .user-logout:before {
  font-family: first-icons;
  content: "\e88a";
  font-size: 14px;
  font-weight: normal;
  display: inline;
}

.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-search {
  display: none;
  clear: none;
}

.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;
}

@media only screen and (max-width: 768px) {
  .header-login-form {
    display: none !important;
  }
}
.header-login-form input[type=text],
.header-login-form input[type=password] {
  max-width: 100%;
  margin: 0;
}

.header-login-form .form-item {
  margin: 0 0 10px 0 !important;
}

.header-login-form label {
  display: none;
}

.header-login-form .form-actions {
  height: 106px;
  text-align: left;
}

.header-login-form input[type=submit] {
  position: absolute;
  bottom: 80px;
  right: 10px;
}

.header-login-form p {
  margin: 0;
  position: absolute;
  bottom: 9px;
  left: 10px;
  max-width: 300px;
  font-size: 12px;
  line-height: 20px;
}

.header-login-form p:nth-of-type(1) {
  bottom: 101px;
}

.header-login-form p:nth-of-type(2) {
  bottom: 80px;
}

.header-login-form p:nth-of-type(3) {
  padding-left: 50px;
  background: url("/themes/custom/firstbus/assets/img/icons/front-phone-jaunty.png");
  background-position: left center;
  background-size: 40px 61px;
  background-repeat: no-repeat;
}

.header-login-form a {
  color: #d5045f;
}

.header-login.timeout > div,
.header-login:hover > div {
  display: block;
}

.user-profile-link span {
  display: inline-block;
  position: relative;
  top: -2px;
}

.user-profile-link:before {
  font-family: first-icons;
  content: "\e917";
  font-size: 15px;
  display: inline-block;
  margin-right: 6px;
  position: relative;
}

@media only screen and (max-width: 768px) {
  a.user-profile-link span {
    position: absolute;
    left: -10000px;
  }
  #cart-block > a {
    font-size: 0;
  }
  .user-profile-link:before {
    margin-right: 0;
  }
}
.fg2015_tpl_tech_bus .breadcrumbs a,
.fg2015_tpl_tech_the_bus_opco .breadcrumbs a {
  color: #ffffff;
}

.fg2015_tpl_tech_bus ul#sidebar_navigation li.active-trail > a,
.fg2015_tpl_tech_bus ul#sidebar_navigation li a.active,
.fg2015_tpl_tech_the_bus_opco ul#sidebar_navigation li.active-trail > a,
.fg2015_tpl_tech_the_bus_opco ul#sidebar_navigation li a.active {
  background-color: #203560 !important;
}

.fg2015_tpl_tech_bus #sidebar li.has-children.active-trail a:hover:after,
.fg2015_tpl_tech_bus ul#sidebar_navigation li.active-trail a:after,
.fg2015_tpl_tech_bus ul#sidebar_navigation li a.active:after,
.fg2015_tpl_tech_the_bus_opco #sidebar li.has-children.active-trail a:hover:after,
.fg2015_tpl_tech_the_bus_opco ul#sidebar_navigation li.active-trail a:after,
.fg2015_tpl_tech_the_bus_opco ul#sidebar_navigation li a.active:after {
  border-color: transparent transparent transparent #203560 !important;
}

@media only screen and (max-width: 768px) {
  #fg2015-register-update-form legend,
#fg2015-register-update-form .form-type-textfield > label,
#fg2015-app-support-form legend,
#fg2015-app-support-form .form-type-textfield > label,
#sidebar,
.lfs-timetables .table-scroller table th,
.lfs-timetables .table-scroller table th p,
.lfs-timetables .table-scroller table th h1,
.lfs-timetables .table-scroller table th h2,
.lfs-timetables .table-scroller table th h3,
.lfs-timetables .table-scroller table th h4,
.lfs-timetables .table-scroller table tr td,
.address_copy,
.landing-page-section ul,
.landing-page-section ol,
.landing-page-section p,
#content ul,
#content ol,
#content p,
#content label,
#content input[type=date],
#content input[type=password],
#content input[type=text],
#content input[type=email],
#content textarea,
#content select,
.modal,
.modal-alert,
.modal .btn,
.micro-menu,
ul#sidebar_navigation li a,
table.timetable th,
tr#service_row td,
.network-map-title p,
.network-map-title b,
form#c_form.sf label,
#area_selector #area_filter,
.corporate-link,
.ac_results ul li,
#user-profile-form .fieldset-title:before,
#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,
#content .table-scroller table tr td,
.address_copy,
.copy-down,
.etickets.list .messages a,
.ticket-details + label,
body #content .foot-block > .row.additional > .field.num,
.etickets.table.passenger-data .mticket-button-head,
.etickets.table.passenger-data .body-block .row .field.num,
.etickets.table.passenger-data .body-block .row .field.wide,
.etickets.table.passenger-data .body-block .row .field.ctrl .ticket-no,
#content .passengers .insert ul label.photo-label,
.pc_needed_no label:before,
.pc_needed_yes label:before,
.pathfinder-item h2 {
    font-size: 16px !important;
  }
}
body .ui-dialog {
  font-family: "Open Sans";
  border: 0;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(27, 27, 27, 0.6);
  text-align: center;
  padding: 15px 0;
}
body .ui-dialog.postcode-lookup-dialog .ui-widget-header {
  display: block;
  margin-top: -15px;
  background: #d5045f;
  border-radius: 0;
  color: #fff;
}
body .ui-dialog.postcode-lookup-dialog .ui-widget-header .ui-dialog-titlebar-close {
  background: none;
  border: 0;
  color: #fff;
  background-image: none !important;
  font-size: 0;
}
body .ui-dialog.postcode-lookup-dialog .ui-widget-header .ui-dialog-titlebar-close .ui-icon-closethick {
  display: none;
}
body .ui-dialog.postcode-lookup-dialog .ui-widget-header .ui-dialog-titlebar-close:before {
  content: "X";
  font-weight: bold;
  color: #fff;
  display: block;
  font-size: 12px;
  position: relative;
  line-height: 20px;
  font-family: "Open Sans";
  text-indent: 0 !important;
}
body .ui-dialog .ui-widget-header {
  border: 0;
  background: transparent; /*{bgColorHeader}*/ /*{bgImgUrlHeader}*/ /*{bgHeaderXPos}*/ /*{bgHeaderYPos}*/ /*{bgHeaderRepeat}*/
  color: #333333;
  font-weight: 600;
  display: none;
}
body .ui-dialog .ui-dialog-buttonpane {
  border-top: 0;
  padding: 0.3em 1em 0.5em 0.4em;
}
body .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
  float: none;
  text-align: center;
}
body .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button {
  background-color: #353535;
  display: inline-block;
  padding: 6px 12px;
  text-decoration: none;
  text-align: center;
  border-radius: 2px;
  cursor: pointer;
  transition: all 0.2s;
  margin: 0 4px;
  height: 36px;
  color: #f0f0f0;
  width: auto;
  background: #d5045f;
  font-weight: 600;
  font-family: inherit;
}

.dialog-loader .ui-dialog-content {
  overflow: hidden !important;
}

#content .pager ul,
#content ul.pager {
  display: block;
  padding: 15px 0;
  margin: 0;
  text-align: center;
}
#content .pager ul li,
#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 .pager ul li.is-active,
#content ul.pager li.is-active {
  background-color: rgb(213, 4, 95);
  padding: 0;
  color: #fafafa;
  border-radius: 2px;
}
#content .pager ul li a,
#content ul.pager li a {
  background-color: #353535;
  border: none;
  color: #fafafa;
  text-decoration: none !important;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s;
  min-width: 32px;
  display: block;
  height: 32px;
  line-height: 32px;
  border-radius: 2px;
}
#content .pager ul li.pager__item--first a, #content .pager ul li.pager__item--previous a, #content .pager ul li.pager__item--last a, #content .pager ul li.pager__item--next a,
#content ul.pager li.pager__item--first a,
#content ul.pager li.pager__item--previous a,
#content ul.pager li.pager__item--last a,
#content ul.pager li.pager__item--next a {
  font-size: 0;
}
#content .pager ul li.pager__item--first a:before, #content .pager ul li.pager__item--previous a:before, #content .pager ul li.pager__item--last a:before, #content .pager ul li.pager__item--next a:before,
#content ul.pager li.pager__item--first a:before,
#content ul.pager li.pager__item--previous a:before,
#content ul.pager li.pager__item--last a:before,
#content ul.pager li.pager__item--next a:before {
  font-family: first-icons;
  font-size: 14px;
  font-weight: normal;
}
#content .pager ul li.pager__item--first a:before,
#content ul.pager li.pager__item--first a:before {
  content: "\e051";
  font-size: 12px;
}
#content .pager ul li.pager__item--last a:before,
#content ul.pager li.pager__item--last a:before {
  content: "\e055";
  font-size: 12px;
}
#content .pager ul li.pager__item--previous a:before,
#content ul.pager li.pager__item--previous a:before {
  content: "\f104";
}
#content .pager ul li.pager__item--next a:before,
#content ul.pager li.pager__item--next a:before {
  content: "\f105";
}

.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;
}

#timetable_search_inline {
  position: relative;
  padding-right: 170px;
  margin-bottom: 20px;
}

#timetable_search_inline input[type=submit] {
  width: auto;
  position: absolute;
  right: 0;
  top: 0;
}

.route-desc {
  font-weight: 600;
  font-size: 14px;
  display: inline-block;
  margin-top: -10px;
  line-height: 26px;
  color: #0a396c;
}

.branding {
  margin: 12px 0;
  padding: 4px 10px;
  font-weight: bold;
}

.validity {
  display: block;
  padding: 10px 0;
  font-weight: 700;
  font-size: 16px;
  color: #0a396c;
}

#timetable_form .form-item label {
  display: block;
  line-height: 24px;
  margin-top: 0;
  padding-top: 0;
}
@media only screen and (min-width: 960px) {
  #timetable_form .form-item {
    width: calc((100% - 20px) / 2);
    float: left;
    position: relative;
    margin: 0 20px 20px 0;
  }
  #timetable_form .form-item:nth-of-type(2n) {
    margin-right: 0;
  }
  #timetable_form .time-container {
    overflow: hidden;
    display: block;
    float: left;
    width: calc((100% - 20px) / 2);
    margin: 0 0 20px 0;
  }
}
#timetable_form .time-container {
  display: block;
}
#timetable_form .time-container .form-item {
  margin-right: 0;
  margin-bottom: 0;
}
#timetable_form .time-container .form-item:first-child {
  width: auto;
}
#timetable_form .time-container .form-item:first-child label {
  display: block;
}
#timetable_form .time-container .form-item:last-of-type {
  padding-top: 29px;
  margin-left: -10px;
  position: relative;
}
#timetable_form .time-container .form-item:last-of-type label {
  float: left;
  line-height: 44px;
  margin: 0 0 0 0;
  padding: 0 20px 0 0;
}
#timetable_form .time-container .timetable_min {
  float: left;
  margin-right: 20px;
}

form#timetable_form .col-3 {
  margin: 0 0 10px 0;
  padding: 0 10px 0 0;
}

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;
}

span.visit-note {
  font-size: 80%;
  font-weight: 600;
  font-style: italic;
}

.page-front .landing-page-section + .wrap .fb-row {
  border-bottom: 2px solid #d5045f;
  padding-top: 30px;
  padding-bottom: 30px;
}
.page-front .landing-page-section + .wrap .fb-row h2 {
  font-weight: 300;
  font-size: 24px;
  line-height: 36px;
}

.landing-page-section.opco-intro {
  margin: 30px 0;
}

.landing-page-section.help-and-support + .wrap {
  padding-bottom: 30px;
}
.landing-page-section.help-and-support .fb-row {
  border-bottom: 2px solid #d5045f;
}

.pagename-help-and-support .breadcrumbs {
  display: none;
}

.page-header {
  padding: 60px 0 30px 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .page-header {
    padding: 30px 0 0 0;
  }
}
.page-header .inner-wrap {
  max-width: 600px;
  margin: 0 auto;
}
.page-header h1 {
  font-size: 2.4rem;
  font-weight: 300;
  line-height: 1.4;
  color: #0c376e;
  margin-bottom: 1.4rem;
}
.page-header p {
  font-size: 1.2rem;
  font-weight: 300;
  line-height: 1.8;
  margin-bottom: 2rem;
}
.page-header + #main {
  max-width: 1100px !important;
}
.page-header + #main h1 {
  display: none !important;
}

.node-type-faqs .page-header h1 {
  margin-bottom: 0;
}
.node-type-faqs .page-header p {
  margin-bottom: 0;
}
.node-type-faqs .page-header p small {
  background: #d5045e;
  border-radius: 5px;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  padding: 2px 10px;
}
.node-type-faqs .page-header p small a {
  color: #fff;
}
.node-type-faqs .page-header p small a:hover {
  color: #fff;
}
.node-type-faqs .page-header h2 {
  font-weight: 300;
  font-size: 1.4rem;
  color: #0c376e;
  margin: 8px 0 1.2rem 0;
  line-height: 1.5;
}
.node-type-faqs .page-header h2 a {
  color: #0c376e;
}
.node-type-faqs .page-header h2 a:hover {
  color: #d5045e;
}

html body .vud-widget-thumbs {
  padding: 15px 0 30px 0 !important;
  display: flex;
  justify-content: center;
  align-items: center;
}
html body .vud-widget-thumbs h2 {
  margin-bottom: 0;
  font-weight: 400;
  color: #0c376e;
  padding: 0 30px !important;
}
html body .vud-widget-thumbs p.voted-how {
  width: 100%;
  position: absolute;
  text-align: center;
  bottom: 8px;
  font-size: 0.8rem;
}
html body .vud-widget-thumbs a.reset {
  display: none !important;
}
html body .vud-widget-thumbs a div {
  background-repeat: no-repeat !important;
  background-size: 24px 24px !important;
  background-position: center center !important;
  width: 28px !important;
  height: 28px !important;
}
html body .vud-widget-thumbs .up.inactive,
html body .vud-widget-thumbs .down.inactive {
  background-repeat: no-repeat !important;
  background-size: 24px 24px !important;
  background-position: center center !important;
  width: 28px !important;
  height: 28px !important;
  opacity: 0.2;
}
html body .vud-widget-thumbs .up-score {
  border-right: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
html body .vud-widget-thumbs .up-score .up.inactive {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath fill='inherit' stroke='inherit' d='M554.667 384c0 23.552 19.115 42.667 42.667 42.667h242.304c2.773.085 6.528.469 6.528.469 11.648 1.749 21.419 8.021 27.947 16.896s9.6 20.053 7.851 31.659l-58.88 383.915c-1.579 10.197-6.656 19.115-13.867 25.6-7.68 6.869-17.707 10.923-29.269 10.795H341.335V478.38l153.941-346.368c13.099 4.181 24.832 11.435 34.389 20.992 15.488 15.488 25.003 36.736 25.003 60.331zM640 341.333v-128c0-47.104-19.157-89.856-50.005-120.661s-73.557-50.005-120.661-50.005c-17.28 0-32.171 10.283-38.997 25.344l-170.667 384c-2.56 5.717-3.712 11.733-3.669 17.323v469.333c0 23.552 19.115 42.667 42.667 42.667h481.28c32.725.384 63.232-11.989 86.229-32.555 21.547-19.285 36.565-45.909 41.259-76.075l58.88-384.085c5.333-34.987-4.096-68.864-23.467-95.189s-48.939-45.355-83.84-50.645c-7.04-1.067-14.208-1.579-20.992-1.451zM298.667 896h-128c-11.776 0-22.4-4.736-30.165-12.501s-12.501-18.389-12.501-30.165V554.667c0-11.776 4.736-22.4 12.501-30.165s18.389-12.501 30.165-12.501h128c23.552 0 42.667-19.115 42.667-42.667s-19.115-42.667-42.667-42.667h-128c-35.328 0-67.413 14.379-90.496 37.504s-37.504 55.168-37.504 90.496v298.667c0 35.328 14.379 67.413 37.504 90.496s55.168 37.504 90.496 37.504h128c23.552 0 42.667-19.115 42.667-42.667S322.219 896 298.667 896z' class='path0'/%3E%3C/svg%3E") !important;
}
html body .vud-widget-thumbs .up-score a div {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath fill='inherit' stroke='inherit' d='M554.667 384c0 23.552 19.115 42.667 42.667 42.667h242.304c2.773.085 6.528.469 6.528.469 11.648 1.749 21.419 8.021 27.947 16.896s9.6 20.053 7.851 31.659l-58.88 383.915c-1.579 10.197-6.656 19.115-13.867 25.6-7.68 6.869-17.707 10.923-29.269 10.795H341.335V478.38l153.941-346.368c13.099 4.181 24.832 11.435 34.389 20.992 15.488 15.488 25.003 36.736 25.003 60.331zM640 341.333v-128c0-47.104-19.157-89.856-50.005-120.661s-73.557-50.005-120.661-50.005c-17.28 0-32.171 10.283-38.997 25.344l-170.667 384c-2.56 5.717-3.712 11.733-3.669 17.323v469.333c0 23.552 19.115 42.667 42.667 42.667h481.28c32.725.384 63.232-11.989 86.229-32.555 21.547-19.285 36.565-45.909 41.259-76.075l58.88-384.085c5.333-34.987-4.096-68.864-23.467-95.189s-48.939-45.355-83.84-50.645c-7.04-1.067-14.208-1.579-20.992-1.451zM298.667 896h-128c-11.776 0-22.4-4.736-30.165-12.501s-12.501-18.389-12.501-30.165V554.667c0-11.776 4.736-22.4 12.501-30.165s18.389-12.501 30.165-12.501h128c23.552 0 42.667-19.115 42.667-42.667s-19.115-42.667-42.667-42.667h-128c-35.328 0-67.413 14.379-90.496 37.504s-37.504 55.168-37.504 90.496v298.667c0 35.328 14.379 67.413 37.504 90.496s55.168 37.504 90.496 37.504h128c23.552 0 42.667-19.115 42.667-42.667S322.219 896 298.667 896z' class='path0'/%3E%3C/svg%3E") !important;
}
html body .vud-widget-thumbs .up-score a:hover div {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath fill='%23d5045f' stroke='inherit' d='M554.667 384c0 23.552 19.115 42.667 42.667 42.667h242.304c2.773.085 6.528.469 6.528.469 11.648 1.749 21.419 8.021 27.947 16.896s9.6 20.053 7.851 31.659l-58.88 383.915c-1.579 10.197-6.656 19.115-13.867 25.6-7.68 6.869-17.707 10.923-29.269 10.795H341.335V478.38l153.941-346.368c13.099 4.181 24.832 11.435 34.389 20.992 15.488 15.488 25.003 36.736 25.003 60.331zM640 341.333v-128c0-47.104-19.157-89.856-50.005-120.661s-73.557-50.005-120.661-50.005c-17.28 0-32.171 10.283-38.997 25.344l-170.667 384c-2.56 5.717-3.712 11.733-3.669 17.323v469.333c0 23.552 19.115 42.667 42.667 42.667h481.28c32.725.384 63.232-11.989 86.229-32.555 21.547-19.285 36.565-45.909 41.259-76.075l58.88-384.085c5.333-34.987-4.096-68.864-23.467-95.189s-48.939-45.355-83.84-50.645c-7.04-1.067-14.208-1.579-20.992-1.451zM298.667 896h-128c-11.776 0-22.4-4.736-30.165-12.501s-12.501-18.389-12.501-30.165V554.667c0-11.776 4.736-22.4 12.501-30.165s18.389-12.501 30.165-12.501h128c23.552 0 42.667-19.115 42.667-42.667s-19.115-42.667-42.667-42.667h-128c-35.328 0-67.413 14.379-90.496 37.504s-37.504 55.168-37.504 90.496v298.667c0 35.328 14.379 67.413 37.504 90.496s55.168 37.504 90.496 37.504h128c23.552 0 42.667-19.115 42.667-42.667S322.219 896 298.667 896z' class='path0'/%3E%3C/svg%3E") !important;
}
html body .vud-widget-thumbs .down-score {
  padding: 0 !important;
  margin: 0 !important;
}
html body .vud-widget-thumbs .down-score .down.inactive {
  opacity: 0.4;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath fill='inherit' d='M469.333 640c0-23.552-19.115-42.667-42.667-42.667H184.362c-2.773-.085-6.528-.469-6.528-.469-11.648-1.749-21.419-8.021-27.947-16.896s-9.6-20.053-7.851-31.659l58.88-383.915c1.579-10.197 6.656-19.115 13.867-25.6 7.637-6.869 17.707-10.923 29.269-10.795h438.613V545.62L528.724 891.988c-13.099-4.181-24.832-11.435-34.389-20.992-15.488-15.488-25.003-36.736-25.003-60.331zM384 682.667v128c0 47.104 19.157 89.856 50.005 120.661s73.557 50.005 120.661 50.005c17.28 0 32.171-10.283 38.997-25.344l170.667-384c2.56-5.717 3.712-11.733 3.669-17.323V85.333c0-23.552-19.115-42.667-42.667-42.667h-481.28c-32.725-.384-63.232 11.989-86.229 32.555-21.547 19.285-36.565 45.909-41.259 76.075l-58.88 384.085c-5.333 34.987 4.096 68.864 23.467 95.189s48.939 45.355 83.84 50.645c7.04 1.067 14.208 1.579 20.992 1.451zM725.333 128h113.92c15.403-.256 28.757 5.077 38.912 14.165 9.088 8.149 15.531 19.2 17.835 31.829v289.579c-1.579 14.507-8.875 26.88-19.413 35.541-10.027 8.277-22.912 13.056-36.736 12.843L725.334 512c-23.552 0-42.667 19.115-42.667 42.667s19.115 42.667 42.667 42.667h113.323c34.56.512 66.944-11.52 92.16-32.256 26.539-21.803 45.184-53.376 50.176-90.027.213-1.707.341-3.712.341-5.717V170.667c0-1.792-.128-3.797-.384-5.845-4.736-34.261-21.547-64.427-45.867-86.187-25.6-22.912-59.605-36.608-95.829-35.925h-113.92c-23.552 0-42.667 19.115-42.667 42.667s19.115 42.667 42.667 42.667z'/%3E%3C/svg%3E") !important;
}
html body .vud-widget-thumbs .down-score a div {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath fill='inherit' d='M469.333 640c0-23.552-19.115-42.667-42.667-42.667H184.362c-2.773-.085-6.528-.469-6.528-.469-11.648-1.749-21.419-8.021-27.947-16.896s-9.6-20.053-7.851-31.659l58.88-383.915c1.579-10.197 6.656-19.115 13.867-25.6 7.637-6.869 17.707-10.923 29.269-10.795h438.613V545.62L528.724 891.988c-13.099-4.181-24.832-11.435-34.389-20.992-15.488-15.488-25.003-36.736-25.003-60.331zM384 682.667v128c0 47.104 19.157 89.856 50.005 120.661s73.557 50.005 120.661 50.005c17.28 0 32.171-10.283 38.997-25.344l170.667-384c2.56-5.717 3.712-11.733 3.669-17.323V85.333c0-23.552-19.115-42.667-42.667-42.667h-481.28c-32.725-.384-63.232 11.989-86.229 32.555-21.547 19.285-36.565 45.909-41.259 76.075l-58.88 384.085c-5.333 34.987 4.096 68.864 23.467 95.189s48.939 45.355 83.84 50.645c7.04 1.067 14.208 1.579 20.992 1.451zM725.333 128h113.92c15.403-.256 28.757 5.077 38.912 14.165 9.088 8.149 15.531 19.2 17.835 31.829v289.579c-1.579 14.507-8.875 26.88-19.413 35.541-10.027 8.277-22.912 13.056-36.736 12.843L725.334 512c-23.552 0-42.667 19.115-42.667 42.667s19.115 42.667 42.667 42.667h113.323c34.56.512 66.944-11.52 92.16-32.256 26.539-21.803 45.184-53.376 50.176-90.027.213-1.707.341-3.712.341-5.717V170.667c0-1.792-.128-3.797-.384-5.845-4.736-34.261-21.547-64.427-45.867-86.187-25.6-22.912-59.605-36.608-95.829-35.925h-113.92c-23.552 0-42.667 19.115-42.667 42.667s19.115 42.667 42.667 42.667z'/%3E%3C/svg%3E") !important;
}
html body .vud-widget-thumbs .down-score a:hover div {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath fill='%23d5045f' stroke='inherit' d='M469.333 640c0-23.552-19.115-42.667-42.667-42.667H184.362c-2.773-.085-6.528-.469-6.528-.469-11.648-1.749-21.419-8.021-27.947-16.896s-9.6-20.053-7.851-31.659l58.88-383.915c1.579-10.197 6.656-19.115 13.867-25.6 7.637-6.869 17.707-10.923 29.269-10.795h438.613V545.62L528.724 891.988c-13.099-4.181-24.832-11.435-34.389-20.992-15.488-15.488-25.003-36.736-25.003-60.331zM384 682.667v128c0 47.104 19.157 89.856 50.005 120.661s73.557 50.005 120.661 50.005c17.28 0 32.171-10.283 38.997-25.344l170.667-384c2.56-5.717 3.712-11.733 3.669-17.323V85.333c0-23.552-19.115-42.667-42.667-42.667h-481.28c-32.725-.384-63.232 11.989-86.229 32.555-21.547 19.285-36.565 45.909-41.259 76.075l-58.88 384.085c-5.333 34.987 4.096 68.864 23.467 95.189s48.939 45.355 83.84 50.645c7.04 1.067 14.208 1.579 20.992 1.451zM725.333 128h113.92c15.403-.256 28.757 5.077 38.912 14.165 9.088 8.149 15.531 19.2 17.835 31.829v289.579c-1.579 14.507-8.875 26.88-19.413 35.541-10.027 8.277-22.912 13.056-36.736 12.843L725.334 512c-23.552 0-42.667 19.115-42.667 42.667s19.115 42.667 42.667 42.667h113.323c34.56.512 66.944-11.52 92.16-32.256 26.539-21.803 45.184-53.376 50.176-90.027.213-1.707.341-3.712.341-5.717V170.667c0-1.792-.128-3.797-.384-5.845-4.736-34.261-21.547-64.427-45.867-86.187-25.6-22.912-59.605-36.608-95.829-35.925h-113.92c-23.552 0-42.667 19.115-42.667 42.667s19.115 42.667 42.667 42.667z' class='path0'/%3E%3C/svg%3E") !important;
}
html body .vud-widget-thumbs .vote-current-score {
  display: none !important;
}

.node-type-faqs main#content {
  max-width: 800px;
  margin: 0 auto 60px auto;
  float: none;
  box-shadow: 0 5px 15px rgba(27, 27, 27, 0.08);
  border-radius: 5px;
  padding: 25px 30px;
}

.faq-rate {
  position: relative;
  width: 100%;
  text-align: center;
  height: 28px;
}
.faq-rate h2 {
  margin: 0;
  font-weight: 300;
  color: #0c376e;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.faq-rate .faq-rate-form input[type=submit] {
  position: absolute;
  left: -100000rem;
}
.faq-rate .faq-rate-form .thumbsupdown-rating-wrapper {
  max-width: 280px;
  margin: 0 auto;
  display: block;
}
.faq-rate .faq-rate-form .thumbsupdown-rating-wrapper .form-type-radio {
  background: none !important;
  border: 0 !important;
}
.faq-rate .faq-rate-form .thumbsupdown-rating-wrapper .form-item:first-of-type {
  float: right;
}
.faq-rate .faq-rate-form .thumbsupdown-rating-wrapper .form-item:first-of-type label:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath fill='inherit' stroke='inherit' d='M554.667 384c0 23.552 19.115 42.667 42.667 42.667h242.304c2.773.085 6.528.469 6.528.469 11.648 1.749 21.419 8.021 27.947 16.896s9.6 20.053 7.851 31.659l-58.88 383.915c-1.579 10.197-6.656 19.115-13.867 25.6-7.68 6.869-17.707 10.923-29.269 10.795H341.335V478.38l153.941-346.368c13.099 4.181 24.832 11.435 34.389 20.992 15.488 15.488 25.003 36.736 25.003 60.331zM640 341.333v-128c0-47.104-19.157-89.856-50.005-120.661s-73.557-50.005-120.661-50.005c-17.28 0-32.171 10.283-38.997 25.344l-170.667 384c-2.56 5.717-3.712 11.733-3.669 17.323v469.333c0 23.552 19.115 42.667 42.667 42.667h481.28c32.725.384 63.232-11.989 86.229-32.555 21.547-19.285 36.565-45.909 41.259-76.075l58.88-384.085c5.333-34.987-4.096-68.864-23.467-95.189s-48.939-45.355-83.84-50.645c-7.04-1.067-14.208-1.579-20.992-1.451zM298.667 896h-128c-11.776 0-22.4-4.736-30.165-12.501s-12.501-18.389-12.501-30.165V554.667c0-11.776 4.736-22.4 12.501-30.165s18.389-12.501 30.165-12.501h128c23.552 0 42.667-19.115 42.667-42.667s-19.115-42.667-42.667-42.667h-128c-35.328 0-67.413 14.379-90.496 37.504s-37.504 55.168-37.504 90.496v298.667c0 35.328 14.379 67.413 37.504 90.496s55.168 37.504 90.496 37.504h128c23.552 0 42.667-19.115 42.667-42.667S322.219 896 298.667 896z' class='path0'/%3E%3C/svg%3E") !important;
}
.faq-rate .faq-rate-form .thumbsupdown-rating-wrapper .form-item:last-of-type {
  float: left;
}
.faq-rate .faq-rate-form .thumbsupdown-rating-wrapper .form-item:last-of-type label:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath fill='inherit' d='M469.333 640c0-23.552-19.115-42.667-42.667-42.667H184.362c-2.773-.085-6.528-.469-6.528-.469-11.648-1.749-21.419-8.021-27.947-16.896s-9.6-20.053-7.851-31.659l58.88-383.915c1.579-10.197 6.656-19.115 13.867-25.6 7.637-6.869 17.707-10.923 29.269-10.795h438.613V545.62L528.724 891.988c-13.099-4.181-24.832-11.435-34.389-20.992-15.488-15.488-25.003-36.736-25.003-60.331zM384 682.667v128c0 47.104 19.157 89.856 50.005 120.661s73.557 50.005 120.661 50.005c17.28 0 32.171-10.283 38.997-25.344l170.667-384c2.56-5.717 3.712-11.733 3.669-17.323V85.333c0-23.552-19.115-42.667-42.667-42.667h-481.28c-32.725-.384-63.232 11.989-86.229 32.555-21.547 19.285-36.565 45.909-41.259 76.075l-58.88 384.085c-5.333 34.987 4.096 68.864 23.467 95.189s48.939 45.355 83.84 50.645c7.04 1.067 14.208 1.579 20.992 1.451zM725.333 128h113.92c15.403-.256 28.757 5.077 38.912 14.165 9.088 8.149 15.531 19.2 17.835 31.829v289.579c-1.579 14.507-8.875 26.88-19.413 35.541-10.027 8.277-22.912 13.056-36.736 12.843L725.334 512c-23.552 0-42.667 19.115-42.667 42.667s19.115 42.667 42.667 42.667h113.323c34.56.512 66.944-11.52 92.16-32.256 26.539-21.803 45.184-53.376 50.176-90.027.213-1.707.341-3.712.341-5.717V170.667c0-1.792-.128-3.797-.384-5.845-4.736-34.261-21.547-64.427-45.867-86.187-25.6-22.912-59.605-36.608-95.829-35.925h-113.92c-23.552 0-42.667 19.115-42.667 42.667s19.115 42.667 42.667 42.667z'/%3E%3C/svg%3E") !important;
}
.faq-rate .faq-rate-form .thumbsupdown-rating-wrapper .form-item label {
  background: none !important;
  border: 0 !important;
}
.faq-rate .faq-rate-form .thumbsupdown-rating-wrapper .form-item label.rate-voted {
  opacity: 0.2;
}
.faq-rate .faq-rate-form .thumbsupdown-rating-wrapper .form-item label:before {
  content: "";
  background-repeat: no-repeat !important;
  background-size: 24px 24px !important;
  background-position: center center !important;
  width: 28px !important;
  height: 28px !important;
  border: 0 !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  display: block !important;
}
.faq-rate .faq-rate-form .thumbsupdown-rating-wrapper .form-item label:after {
  display: none !important;
}

.pagename-contact-us {
  background: #fff;
}
.pagename-contact-us #content {
  padding: 0;
  margin: 0 0 30px 0;
}
.pagename-contact-us #content h2 {
  font-weight: 300;
  font-size: 1.8rem;
  line-height: 1.4;
}
.pagename-contact-us #content .full-width-section {
  margin-top: 60px;
  margin-bottom: -30px;
}

.contact-us-content h2 {
  font-weight: 300;
  font-size: 1.8rem;
  line-height: 1.4;
}

.pagename-help-and-support .contact-us-content {
  margin-bottom: -30px;
}

p.lead {
  font-size: 1.2rem;
  font-weight: 300;
  line-height: 1.8;
  margin-bottom: 2rem;
}

.first-bus-help-block {
  padding: 15px;
  border-radius: 3px;
  box-shadow: 0 5px 15px rgba(27, 27, 27, 0.09);
  height: 100%;
}
.first-bus-help-block h2 {
  font-weight: 300;
  font-size: 1.6rem !important;
  line-height: 1.4 !important;
  position: relative;
}
.first-bus-help-block > :last-child {
  margin-bottom: 0;
}

.help-and-support-cta h2 {
  padding: 0;
  font-weight: 300;
  font-size: 1.8rem;
  margin-bottom: 1.2rem !important;
  line-height: 1.6;
  color: #0c376e;
  text-align: center;
}
.help-and-support-cta .faqs-image-buttons {
  margin: 0;
  padding: 0;
}

/*# sourceMappingURL=firstbus-styles.css.map */
