/* 
	
	First Group
	site	: 	firstgroup.com
	author	: 	spideronline.co.uk

	1.		Min 769
	2.		Min 1024 & Max 1280
	3.		Min 769 & Max 1024
	4.		
	5.		Max 1150
	6.		Max 768
	7.		Min 468 & Max 768
	8.		Max 600
	9.		Max 468
	10.		Min 768 & Max 1150
	11.		Print Styles

*/

@media only screen and (max-width: 1080px) {

	#regions_div, 
	#regions_div_2 {
	    height: 310%!important;
	    position: absolute;
	    top: -110%;
	    left: -120%;
	    width: 325%!important;
	}

}


@media only screen and (min-width: 961px) and (max-width: 1200px) {



}


@media only screen and (min-width: 961px) {

	

	

}



/*	----------------------------------------------------------
	Min 768
	---------------------------------------------------------- */

@media only screen and (min-width:769px) {

	.ctrls ul {
		padding:0 0 14px 0;
		position: relative;
	}

	.ctrls li.reset {
		width: 100%;
		position: absolute;
		right: 0;
		bottom: 0;	
		text-align: right;
		font-size: 12px;
		line-height: 14px;	
	}

	.ctrls li:nth-of-type(3),
	.ctrls li:nth-of-type(4) {
		padding-right:0 !important;
	}

	html,
	.wf-loading {
		transition: opacity .2s;
		opacity: 1;
	}

	.wf-inactive,
	.wf-active {
		opacity: 1;
		background: #1b1b1b;
	}
	
	#ticket_disp td {
		vertical-align: middle;
		min-width: 200px;
	}
	
	form#c_form.extra_mile fieldset:nth-of-type(3) ul li:nth-of-type(1),
	form#c_form.extra_mile fieldset:nth-of-type(3) ul li:nth-of-type(3),
	form#c_form.extra_mile fieldset:nth-of-type(4) ul li:nth-of-type(1),
	form#c_form.extra_mile fieldset:nth-of-type(5) ul li:nth-of-type(1),
	form#c_form.extra_mile fieldset:nth-of-type(5) ul li:nth-of-type(3)	{
		margin-right: 20px;
	}
	
	body #pageWrapper form#c_form.extra_mile fieldset:nth-of-type(5) ul li:nth-of-type(2n) {
		margin-right: 0;
	}
	
	.pagename-home .slider-container .btn.back-firstpink {
		margin: 2px;
	}

}









/*	----------------------------------------------------------
	Min 1024 & Max 1280
	---------------------------------------------------------- */

@media only screen and (min-width:1024px) and (max-width:1280px) {

	#ticket_disp td {
		min-width: 30%;
	}

	table.departure-content .departure td.desc {
		width: auto;
	}

}



/*	----------------------------------------------------------
	Min 769 & Max 1024
	---------------------------------------------------------- */

@media only screen and (min-width:769px) and (max-width:1024px) {

	#content table td,
	#content table th{
		min-width: 0;
	}

	table.departure-content .departure td.desc {
		width: auto;
	}

	ul.transport-types.transport-mode li span {
		left: 0;
		width: 21px;
	}

	#content #transportation-mode label {
	    padding: 0 6px;
	}

	#content #transportation-mode label:before {
		padding-right: 6px;
		font-size: 16px;
	}

	#content #transportation-mode label:after {
		font-size: 14px;
	}

	#journey-type input[type=radio] + label {
		padding-left: 6px;
		padding-right: 6px;
	    font-size: 12px;
	}
	
	#pageWrapper #sidebar .spider-share button {
		width: 100%;
	}
	
	#pageWrapper #sidebar .spider-share button:first-child {
		margin: 0 0 20px 0;
	}

}


















/*	----------------------------------------------------------
	Max 1150
	---------------------------------------------------------- */

@media only screen and (max-width:1150px) {
	
	#toggle-search,
	#toggle-search + label {
		display: none;
	}

	/* General */

	#user-profile-form .fieldset-wrapper > .form-item {
		height: auto;
	}

	.front-map-container {
		height: 158%;
		top: -25%;
	}

	.pagename-contact-us .front-map {
	    display: none;
	}

	.pagename-contact-us .find-opco {
        margin-bottom: 24px;
        width: 100%;
	}
	
	#area_selector {
		position: relative;
		margin-top: 12px;
		width: 100%;
	}
	
	#area_selector label {
		width: 100%;
	}

	#upper-footer .promo-title {
		font-size: 14px;
		padding: 10px;
	}

	.opco-name { 
		font-size: 14px;
	}

	.ticket-start-date label {
		width: 100%;
	}

	.ticket-start-date div.dates {
		width: calc(100% - 105px);
		padding-left: calc(100% - 455px);
	}





    /* Site Header */

    body {
    	padding-top: 0;
    }

    header#header {
    	position: relative;
    	top: auto;
    	left: auto;
    	right: auto;
    	height: 70px;
    	margin-top: 40px;
    }

    header#header > .wrap {
    	height: 70px;
    	box-shadow: 0 2px 2px rgba(0,0,0,0.08);
    }

    .firstukbus-logo {
	    float: left;
	    margin: 12px 0;
	    width: 88px;
	    height: 28px;
	}

	.firstukbus-logo svg {
		width: 88px;
	    height: 28px;
	}

	.firstukbus-logo.front-logo {
	    width: 145px;
	    height: 46px;
	}

	.front-logo.firstukbus-logo svg {
		margin: 8px 0;
		width: 145px;
	    height: 30px;
	}

	.firstukbus-logo + .opco-name {
		position: relative;
		left: auto;
		bottom: auto;
		clear: both;
		margin: 0 0 12px 0;
		top: -12px;
		font-size: 12.5px;
		line-height: 18px;
	}

	.breadcrumbs {
    	display: none;
    }





	




	/* Twitter Ticker */

	#twitter-ticker .wrap {
		padding: 0 12px;
	}

	.ticker-prev, .ticker-next, .twitter-logo {
		display: none;
	}

	#twitter-ticker ul.tweet_list {
		width: 100%;
	}




	/* Columns */

	#main.opco.sidebar-right,
	#main.opco.sidebar-right #content {
	    width: 100%;
	    padding: 0!Important;
	}

	#main.opco.sidebar-right, 
	#main.opco.sidebar-right #content {
		margin: 0;
	}

	#main.opco.sidebar-right #content .journey-planner {
		padding: 0 20px;
		margin: 30px 0 0 0;
	}

	#main.opco.sidebar-right #content + #sidebar {
		width: 100%;
		padding: 0 20px;
	}

	.wrap,
	.container, 
	#main {
		max-width: 1400px;
		margin: 0 auto;
		padding: 0 20px;
		position: relative;
	}

	#main {
		margin: 20px 0;
	}

	body.front .col-3.front-map {
		display: none;
	}

	body.front .col-3.left,
	body.front .col-3 {
		width: calc(50% - 10px);
		padding: 0;
		margin: 0;
		background: none;
	}
	
	body.front .col-3.left {
		margin-bottom: 20px;
	}

	body.front .col-3:first-child {
		margin-right: 20px;
	}
	
	body.front .row-bottom {
		margin-top: 0;
	}

	#main.opco.sidebar-right #content + #sidebar {
		margin-top: 30px;	
	}

		/* Order History */

	#eticket_filter > div {
		width: calc(50% - 10px);
	}

	#eticket_filter > div:nth-child(2) {
		margin-right: 0;
	}

	.order-user-details {
		width: 100%;
		margin-right: 0;
	}

}




/*	----------------------------------------------------------
	Min 540 & Max 959
	---------------------------------------------------------- */
 
@media only screen and (min-width:468px) and (max-width:959px) {

	.opco #sidebar > div.next-bus-mini,
	.opco #sidebar > div.timetable-search-mini {
		width: calc(50% - 10px);
		float: left;
		position: relative;
	}

	.opco #sidebar > div.next-bus-mini {
		margin-right: 20px;
	}

	body.front .row-bottom .col-3,
	.col-3, 
	.col-3:last-child, 
	#upper-footer .col-3, 
	#upper-footer .col-3:last-child {
    	margin: 0 20px 20px 0;
    	width: calc(50% - 10px);
    }

	body.front .row-bottom .col-3:nth-of-type(2n),
    .col-3:nth-of-type(2n), 
	#upper-footer .col-3:nth-of-type(2n) {
		margin-right: 0;
	}

}








/*	----------------------------------------------------------
	Max 768
	---------------------------------------------------------- */

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

	.wrap, 
	.container, 
	#main {
		padding: 0 12px;
	}
	
	#main.sidebar-left #content {
		margin-bottom: 0;
	}

	.shrink .top-nav {
		background: rgba(255,255,255,0.85);
	}

	div#cookieBanner {
		padding: 12px;
	}

	div#cookieBanner .container {
		padding-right: 32px;
	}

	div#cookieBanner a {
		float: none;
	}

	body div#cookieBanner button {
		right: 0;
	}

	.wrap {
		padding: 0 12px;
	}

	input[type="password"],
	input[type="text"],
	input[type="email"],
	textarea,
	select,
	button,
	.btn,
	.fieldsubmit, 
	input[type=submit], 
	.btn-p {
	    font-size: 14px;
	}

	.ctrls li.reset a {
		margin-top: 4px;
	}

	body.unscroll-y {
		overflow-y: hidden;
	}

	h2, 
	h2 a {
		font-size: 18px;
	}

	#sidebar, 
	#content,
	#main.sidebar-left #content, 
	#main.sidebar-right #content,
	#main, 
	.container,
	.col-3, 
	#journey-planner #journey-from,
	#journey-planner #journey-to,
	#journey-from, 
	#journey-to, 
	span#spinner-cont,
	#journey-type, 
	#transportation-mode, 
	.btn, 
	.btn-dd, 
	input[type=submit],
	#date-time input[type=text], 
	ul#external_navigation li,
	#content ul.transport-types.transport-mode {
		width: 100%;
	}

	.page-taxonomy #journey-from {
		margin-bottom: 20px;
	}

	.page-node #content {
		margin-top: 0;
	}

	.home-slider-wrap {
		position: relative;
		height: 0;
		width: 100%;
		padding-bottom: 45%;
	}

	.slide-content {
	    position: absolute;
	    left: 12px;
	    font-size: 18px;
	    max-width: 100%;
	    width: calc(100% - 24px);
	    text-align: center;
	    color: #fff;
	    font-weight: 700;
	    bottom: 12px;
	    padding: 12px 12px 16px 12px;
	    background: rgba(213, 4, 95, 0.7);
	}

	input[type="password"], 
	input[type="text"], 
	input[type="email"], 
	textarea {
		font-size: 14px;
		
	}

	#ticket_disp table tr {
		padding: 10px 0;
		display: block;
	}

	#ticket_disp table {
		border-top: 1px solid #aaa;
		border-bottom: 1px solid #aaa;
	}

	#ticket_disp table tr:last-child {
		border: 0;
	}

	#ticket_disp table tr td {
		display: block;
		text-align: left;
		padding: 2px 0;
		font-weight: 600;
	}

	#ticket_disp table {
		border: 1px solid rgba(0,0,0,0.2);
		width: 100%;
	}

	#ticket_disp table tr:last-child {
		border:0;
	}

	#ticket_disp table tr td {
		display: block;
		text-align: left;
		font-weight: 600;
		padding: 10px;
	}
	
	#ticket_disp table tr td:first-child,
	#ticket_disp table tr td:nth-of-type(2) {
		width: 50%;
		float: left;
		position: relative;
		overflow: hidden;
		max-width: 50%; 
		padding: 0 10px;
		text-align: center;
	}
	
	#ticket_disp table tr td.full-width {
		padding: 5px;
		width: 100%;
		overflow: hidden;
		text-align: center;
	}
	
	#ticket_disp table thead {
		display: none;
	}
	
	#earlier.btn {
		margin-bottom: 10px;
	}

	.pagename-timetables #content table tr {
	  border-bottom: 1px solid #ddd;
	}

	.pagename-timetables #content table tr:last-child {
	  border-bottom: 1px solid #ccc;
	}

	.row-bottom, #footer{
		padding: 16px 0;
	}


	.credits-left, .credits-right {
		width: 100%;
	}

	ul#external_navigation li {
		margin-bottom: 0;
	}
	
	#upper-footer,
	.front .row-bottom {
		padding: 20px 0;
	}
	
	.front .row-bottom {
		padding: 20px 0;
	}

	body.front .row-bottom .col-3 {
		width: 100%;
		margin: 0 0 20px 0;
		padding: 0;
	}
	
	body.front .news-content h3 {
		margin-bottom: 6px;
	}
	
	body.front .news-content {
  		float: left;
  		width: calc(100% - 88px); 
  	}

	#header {	
		box-shadow: none;
	}	

	#content h1 {
		margin: 0 0 24px 0;
	}

	#lower-footer {
		padding: 0 12px;
	}

	.credits-right, .credits-left {
		margin: 15px 0;
	}

	.row-bottom {
		margin: 0;
	}

	.site-search {
		display: none;
		width: calc(60% - 60px);
		margin: 5px 30px;
	}

	#content {
		background: 0;
		border: 0;
		padding: 0;
	}

	#sidebar {
		float: right;
		padding: 20px 0;
		margin: 0;
	}

	ul#sidebar_navigation li a.active:after, 
	ul#sidebar_navigation li.active-trail a:after {
		content: none;
	}

	header .site-search input[type=text] {
		margin: 0;
		width: 100%;
	}
	
	/* More Menu */

	.inner-open li.arealist,
	body .moreplus ul {
		display: none;
	}
	
	.moreplus:after {
		border-left-color: #d5045f!important;
	}
	
	.moreplus span {
		cursor: pointer;
		height: 44px;
	}

	.pass-form label,
	.pass-form input[type="text"] {
		width: 100%!important;
		margin: 0;
	}

	#ukbus_nav_tabs {
		display: none;
	}



	/*	
	----------------------------------------------------------
	News and service updates
	---------------------------------------------------------- 
	*/

	.news-section {
		margin:0 0 30px 0;
	}

	#tweets ul.tweet_list li {
		width:100%;
		margin: 0 0 10px 0;
		padding:10px;
	}

	.tweet-section #tweets ul.tweet_list li span.tweet_text {
		display:block;
		font-size: 14px;
		line-height: 22px;
	}

	.tweet-section #tweets ul.tweet_list li span.tweet_text a {
		font-size: 14px;
		line-height: 22px;
	}

	.tweet-section #tweets ul.tweet_list li span.tweet_time {
		display:inline-block;
		font-size: 10px;
  		float: right;
	}
	

	



	/*	
	----------------------------------------------------------
	Opco slider
	---------------------------------------------------------- 
	*/

	.opco .slide-content {
		position: absolute;
		background: #212b55;
		margin-left: 0 ;
		font-size: 16px;
		color: #fff;
		font-weight: 700;
		padding: 10px;
		line-height: 24px;
	}

	.opco .flex-control-nav {
		width: auto;
	}

	.flex-control-nav {
	  right: 20px;
	  top: 20px;
	  bottom: auto;
	}

	body.front .col-3.left {
		background: 0;
		border: 0;
	}






	/*	
	----------------------------------------------------------
	Journey planner
	---------------------------------------------------------- 
	*/

	#journey-results {
	  margin: 20px 0;
	}

	span#spinner-cont {
		margin: 10px 0 8px 0;
		top: 0;
		height:35px;
		display: block;
		overflow: hidden;
		text-align: center;
		width: 100%;
	}

	.opco span#spinner-cont {
		width: 100%;	
	}

	#set-my-location-from, 
	#set-my-location-to {
		bottom: 0;
	}
	
	#set-my-location-from,
	#set-my-location-to,
	#set-my-location-from:before,
	#set-my-location-to:before	{
		height: 41px;
		width: 41px;
		line-height: 41px;
	}

	#date-time select {
		margin-left: 0;
	}

	#date-time select {
		width: 48%;
		margin: 10px 4% 0 0;
	}

	#date-time select#minute {
		margin-right: 0;
	}

	#pageWrapper .transportation-modes {
		display: none;
	}

	.route-summary-inner {
		width: 100%;
		padding: 10px 10px 6px 10px;
	}

	.first-services > h3,
	.all-services > h3 {
		text-align: center;
	}

	ul.transport-types.transport-mode {
		display:block;
		padding: 10px 0 5px 0;
		text-align: center;
		width: 100%;
	}
	
	ul.transport-types.transport-mode li.transport-mode {
		margin: 5px 0;
	}
	
	ul.transport-types.transport-mode li.transport-mode:last-child:after {
		content: "";
		display: none;
	}

	.route.headers {
		padding: 10px 20px;
		background: #e7e7e7;
	  	border: 1px solid #dcdcdc;
	}

	.depart, 
	.arrive, 
	.duration {
		width: 33.3333333333%;
		padding: 0;
		text-align: center;
	}

	#pageWrapper .legs, 
	#pageWrapper .total-legs {
		display: none;
	}

	.leg-line {
	    width: 24px;
	}

	#content ul.route-details li ul {
		width: calc(100% - 36px);
	}

	#content ul.route-details li {
		padding: 5px 0;
	}

	ul.route-details li ul li:before {
		display: none;
	}

	ul.route-details li ul li {
		line-height: 18px;
		padding: 5px 0;
		border: 0;
	}

	ul.route-details li ul li span {
		font-size: 12px;
	}

	ul.route-details li ul li span.approx-time {
		font-size: 12px;
	}

	ul.route-details li ul li span.time-at span {
		display: none;
	}





	/*	
	----------------------------------------------------------
	Timetables
	---------------------------------------------------------- 
	*/

	#timetable_form .col-3{
		margin: 0;
		width: 100%;
	}

	form#timetable_form .time-container .time-separator {
  		padding-top: 24px;
  	}

  	.time-container {
  		left: auto;
  		margin-left: 0;
  		text-align: center;
  	}

  	.time-container select,
  	.time-container div {
  		float: none;
  		display: inline-block;
  	}

  	.time-container label {
		width: 100%;
		left: auto;
		margin-left: 0;
		text-align: center;
	}






	/*	
	----------------------------------------------------------
	Tickets
	---------------------------------------------------------- 
	*/

	.ctrls li {
		width: 100%;
		list-style:none;
		padding:0;
	}

	#ticket_disp h2 {
		font-size:16px;
		color:#252525;
	}

	#ticket_disp h3 {
		font-size:14px;
	}




	/*	
	----------------------------------------------------------
	Route maps
	---------------------------------------------------------- 
	*/

	.file-types {
		width:15%;
	}

	.network-map-title {
		width:80%;
	}




	/*	
	----------------------------------------------------------
	Cookie banner
	---------------------------------------------------------- 
	*/

	

	.careers-link:before,
	.careers-link:after {
		display: none;
	}






	/*	
	----------------------------------------------------------
	Next bus
	---------------------------------------------------------- 
	*/

	table.departure-content .departure td .icon {
		margin: 0;
		max-width: 99%;
		word-wrap: break-word;
	}

	#content table.departure-content tr.departure td.num {
		width:100%;
		text-align: left;
		padding: 8px 50px 0 0;
	}

	#content table.departure-content tr.departure td.first {
		width: 10%;
		position: absolute;
		right: 0;
		padding: 0;
		top: 10px;
		text-align: right;
	}

	#content table.departure-content tr.departure td.desc {
		width:100%;
		text-align: left;
		padding: 0;
	}

	#content table.departure-content tr.departure td.time {
		width: 100%;
		text-align: left;
		padding: 4px 0 4px 0;
		font-weight: 600;
		position: relative;
		top: auto;
	}

	#content table.departure-content tr.departure td.route{
		display: none;
	}
	
	#area_selector {
		width: 100%;
		max-width: 1000px;
	}
	
	#area_selector #area_filter {
		width: 100%;
		margin-bottom: 10px;
	}

	





	/*	
	----------------------------------------------------------
	Contact us
	---------------------------------------------------------- 
	*/

	form#c_form ul li {
		height:auto;
		width:100% !important;
	}

	form#c_form h2 {
		padding:10px 0;
		margin-bottom: 0;
	}

	form#c_form ul li.contacting-you label {
		width: calc(99% - 15%);
  		margin-left: 2%;
	}
	
	.network-map {
		background: #fff;
	}

	ul#ukbus_nav_tabs {
		margin-left:20px;
		margin-top:10px;
		width:100%;
	}






	/*	
	----------------------------------------------------------
	Scrolling nav sub menu
	---------------------------------------------------------- 
	*/
	
	.appended-menu {
		width: 100%;
		float: left;
		margin: 0;
		padding: 0;
		top: 0;
		left: 0;
		border: none;
		position: absolute;
		max-height: none;
		z-index: 1150;
		background: rgba(42, 42, 42, 0.96);
		white-space: nowrap;
		display: inline-block;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	body #pageWrapper .appended-menu ul {
		margin: 0;
		display: block;
		position: relative;
		max-height: none;
		height: auto;
	    width:100%;
	    top: auto;
	    background: none;
	    border: none;
	    padding: 0;
	    margin: 0;
	    opacity: 1;
	}
	
	body #pageWrapper .appended-menu li {
		list-style-type: none;
		position: relative;
		padding: 0 12px;
	}
	
	body #pageWrapper .appended-menu li a {
		display: block;
		padding: 12px 0;
		width: 100%;
		border-bottom: 1px solid rgba(255,255,255,0.1);
		font-size: 14px;
		font-weight: 600;
		color: #fff;		
	}
	
	body #pageWrapper .appended-menu li a:after {
		content: "";
		border-top: 4px solid transparent;
		border-bottom: 4px solid transparent;
		border-left: 4px solid rgba(255,255,255,0.4);
		display: block;
		position: absolute;
		right: 15px;
		top: 19px;
	}

	body #pageWrapper .appended-menu ul > li:first-child {
		background: #252525;
	}

	.destroy-menu {
		background: none;
		color: #e0e0e0;
		width: 100%;
		padding: 8px 0;
		height: auto;
		line-height: 24px;
		text-align: left;
	}

	.destroy-menu:after {
		content: "\ea11";
		font-family:first-icons;
		border: none;
		font-weight: normal;
		float: right;
	}

	.destroy-menu:focus {
		outline: none;
	}





	#content .mobile-table th {
		width: 100%;
		display: block;
		border-left: 1px solid rgba(0,0,0,0.1);
		border-right: 1px solid rgba(0,0,0,0.1);
	}

	#content .mobile-table td {
		width: 100%!important;
		text-align: right!Important;
		display: block;
		border-bottom: 1px solid rgba(0,0,0,0.1);
		border-left: 1px solid rgba(0,0,0,0.1);
		border-right: 1px solid rgba(0,0,0,0.1);
	}

	.mobile-table td:before {
		content: attr(data-label);
		float: left!important;
		font-weight: 800;
		font-size: 12px;
		text-align: left!important;
		color: #212B55 !important;
	}

	#content .mobile-table tr {
		border: none!important;
		border-top: 1px solid rgba(0,0,0,0.1)!important;
		border-bottom: 12px solid #f4f4f4!important;
		display: block;
	}

	.mobile-table td span,
	.mobile-table td img {
		display: inline!important;
		float: none!important;
	}

	#options {
	    border: 1px dashed rgba(0,0,0,0.2);
	    border-top: 0;
	    padding: 10px;
	    margin: -20px 0 20px 0;
	    overflow: hidden;
	}

	#journey-type input[type=radio] + label {
	    width: 50%!important;
	    font-size: 12px;
	}

	#journey-type {
		margin-bottom: 16px;
	    background: none;
	    border: 1px solid rgba(0,0,0,0.1);
	}

	#journey-type h4 {
		display: block;
		background: #f6f6f6;
		border: 2px solid #f6f6f6;
		box-sizing: content-box;
		width: calc(100% + 2px);
		margin: -1px 0 17px -1px;
	}




	/* User Forms */

	body #content #user-register-form .description,
	body #content #user-register-form select,
	body #content #user-register-form input[type="text"],
	body #content #user-register-form input[type="password"],
	body #content #user-register-form label,
	#user-profile-form .description,
	#user-profile-form select, 
	#user-profile-form input[type="text"], 
	#user-profile-form input[type="password"],
	#user-profile-form label {
		width: 100%;
	}

	#user-register-form label,
	#user-profile-form label {
		line-height: 24px;
	}

	#user-register-form .fieldset-wrapper > .form-item,
	#user-profile-form .fieldset-wrapper > .form-item {
		height: auto;
		border: none;
	}

	#user-register-form input[type="text"].postcode,
	#user-profile-form input[type="text"].postcode {
		width: calc(100% - 105px)!important;
	}

	#user-register-form .postcode_check,
	#user-profile-form .postcode_check {
		top: 24px;
	}

	.form-type-password-confirm div.password-confirm, 
	.form-type-password-confirm .password-strength {
		left: auto;
		width: 100%;
	}

	.page-user-account .form-type-password-confirm div.password-confirm-message {
		left: auto;
		width: 100%;
		bottom: -5px;
	}

	.form-type-password-confirm .password-strength {
		bottom: 54px;
	}

	.form-type-password-confirm div.password-confirm {
		bottom: 0;
	}

	#user-register-form > div
	#user-profile-form > div {
		padding-left: 12px;
		padding-right: 12px;
	}

	#user-register-form .fieldset-wrapper .form-type-password-confirm,
	#user-profile-form .fieldset-wrapper .form-type-password-confirm {
		padding-bottom: 108px;
	}

	#user-register-form .form-item-mail .description, 
	#user-register-form .password-suggestions,
	#user-register-form .fieldset-wrapper > p,
	#user-profile-form .form-item-mail .description, 
	#user-profile-form .password-suggestions,
	#user-profile-form .fieldset-wrapper > p {
		font-size: 12px;
		font-weight: 400;
		padding: 6px 8px;
	}

	.logged-in #user-profile-form {
		padding-top: 12px!important;
	}

	#user-profile-form #edit-status,
	#user-profile-form #edit-roles {
		padding-left: 0;
	}
	
	.field-name-field-opco + #edit-actions input[type="submit"]:last-child {
		margin-top: 20px;
	}
	
	#user-profile-form #edit-status .form-type-radio,
	#user-profile-form #edit-roles .form-type-checkbox {
		width: 100%;
		margin: 0 0 12px 0;
	}
	
	#user-profile-form #edit-account .form-type-password-confirm {
		padding-bottom: 108px;
	}
	
	.form-item-timezone {
		padding-top: 20px;
	}
	
	#cart-buttons a:first-of-type {
		margin-bottom: 12px;
	}

	.or span {
		background: #fcfcfc;
	}

	.modal-ctrls a {
		width: auto!important;
	}

	body form fieldset.minimal-form {
		width: 100%;
		margin: 0;
	}

	#main.opco.sidebar-right #content .journey-planner {
		padding: 0 12px;
		margin: 0 0 20px 0;
	}

	#main.opco.sidebar-right #content + #sidebar {
		width: 100%;
		padding: 0 12px;
	}

	
	
	
	/* Sidebar Widgets */
	
	#sidebar > div, 
	#sidebar > ul,
	#sidebar #favourites,
	#sidebar .spider-share,
	#sidebar > div#timetable_search	{
		padding: 12px;
	}
	
	#sidebar > ul#sidebar_navigation {
		padding: 0;
	}
	
	#sidebar .journey-planner input[type="submit"] {
		margin-bottom: 0;
	}
	
	#pageWrapper #sidebar .spider-share button {
		width: calc(50% - 6px);
	}
	
	#pageWrapper #sidebar .spider-share button:first-child {
		margin-right: 12px;
	}
	
	/* 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;
	}
		
	#main.opco.sidebar-right #content .journey-planner {
		margin-bottom: 0;
	}

	#eticket_filter > div {
		width: 100%;
		margin: 0 0 8px 0;
	}

	#eticket_filter > div:nth-child(4) input[type=submit], 
	#eticket_filter > div:nth-child(4) a.btn {
		margin: 8px 0 20px 0;
	}

	#top-navigation > ul > li:last-child a {
		width: 44px;
		font-size: 0;
		padding: 0;
	}

	#top-navigation > li.menu-466 a:before {
		font-family: 'first-icons';
		content: "\e158";
		font-size: 14px;
		margin-top: -1px;
		display: inline-block;
	}


	#content.content-left {
	    max-width: 100%;
	    margin-bottom: 30px;
	}
	.sidebar {
		width: 100%;
		margin-bottom: 30px;
	}

	.page-header {
		background: #f7f7f7;
	    border-bottom: 1px solid #e5e5e5;
	    margin: 0 0 20px 0;
	    padding: 30px 0 20px 0;
	}

}

















/*	----------------------------------------------------------
	Max 600
	---------------------------------------------------------- */

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

	.front .row-top {
		padding: 0;
	}

	body.front .col-3.left,
	body.front .col-3 {
		width: 100%;
	}

	.corporate-link {
		width: 100%;
		margin: 0 0 16px 0;
		padding-top: 30%;
		font-size:14px;
	}

	.float-img-left {
		max-width: 60px;
	}

	.float-img-left img {
		width: 100%;
		width: auto;
	}
	
	.view-content > div .nm-call {
		width: 100%;
		margin: 0 0 20px 0!important;
	}

	#user-profile-form .fieldset-title {
		width: 100%;
	}

	#user-profile-form .fieldset-title:before {
		display: none;
	}


	#user-profile-form fieldset:nth-of-type(1) .fieldset-title {
		top: -146px;
	}

	#user-profile-form fieldset:nth-of-type(2) .fieldset-title {
		left: 0;
		border-left: none;
		top: -96px;
	}

	#user-profile-form fieldset:nth-of-type(3) .fieldset-title {
		left: 0;
		border-left: none;
		top: -46px;
	}

	#user-profile-form > div {
		margin: 0;
	}

}





@media only screen and (max-width: 539px) {

	.wrap, .container, #main {
	    max-width: 1400px;
	    margin: 0 auto;
	    padding: 0 12px;
	    position: relative;
	}

	.col-3, 
	.col-3:last-child,
	#upper-footer .col-3,
	#upper-footer .col-3:last-child,
	.front .row-bottom .col-3,
	.front .row-bottom .col-3:last-child {
		margin: 0 0 20px 0;
  		width: 100%;
	}

}





/*	----------------------------------------------------------
	Max 468
	---------------------------------------------------------- */

@media only screen and (max-width:468px) {

	.ctrls select {
  		margin: 8px 0;
	}

	#pp-map {
	    height: 270px;
	}

	/* Ticket Pages */

	#ticket_disp table {
		border: none;
	}

	#ticket_disp table tr {
		padding: 0;
		border: none;
		margin-bottom: 12px;
		background: rgba(0,0,0,0.05);
	}

	#ticket_disp table tr td:first-child {
		width: 66.66666666666667%;
		border-right: 2px solid #fcfcfc;
		text-align: left;
		max-width: none;
		padding: 10px;
	}

	#ticket_disp table tr td:nth-of-type(2) {
		width: 33.33333333333333%;
		padding: 10px;
	}

	#ticket_disp table tr td.full-width {
		padding: 0;
	}

	#ticket_disp td [class^="custom-icon-"], 
	#ticket_disp td [class*=" custom-icon-"] {
		width: 16.66666666666667%;
		display: block;
		float: left;
		position: relative;
		border: 2px solid #fcfcfc;
		border-left: none;
		border-bottom: none;
		height: 0;
		padding-bottom: 16.66666666666667%;
	}

	#ticket_disp td [class^="custom-icon-"]:before, 
	#ticket_disp td [class*=" custom-icon-"]:before {
		position: absolute;
		top: 50%;
		left: 50%;
		margin: -14px 0 0 -14px;
		font-size: 22px;
		color: rgba(0,0,0,0.1);
	}

	#ticket_disp td [class^="custom-icon-"]:last-child, 
	#ticket_disp td [class*=" custom-icon-"]:last-child {
		border-right: 0;
	}
	
	.col-3, 
	.col-3:last-child, 
	#upper-footer .col-3, 
	#upper-footer .col-3:last-child, 
	.front .row-bottom .col-3, 
	.front .row-bottom .col-3:last-child {
    	margin: 0 0 20px 0;
    	width: 100%;
    }

    .col-3:last-child, 
	#upper-footer .col-3:last-child,
	.front .row-bottom .col-3:last-child {
		margin-bottom: 0;
	}
	
	#main.opco.sidebar-right #content + #sidebar {
		margin-top: 0;
	}
	
		
	#main.opco.sidebar-right #content .journey-planner {
		margin-bottom: 20px;
	}


}










/*	----------------------------------------------------------
	Min 768 & Max 1150
	---------------------------------------------------------- */

@media only screen and (min-width: 768px) and (max-width: 1150px){
	
	#sidebar .spider-share > a {
		width:80px;
	}

	#sidebar .spider-share .share-action {
		display:none;
	}

}










/*	----------------------------------------------------------
	Print Styles
	---------------------------------------------------------- */

@media print {
	
	body {
		padding-top: 0!important;
	}

	#header,
	#footer,
	.breadcrumbs,
	#sidebar,
	#toolbar {
	display: none!important;
	}

	#content {
		width: 100%!Important;
		padding: 0!important;
	}

    * { 
        background: transparent !important; 
        color: black !important; 
        box-shadow:none !important; 
        text-shadow: none !important; 
        filter:none !important; 
        -ms-filter: none !important; 
    }

    a, 
    a:visited { 
        text-decoration: underline; 
    }

    a[href]:after { 
        content: " (" attr(href) ")"; 
    }

    abbr[title]:after { 
        content: " (" attr(title) ")"; 
    }

    .ir a:after, 
    a[href^="javascript:"]:after, 
    a[href^="#"]:after { 
        content: ""; 
    } 

    pre, blockquote { 
        border: 1px solid #999; 
        page-break-inside: avoid; 
    }

    thead { 
        display: table-header-group; 
    }

    tr, img { 
        page-break-inside: avoid; 
    }

    img { 
        max-width: 100% !important; 
    }

    @page { 
        margin: 0.5cm; 
    }

    p, h2, h3 { 
        orphans: 3; 
        widows: 3; 
    }

    h2, h3 { 
        page-break-after: avoid; 
    }

}



.site-header nav {
	font-family: galano_grotesque_demobold, sans-serif;
}



@media only screen and (min-width:1151px) {

	body {
		padding-top: 80px;
	}

/*	body.toolbar {
		padding-top: 110px;
	}*/

/*	body.toolbar .site-header {
		top: 30px;
	}*/

	#messageBanner {
		display: none;
	}

	.site-title {
		position: absolute;
		top: 20px;
		left: 15px;
		display: block;
		width: 380px;
		height: auto;
	}

	button.menu-toggle {
		display: none;
	}

	.site-header nav {
		display: flex;
		/* float: right; */
		justify-content: end;
		position: relative;
	}

	.main-nav ul {
		/* z-index: 1; */
		background: #fff;
		height: 100%;
	}

	.main-nav ul ul {
		display: none;
	}

	.main-nav ul input[type=checkbox],
	.main-nav ul label {
		display: none;
	}

	.main-nav ul li {
		display: inline-block;
	}

	.main-nav ul li a {
		display: block;
		line-height: 80px;
		padding: 0 20px;
		color: #444;
		transition: all .2s;
	}

	.main-nav ul li a.is-active,
	.main-nav ul li a:hover {
		color: #fff;
		background-color: #37aa32;
	}

	.user-menu ul {
		display: none;
	}

	.user-menu li {
		display: inline-block;
		position: relative;
	}

	#user-block {
		display: flex;
		background: #f7f7f7;
	}

	.user-menu li a {
		display: block;
		/* float: left; */
		line-height: 80px;
		padding: 0 20px;
		color: #444;
	}

	.user-menu .user-profile-link {
		padding-left: 48px;
		position: relative;
	}

	.user-menu .user-profile-link:before {
		font-family: first-icons;
		content: "\e074";
		position: absolute;
		left: 20px;
		top: 50%;
		margin-top: -17px;
		line-height: 30px;
		font-size: 20px;
	}

/*	.user-menu .shopping-cart {
		line-height: 18px;
		height: 20px;
		min-width: 20px;
		text-align: center;
		background: #009688;
		position: absolute;
		padding: 2px 0 0 0;
		border-radius: 50%;
		color: #fff;
		font-size: 12px;
		right: 16px;
		top: 50%;
		margin-top: -12px;
	}*/

/*	.cart-padding {
	    padding-right: 20px;
	}*/

	.user-menu {
	    position: relative;
	}

	.user-menu li {
	    position: relative;
	}

	.user-menu li ul {
	    display: block;
	    position: absolute;
	    top: 100%;
	    right: 0;
	    background: #fff;
	    box-shadow: 0 1px 2px rgba(27,27,27,0.3);
	    width: 200px;
	    transform: translateY(-200%);
	    -ms-transform: translateY(-200%);
	    -webkit-transform: translateY(-200%);
	    transition: all .5s;
	    z-index: -1;
		height: auto;
	}

	.user-menu li:hover > ul {
	     transform: translateY(0);
	    -ms-transform: translateY(0);
	    -webkit-transform: translateY(0);
	}

	.user-menu li ul li {
	    display: block;
	}

	.user-menu li ul a {
	    line-height: 24px;
	    display: block;
	    padding: 18px 20px;
	    width: 100%;
	    border-bottom: 1px solid #e7e7e7;
	    transition: all .2s;
	}

	.user-menu li ul a:hover {
		background: #f7f7f7;
		color: inherit;
	}

	a.shopping-cart.mobile {
		display: none;
	}

}


@media only screen and (max-width:1150px) {
	.site-title {
		height: 80px;
	}

	.site-title img {
		margin-top: 20px;
	}

	button.menu-toggle {
	    background: none!important;
	    font-size: 0;
	    padding: 0;
	    height: 80px;
	    width: 80px;
	    position: absolute;
	    top: 0;
	    right: 0;
	}

	button.menu-toggle:first-of-type {
	    right: 80px;
	}

	button.menu-toggle:before {
	    font-family: first-icons;
	    content: "\e074";
	    color: #444;
	    font-size: 20px;
	}

	button.menu-toggle:first-of-type:before { 
	    content: "\e120";
	}

	button.menu-toggle.open:before {
	     content: "\e117";
	}

	.main-nav,
	.user-nav {
	    position: fixed;
	    top: 80px;
	    left: -100%;
	    bottom: 0;
	    overflow-y: scroll;
	    background: #f7f7f7;
	    width: 100%;
	    z-index: -1;
	    transition: all 0.2s cubic-bezier(0.250, 0.250, 0.750, 0.750);
	}

	.user-nav {
		left: auto;
		right: -100%;
	}

	.main-nav.open {
		left: 0;
	}

	.user-nav.open {
		right: 0;
	}

	.main-nav li,
	.user-nav li {
	    display: block;
	}

	.main-nav a,
	.user-nav a {
	    display: block;
		padding: 16px 20px;
		border-bottom: 1px solid #e5e5e5;
		border-top: 1px solid #fff;
	}

	.user-menu > li > a {
		display: none;
	}

}


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

	body {
		padding-top: 60px;
	}

	.site-header {
		height: 60px;
	}

	.site-title {
		width: 250px;
		height: 70px;
		display: block;
	}

	.site-title img {
		display: block;
		float: left;
		margin-top: 18px;
		width: 65px;
	}

	.site-title img.wa {
		margin-left: 5px;
	}

	button.menu-toggle {
	    height: 60px;
	    width: 60px;
	}

	button.menu-toggle:first-of-type {
	    right: 60px;
	}

	.main-nav,
	.user-nav {
	    top: 60px;
	}

}

@media only screen and (max-width: 1150px) {

	a.shopping-cart.mobile {
	    position: absolute;
	    top: 0;
	    right: 160px;
	    height: 80px;
	    line-height: 80px;
	    width: 80px;
	    text-align: center;
	}

}

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

	.front .slider-container {
		padding-top: 60px;
	}

	[class^="fg-col-"] {
		width: 100%;
		margin-right: 0;
		margin-bottom: 20px;
	}

	a.shopping-cart.mobile {
	    position: absolute;
	    top: 0;
	    right: 120px;
	    height: 60px;
	    line-height: 60px;
	    width: 60px;
	}
	
	.pagename-home .slider-container .btn.back-firstpink {
		width: calc(50% - 5px);
		float: left;
		position: relative;
		padding-left: 0;
		padding-right: 0;
		margin: 0;
		vertical-align: top;
	}
	
	.pagename-home .slider-container .btn.back-firstpink:nth-child(1),
	.pagename-home .slider-container .btn.back-firstpink:nth-child(3) {
		margin-right: 10px;
	}
	
	.pagename-home .slider-container .btn.back-firstpink:nth-child(1),
	.pagename-home .slider-container.btn.back-firstpink:nth-child(2) {
		margin-bottom: 10px;
	}

}