 /* html {
    font-size: 62.5% !important;    
 } */

 :root {
    --tvl-darkblue: #475c76;
    --tvl-midblue: #c3cad4; 
    --tvl-lightblue: #f2f4f7;
    --tvl-borderblue: #d1d6dd;
    --tvl-bordergrey: #bfbfbf;
    --tvl-hovergreen: #007146;
    --tvl-help-blue: #1888cd;
    --tvl-green: #008549;
    --tvl-darkorange: #ff8a00;
    --tvl-orange: #f79624;
    --tvl-red: #f22525;
    --tvl-midred: #d91c1c;
    --tvl-darkred: #b71212;
}

 a:hover,
 a:active {
     cursor: pointer;
 }

input {
  line-height: normal;
}


/*
    For Traveline.info
*/
#viewportWarning {
    display: none;
}

#jpFormContainer .journey-form {
    left: auto !important;
}

div#jpResultsContainer {
    margin-top: 1.6rem;
}
/* 
    End
*/s

body.fixed-iOS,
body.fixed-All {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.disable-scrolling {
    -webkit-overflow-scrolling: unset !important;
}

.journey-form,
.journey-form .journey-basic,
.journey-form .journey-basic,
.journey-form .journey-advanced {
    font-family: "Titillium Web", sans-serif;
}

.journey-form h2 {
    color: inherit !important;
    font-family: inherit;
	font-weight: lighter;
	font-size: 24px;
    margin: 30px 0 26px 0;
	padding: 0;
	text-align:center;
	line-height:45px;
}

.journey-form input {
	font-family: "Titillium Web", sans-serif;
}

.journey-form .clearfix,
.journey-response .clearfix {
	clear: both;
}

.journey-form .clearfix:after,
.journey-response .clearfix:after {
    content: none;
    display: block;
    height: 0;
    clear: both;
    visibility: visible;
}

.journey-form {
    position: relative;
}

.journey-form,
.journey-response {
	font-family: "Titillium Web", sans-serif;
	color: #475c76;
    font-size: 62.5% !important;    
    line-height: normal;
}

div#viewportWarning {
    position: relative;
    width: calc(100% - 40px);
    top: -20px;
    left: 20px;
    opacity: 0;
    transition: opacity 0.1s linear;
    text-align: center;
}


div#viewportWarning img {
    margin: 0 auto;
}

div#viewportWarning h4 {
    color: #f71300;
    font-size: 20px;
    text-align: center;
    line-height: 24px;
    margin: 10px;
    padding: 0;
}

/* 
    Temporarilly disabled after discussion with TVL 27/06/23
    @media screen and (min-width: 0) and (max-width: 319px) { 
    */
@media screen and (min-width: 0) {
    /* .journey-form *:not(div#viewportWarning) * {
        display: none !important;
        transition: all 0.1s linear;
    } */

    div#viewportWarning,
    div#viewportWarning h4,
    div#viewportWarning h4 br {
        display: none !important;
        opacity: 1;
    }
}


.journey-form {
    display: block;
    width: calc(100% - 20px);
    min-width: 310px;
    max-width: 480px;
    height: 340px;
    background-color: #fff;
    margin: 20px auto;
    box-shadow: 0 0.5rem 1rem 0 rgba(50, 50, 50, 0.25) !important;
    border: 1px solid #475c76;
    border-radius: 15px;
    font-family: "Titillium Web", sans-serif;
    color: #475c76;
    transition: all 0.3s ease-out;
}

.journey-form.TP {
    min-width: 298px;
}

.journey-form.expanded {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.journey-form .journey-basic {
	position:relative;
    padding: 40px 0 8px 0;
	margin:10px 20px;
    z-index: 10;

}

.journey-form .journey-basic.min-height {
    min-height: 300px;
}

.journey-form .journey-basic div.widget-control {
    position: absolute;
    top: 8px;
    left: -10px;
    right: -10px;
    width: calc(100% + 20px);
    height: 52px; /* TEST! */
    border-bottom: 4px solid #fff;
}

.journey-form .journey-basic div.widget-control::before,
.journey-form .journey-basic div.widget-control::after {
    position: absolute;
}

.journey-form .journey-basic div.widget-control::before {
    content: '';
    width: 100%;
    height: 60px;
    bottom: -4px;
    left: 0;
    position: absolute;
    background: #FFF;
    z-index: 0;
}

.journey-form .journey-basic div.widget-control::after {
    content: '';
    width: 90%;
    height: 115px;
    bottom: -55px;
    left: 5%;
    position: absolute;
    border-radius: 50%;
    background: #475c76;
    opacity: 0.2;
    -webkit-filter: blur(10px);
    -webkit-transform: scale(1, 0.2);
    z-index: -1;
    filter: blur(10px);
    transform: scale(1, 0.2);
}

.journey-form .journey-basic div.widget-control div {
    float: left;
    width: calc(33% - 4px);
    margin: 0 1px;
    text-align: left;
    cursor: pointer;
    position: relative;
    border: 1px solid transparent;
    height: inherit;
}

.journey-form .journey-basic div.widget-control div > h1 {
    color: inherit !important;
    font-family: inherit;
    font-weight: normal;
    font-size: 14px;
    line-height: 50px;
    margin: 0;
    padding: 0;
    text-align: center;
    white-space: pre;
    overflow: hidden;
    text-overflow: ellipsis;
}

.journey-form .journey-basic div.widget-control div.mxJourneyPlanner h1 {
    margin: 0 12px 0 36px
}

.journey-form .journey-basic div.widget-control div.mxLiveDepartures h1 {
    margin: 0 12px 0 30px
}

.journey-form .journey-basic div.widget-control div.mxTimetable h1 {
    margin: 0 12px 0 30px
}

.journey-form .journey-basic div.widget-control div.mxTimetable {
    width: calc(34% - 4px);
}

.journey-form .journey-basic div.widget-control div:hover {
    border: 1px solid #475c77;
    cursor: pointer;
    border-radius: 50px;
    transition: border 0.2s ease;
}

.journey-form .journey-basic div.widget-control div.active {
    background-color: #475c77;
    cursor: default;
    border-radius: 50px;
    color: #fff;
    height: inherit;
}

.journey-form .journey-basic div.widget-control div::before {
    position: absolute;
    font-family: mxTransport;
    font-size: 24px;
    width: 24px;
    top: 13px;
    left: 12px;
}

.journey-form .journey-basic div.widget-control div.mxJourneyPlanner::before {
    content: "\f020";
}

.journey-form .journey-basic div.widget-control div.mxLiveDepartures::before {
    content: "\f021";
}

.journey-form .journey-basic div.widget-control div.mxTimetable::before {
    content: "\f022";
}

@media screen and (min-width: 320px) and (max-width: 479px) {
    .journey-form .journey-basic div.widget-control div > h1 {
        font-size: 3vw;
        /* white-space: pre;
        overflow: hidden;
        text-overflow: ellipsis; */
    }

    .journey-form .journey-basic div.widget-control div.mxJourneyPlanner h1 {
        margin: 0 8px 0 24px;
    }

    .journey-form .journey-basic div.widget-control div.mxLiveDepartures h1 {
        margin: 0 8px 0 20px;
    }

     .journey-form .journey-basic div.widget-control div.mxTimetable h1 {
        margin: 0 8px 0 20px;
    }
}

@media screen and (min-width: 639px) {
    .journey-form .journey-basic div.widget-control div.mxJourneyPlanner h1 {
        margin: 0 24px 0 36px;
    }

    .journey-form .journey-basic div.widget-control div.mxLiveDepartures h1 {
        margin: 0 24px 0 30px;
    }

    .journey-form .journey-basic div.widget-control div.mxTimetable h1 {
        margin: 0 24px 0 30px;
    }
}

.journey-form .journey-basic label.screen {
	position: absolute !important;
	top: -9999px !important;
	left: -9999px !important;
}

.journey-form .journey-basic input,
.journey-form select.timeIntervals {
    font-family: "Titillium Web", sans-serif;
    border: 1px solid #7f7f7f;
    margin: 0 0 8px 0;
    padding: 0 40px 0 8px;
    outline: none;
    height: 37px;
    background-color: #fff;
    font-size: 14px;
    font-weight: normal;
    width: 100%;
    -webkit-appearance: none;
    box-sizing: border-box;
    color: #475c76;
    border-radius: 4px;
    float: left;
}

button,
a[type='button']  {
    border-radius: 24px;
    border: 2px solid #d1d6dd;
}

.journey-form .journey-basic input {
    width: 100%;
}

.journey-form .journey-basic input#origin,
.journey-form .journey-basic input#destination {
    width: 90%;
}

.journey-form .journey-basic input.invalid {
    border:1px solid #f22525;
    background: rgba(242, 37, 37, 0.1);
}

.journey-form .journey-basic input:focus, 
.journey-form .journey-basic textarea:focus, 
.journey-form .journey-basic keygen:focus, 
.journey-form .journey-basic select:focus {
    outline: 2px dotted #009e58 !important;
    outline-offset: -2px;
}

/* These are both outdated and more trouble than they're worth, frankly */
.journey-form .journey-basic div.geocode {
    /* width: 10px;
    height: 37px; */
    width: 0;
    height: 0;
    border: 0;
    background: #bfbfbf;
    background: rgba(0,0,0,0.25);
    transition: background 0.3s linear;
    font-weight: normal;
    margin-left: -11px;
    float: left;
}

.journey-form .journey-basic div.geocode.active {
    background: #009e58 ;
}

.journey-form .journey-basic div.geocode.invalid {
    background: #bfbfbf;
    background: rgba(0,0,0,0.25);
    width: 11px;
    border-left: 0;
}

.journey-form .journey-basic input.twoCol,
.journey-form .journey-basic select.timeIntervals {
	width: 50%;
	float:left;
}

.journey-form .journey-basic ul.place-list {
    overflow-y: auto;
    overflow-x: hidden;
	margin: 0;
	background: rgba(255,255,255,1);
	list-style: none;
    line-height: 20px;
	padding: 0;
	position: absolute;
	overflow-y: auto;
	overflow-x: hidden;
	z-index: 1001;
	display: none;
    min-width: 300px;
    width: 90%;
	font-weight: normal;
	border: 2px solid #009e58;
    box-sizing: border-box;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

.journey-form .journey-basic ul.place-list:empty {
    border: 0 !important;
    height: 0;
}

@media only screen and (max-height: 479px) {
    .journey-form .journey-basic ul.place-list {
        max-height: 174px;
    }
}

@media only screen and (min-height: 480px) and (max-height: 719px) {
    .journey-form .journey-basic ul.place-list {
        max-height: 174px;
    }
}

@media only screen and (min-height: 720px) {
    .journey-form .journey-basic ul.place-list {
        max-height: 274px;
    }
}

.journey-form .journey-basic ul#origList,
.journey-form .journey-basic ul#placeList  {
    top: 178px;
}

.journey-form .journey-basic ul#placeList,
.journey-form .journey-basic ul#localityList {
    width: 100%; 
}   

.journey-form .journey-basic ul#destinationList,
.journey-form .journey-basic ul#localityList {
	top:222px;
}

.journey-form .journey-basic ul.place-list.visible {
	display:block;
}

.journey-form .journey-basic ul.place-list li {
    white-space: nowrap;
    float: none;
    padding: 0;
    line-height: 34px;
    text-indent: 5px;
    height: 34px;
    cursor: pointer;
    font-size: 14px;
}

.journey-form .journey-basic ul.place-list li:hover {
    background: #eef0f3;
}

.journey-form .journey-basic ul.place-list li:active,
.journey-form .journey-basic ul.place-list li.focus {
    background: #009e58;
    color: #fff;
}

.journey-form .journey-basic ul.place-list li span {
	width: 90%;
	display: block;
	-ms-text-overflow: ellipsis;
	-o-text-overflow: ellipsis;
	text-overflow: ellipsis;
	overflow: hidden;
	float: left;
}

.journey-form .journey-basic ul.place-list li i {
    color: inherit !important;
    font-size: 28px;
    line-height: 34px;
    margin-left: -10px;
}

.journey-form .journey-basic input#datePicker,
.journey-form .journey-basic select.timeIntervals {
	text-align:center;
    height: 36px; /* Strange results on Android without enforcing this */
}

.journey-form .journey-basic input#datePicker {
	border-right:none;
    background-image: url(../images/mx-calendar.svg);
    background-position: 0 2px;
    background-size: 28px 30px;
    background-repeat: no-repeat;
    text-align: left;
    text-indent: 18px;
    padding-right: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.journey-form #timetable__basic.journey-basic input#datePicker {
    border-right: 1px solid;
}

.journey-form .journey-basic select.timeIntervals {
	font-size: 14px;
	font-weight: normal;
}

.journey-form select.timeIntervals {
	border-radius: 0;
	box-sizing: border-box;
    background-image: url(../images/mx-time.svg);
    background-position: 6px 8px;
    background-size: 20px 20px;
    background-repeat: no-repeat;
    text-indent: 18px;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}

.journey-form select.timeIntervals.visible {
    display: block;
}

.journey-form select.timeIntervals option {
	cursor: pointer;
	font-size: 14px !important;
	font-weight: normal !important;
	padding:0 !important;
	min-height:0;
}

.journey-form select.timeIntervals option.now {
    background: #009e58 ;
    color: #fff;
}

form.journey-form div.warning {
	background-color: #f22525;
	width: 100%;
	display:  none;
	color: #fff;
	position:absolute;
	left:0;
	z-index:200;
	box-shadow: 0 8px 18px 0 rgba(50, 50, 50, 0.2);
}

.journey-form .journey-basic #origVal,
.journey-form .journey-basic #destinationVal,
.journey-form#journey__form .journey-basic #genVal {
    width: 90%;
}

form#journey__form {
    height: auto !important;
}

.journey-form .journey-basic #origVal,
.journey-form .journey-basic #placeVal,
.journey-form .journey-basic #serviceVal {
    top: 175px;
}

.journey-form .journey-basic #destinationVal,
.journey-form .journey-basic #localityVal {
	top:220px;
}

.journey-form .journey-basic #genVal {
	top:220px;
}

.journey-form#timetable__form .journey-basic #genVal {
	top:220px;
}


.journey-form .warning:before {
	border: solid;
	border-color: #f22525 transparent;
	border-width: 0 7px 8px 7px;
	top: -8px;
	left: 47%;
	content: "";
	position: absolute;
}

.journey-form .warning:after {
    font-family: "mxTransport";
    color: #fff;
    content: "\f019";
    position: absolute;
    top: 0;
    left: 5px;
    line-height: 36px;
    font-size: 28px;
}

.journey-form .warning.visible {
    display: block;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

.journey-form .warning p {
    padding: 8px 10px 10px 15px !important;
    margin: 0 0 0 20px !important;
    line-height: 18px;
    float: left;
    display: block;
    font-size: 16px;
}

#maxwalkdistWarn p {
    padding-left: 36px !important;
}

.journey-form .journey-basic a.advanced-toggle {
    color: inherit !important;
    font-weight: normal;
    font-size: 16px;
    display: inline-block !important;
    cursor: pointer;
    padding: 8px 4px;
}

.journey-form .journey-basic a.advanced-toggle:hover,
.journey-form .journey-basic a.advanced-toggle:active {
    color: inherit !important;
}

.journey-form .journey-basic a.advanced-toggle i {
	transition: all 0.3s linear;
	transform: translateY(2px);
    transform-origin: unset;
	font-size: 25px;
	vertical-align: middle;
	float: left;
	margin: 0 4px 0 0;
    line-height:1em;
    color: inherit !important;
}

.journey-form .journey-basic a.advanced-toggle.visible i {
	transform: scaleY(-1) translateY(2px);
	vertical-align: middle;
	line-height: 18px;
}

.journey-form .journey-basic a.advanced-toggle p {
	margin: 0 !important;
	display: inline-block;
    font-size: 16px;
    line-height: 18px;
	/* float: left; */
}

.journey-form .journey-basic a.advanced-toggle p::before {
	content:'More Options';
}

.journey-form .journey-basic a.advanced-toggle.visible p::before {
	content:'Fewer Options';
}

.journey-form .journey-basic button[type=submit] {
    font-family: "Titillium Web", sans-serif;
    width: 50%;
    height: 34px;
    padding: 0 16px;
    max-width: fit-content !important;
    background-color: #f79624;
    background: linear-gradient(to right, rgba(0,0,0,0.25) 50%, rgba(247, 150, 36, 1) 50%);
    background-size: 200% 100% !important;
    background-position: right bottom;
    /* WCAG AA */
    color: #603406;
    border-color:#93785c;
    /* */
    font-weight: normal;
    font-size: 16px;
    outline: none;
    -webkit-appearance: none;
    cursor: pointer;
    float: right;
    position: relative;
    margin: 3px 0;
}

#departures__form.journey-form .journey-basic button[type=submit] {
    margin: 92px 0 0 0;
}

#timetable__form.journey-form .journey-basic button[type=submit] {
    margin: 3px 0 0 0;
}

button[type=submit] p#submitText {
    margin: 0;
    padding: 0 !important;
    position: static;
}

button[type=submit].small p#submitText {
    font-size: 14px;
    margin: 0 0 0 28px !important;
}

button[type=submit].disabled p#submitText {
    color: #475c76;
    z-index: 10;
    top: 4px;
    position: absolute;
    left: 30px;
}

.journey-form button[type=submit].disabled {
    background: #fff;
    cursor: not-allowed;
    max-width: 120px!important;
}

.journey-form button[type=submit].disabled.small {
	font-size:12px;    
}

.journey-form .journey-advanced {
	display:none;
    width: 100%;
    margin: 2px 0 0 0;
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    padding: 36px 0 24px 0;
    color: #fff;
    background-color: #475c76;
    background: linear-gradient(to bottom, #ffffff 0,#ffffff 12px,#475c76 12px,#475c76 12px,#ffffff 12px,#475c76 12px);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#475c76',GradientType=0 );
    z-index: 9;
    height: auto;
    box-shadow: 0 0.5rem 1rem 0 rgba(50, 50, 50, 0.25) !important;  	
    /* transform: translate3d(0,0,0); */
    -webkit-backface-visibility: hidden;
}

.journey-form .journey-advanced.visible {
    display:block;
    border-left: 1px solid #475c76;
    border-right: 1px solid #475c76;
    margin-left: -1px;
    -webkit-backface-visibility: hidden;
    /* transform: translate3d(0,0,0); */
}

.journey-form .journey-advanced ul {
	margin: 0;
	padding:0 20px;
	cursor:pointer;
	outline:none;
}

.journey-form .journey-advanced ul li {
	font-weight: normal;
    color: #fff;
	font-size:14px;
	list-style:none;
	padding:0;
    display: inline-block;
    width: 100%;
    line-height: 18px;
}

.journey-form .journey-advanced ul li i {
	transition: all 0.3s linear;
	-webkit-transform-origin: 40% 48%;
	transform-origin: 40% 48%;
	font-size: 22px;
	vertical-align: middle;
	float:left;
	margin:0 6px 0 0;
	padding:10px 0;
}

.journey-form .journey-advanced ul li i.mx-flipV {
	transform: scaleY(-1);
	vertical-align:middle;
}

.journey-form .journey-advanced ul li p {
	margin: 0 !important;
	display: inline-block;
	padding: 10px 0;
	float: left;
	font-size:16px;
	font-weight: normal;
}

.journey-form .journey-advanced ul li ul {
	display:none;
	padding:0;
    margin: 0;
}

.journey-form .journey-advanced ul li ul.mode {
	width:100%;
}

.journey-form .journey-advanced ul li ul li {
    float: left;
    width: 47%;
    padding: 0;
    min-height: 40px;
    position: relative;
    margin: 0;
}

.journey-form .journey-advanced ul li ul li label.screen {
	position: absolute !important;
	top: -9999px !important;
	left: -9999px !important;
}

.journey-form .journey-advanced ul li.block ul li {
	width:99%;
}

.journey-form .journey-advanced ul li.block ul li:first-child {
	padding: 0 0 12px 0;
}

.journey-form .journey-advanced ul li ul li:nth-child(2n) {
	margin-left:5%;
}

.journey-form .journey-advanced ul li.block ul li:nth-child(2n) {
	margin-left:0;
}

.journey-form .journey-advanced ul li ul li,
.journey-form .journey-advanced ul li ul li i {
    color: rgba(255,255,255,0.5);
}

.journey-form .journey-advanced ul li ul li i {
    font-size: 39px;
    padding: 0;
    vertical-align: middle;
    position: absolute;
    top: 0;
    left: 19px;
}

.journey-form .journey-advanced ul li ul li.active,
.journey-form .journey-advanced ul li ul li.active i {
    color: #fff;
}

.journey-form .journey-advanced ul li ul li.toggle ,
.journey-form .journey-advanced ul li ul.togglegroup li.toggle {
    padding: 0;
    width: 50%;
    margin: 5px 0 10px 0;
}

.journey-form .journey-advanced ul li ul.togglegroup li.toggle {
    width: 33%;
}

.journey-form .journey-advanced ul li ul li.toggle div {
    width: 100%;
    float: left;
}

.journey-form .journey-advanced ul li ul li.toggle div label {
    float:left;
    width:100%;
}

.journey-form .journey-advanced ul li ul li.toggle div label span {
    text-align: center;
    padding: 9px 10px;
    display: block;
    cursor: pointer;
    border: 1px solid #fff;
    font-size: 16px;
    font-weight: normal;
    color: #fff;
}

.journey-form .journey-advanced ul li ul li.toggle div label input {
    display: none;
}

.journey-form .journey-advanced ul li ul li.toggle div input:checked + span {
    background-color: #FFF;
    color: #475C75;
}

.journey-form .journey-advanced ul li ul li div.checkbox {
    position: relative;
    height: 39px;
}

.journey-form .journey-advanced ul li ul li div.checkbox input[type=checkbox] {
    display: none;
}

.journey-form .journey-advanced ul li ul li div.checkbox label {
    padding-left: 64px;
    width: 132px;
	display: inline-block;
	cursor: pointer;
    font-size: 13px;
	line-height: 39px;
	font-weight:lighter;
}

.journey-form .journey-advanced ul li ul.accessibility li div.checkbox label {
	width:76%;
}

.journey-form .journey-advanced ul li ul li div.checkbox label:after {
    font-family: 'mxTransport';
    content: "\f009";
    font-size: 20px;
    display: inline-block;
    position: absolute;
    right: 0;
    top: 0;
    line-height: 39px;
}

.journey-form .journey-advanced ul li ul li  div.checkbox input[type=checkbox]:checked + label {

}

.journey-form .journey-advanced ul li ul li  div.checkbox input[type=checkbox]:checked + label:after {
    font-family: 'mxTransport';
	content: "\f00a";
	color: #fff;
	text-align: center;
}

.journey-form .journey-advanced ul li ul.legs li p {
	display:block;
	width:100%;
	padding:0 0 12px 7px;
	font-weight:lighter;
	color:#fff;
}

.journey-form .journey-advanced ul li ul.legs li i {
	font-size: 39px;
	line-height: 26px;
	color: #fff;
	padding: 5px 0 0 0;
    position: static;
}

.journey-form .journey-advanced ul li ul.legs li input {
	margin: 0;
	padding: 8px;
	outline: none;
	background-color: #fff;
	font-size: 14px;
	font-weight: normal;
	box-sizing: border-box;
	color: #475c76;
	border: none;
    width: 25%;
    border-radius: 4px;
	text-align: center;
}

/*
 * Rounded corners
 *
 */

 .journey-form .journey-advanced ul li ul li.toggle:first-child, 
 .journey-form .journey-advanced ul li ul li.toggle:first-child div label span {
     border-top-left-radius: 24px;
     border-bottom-left-radius: 24px;
 }

 .journey-form .journey-advanced ul li ul li.toggle:last-child, 
 .journey-form .journey-advanced ul li ul li.toggle:last-child div label span {
     border-top-right-radius: 24px;
     border-bottom-right-radius: 24px;
 }

#journeyResults {
    min-width: 300px;
    width: calc(100vw - 2rem);
    margin: 0 auto;
    display:none;
}

.journey-response {
    opacity: 0;
    background-color: #fff;
    padding: 10px !important;
    border-radius: 10px;
    margin: 10px 0;
    border: 1px dashed #c7c7c7;
    /* TEST */
    height: inherit;
}

.journey-response.blur {
    /* 
        filter: blur(20px); 
    */
}

@media screen and (min-width: 0px) and (max-width: 399px) {

    #journeyResults {
        min-width: 320px;        
    }

    .journey-response {
        margin: 0;
        border: none;
    }

    .journey-response.TP {
        padding: 10px 0 !important;
        box-shadow: 0px 10px 15px 0px rgb(0 0 0 / 50%);
    }
}

.journey-response.visible {
    transition: opacity 0.1s linear;
    opacity:1;
    -webkit-overflow-scrolling: touch;
}

body.fixed-iOS .journey-response.visible {
    -webkit-overflow-scrolling: unset !important;
}

.journey-response table {
    width: 100%;
    border-collapse: separate;
    border-width: 0;
}

.journey-response .your-journey,
.journey-response .journey-results {
	display:block;
	padding:0 1rem;
}

.journey-response .your-journey h2 {
    color: inherit !important;
    font-family: inherit;
	font-weight: lighter;
    font-size: 26px;
    line-height: 36px;
    text-align: left;
	margin: 0 0 12px 0;
	padding: 0;
	border-bottom:1px solid rgba(0, 0, 0, 0.1);
}

.journey-response .your-journey h2 span {
    font-size: 16px;
    font-weight: normal;
    text-align: left;
    margin: 16px 0 12px 0;
    position: relative;
    line-height: 16px;
}

.journey-response .your-journey h2 span.calendar {
    text-indent: 16px;
    opacity: 0;
    transition: opacity 0.2s linear;
    width: auto;
    line-height: 8px;
    display: block;
    margin: 0 0 8px 0;
}

.journey-response .your-journey h2 span.calendar.updated {
    opacity:1;
}

.journey-response .your-journey h2 span.calendar::before {
    font-family: mxTransport;
    font-size: 22px;
    content: "\f013";
    position: absolute;
    left: -20px;
}

.journey-response .your-journey .chosen-journey-summary {
    display: inline-block;
    width: 100%;
    margin: 10px auto 0 auto;
}

.journey-response .your-journey .chosen-journey-summary div {
    float: left;
}

.journey-response .your-journey .chosen-journey-summary div.journey-label {
    width: 40%;
}

.journey-response .your-journey .chosen-journey-summary div.journey-label-icon {
    width: 20%;
    text-align: center;
}

 .journey-response .your-journey .chosen-journey-summary div.journey-label-icon i {
    font-size: 40px;
    display: inline-block;
    line-height: 30px;
    color: inherit !important;
}

.journey-response h4  {
    color: inherit;
    font-family: inherit;
    margin: 0;
    padding: 0;
    font-size: 2rem;
    font-weight: normal;
    line-height: 1em;
}

.journey-response h4 span {
    display: block;
    font-size: 0.7em;
}

.journey-response h5 {
    font-family: inherit;
    color: #A1A1A1;
    line-height: 1.25em;
    font-size: 1.25em;
    margin: 0;
}

 .journey-response .your-journey .chosen-journey-summary div.journey-label p {
    margin: 5px 0 0 0;
    padding: 0;
    font-size: 14px;
    font-weight: normal;
    line-height: 1em;
}

.journey-response .your-journey .chosen-journey-summary div.journey-label:last-child{
    text-align: right;
}

.journey-response .journeys {
    display: none;
}

.journey-response .search-pane {
	display:none;
}

.journey-response .search-pane.active {
	display:block;
    margin: 0 auto;
    padding: 0;
}

.journey-response .departures .search-pane.active {
    display: block;
    margin: -5px auto 10px auto;
    width: 90%;
}

.journey-response .leg-details.expanded .search-pane.active {
    margin: 0 auto;
    width: 100%;
    display: table-caption;
}

.leg-details.active:focus {
    outline: none!important;
}

.journey-response .search-pane .search-progress,
.journey-response tr.search-row td.search-progress {
	margin: 0 auto;
	background: #f79624;
	background: linear-gradient(to right, rgba(0,0,0,0.25) 50%, rgba(247, 150, 36, 1) 50%);
	background-size: 200% 100% !important;
	background-position: right bottom;
	animation: fill 2s ease-in-out infinite !important;
}

.journey-response .search-pane .search-progress {
    border-radius: 15px;
    min-width: 110px;
    max-width: 240px;
    margin: 1rem auto;
    height: 30px;
}


.journey-response .leg-details.expanded .search-pane .search-progress {
	width: 100%;
}

.journey-response .departures .search-pane .search-progress {
    width: 100%;
    margin: 5px 0;
}

.journey-response tr.search-row td.search-progress {
    height: auto;
}

.journey-response tr.search-row td.search-progress p {
    color: #fff;
    text-align: center;
    font-size: 1.4rem;
}

.journey-response .search-pane p,
.journey-response .search-pane div.search-progress > p {
	text-align:center;
    font-size: 1.4rem;
    margin: 0 !important;
    line-height: 30px;
}

.journey-response .leg-details.expanded .search-pane p, 
.journey-response .departures .search-pane p {
    color: #fff;
}

.journey-response .summary-controls {
	padding: 12px 1rem;
    max-width: 400px;
    display: block;
    margin: 0 auto;
}

.journey-response .summary-controls .control button[type=button],
.journey-response button[type=button] {
	background-color: #009e58;
	border: none;
	font-size: 13px;
	font-weight: normal;
	padding: 12px 6px;
	margin: 0;
	width: 33.33%;
	outline: none;
	-webkit-appearance: none;
	color: #fff;
	float: left;
	cursor: pointer;
	font-family: "Titillium Web", sans-serif;
    border: 4px solid #d1d6dd;
}

@media screen and (min-width: 0) and (max-width: 360px) {
    .journey-response .summary-controls .control button[type=button], 
    .journey-response button[type=button]{
        font-size: 11px;
    }
}

.journey-response .summary-controls .control button[type=button].disabled {
    background: #bfbfbf;
    background:rgba(0,0,0,0.25) ;
    cursor: not-allowed;
}

.journey-response .summary-controls .control:nth-of-type(even) button[type=button] {
    background: #f79624;
    background: linear-gradient(to right, rgba(0,0,0,0.25) 50%, rgba(247, 150, 36, 1) 50%);
    background-size: 200% 100%;
    background-position: right bottom;
    /* WCAG AA */
    color: #603406;
    /* */
}

.journey-response .summary-controls .control:nth-of-type(even) button[type=button].disabled {
    animation: fill 2s ease-in-out infinite !important;
}

.journey-response .summary-controls .control button[id=earlier] {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right: 0;
}

.journey-response .summary-controls .control button[id=editJourney] {
    border-radius: 0;
    border-left: 0;
    border-right: 0;
}

.journey-response .summary-controls .control button[id=later] {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-left: 0;
}

.journey-response .departures .summary-controls,
.journey-response .timetables .summary-controls {
    padding: 0 1rem;
    max-width:100%;
}

.journey-response .departures .summary-controls .control,
.journey-response .timetables .summary-controls .control {
    padding: 0;
    width: 100%;
}

.journey-response .timetables .summary-controls .control:nth-child(2),
.journey-response .timetables .summary-controls .control:nth-child(3) {
    width: 50%;
    float: left;
}

.journey-response .timetables .summary-controls .control:nth-child(3) {
    text-align: right;
}

.journey-response .departures .summary-controls .control h4,
.journey-response .timetables .summary-controls .control h4  {
    padding: 0 0 15px 0;
    margin: 0;
}

.journey-response .departures .summary-controls .control h4,
.journey-response .timetables .summary-controls .control h4 {
    font-size: 24px;
    line-height: 20px;
}

.journey-response .departures .summary-controls .control h4 span,
.journey-response .timetables .summary-controls .control h4 span {
    font-size: 16px;
    margin: 5px 0;
}

.journey-response .timetables .summary-controls .control h5  {
    font-family: inherit;
    margin: 0 5px 0 0;
    font-size: 14px;
}

.journey-response .departures .summary-controls .control button {
    width: 47%;
    max-width: 160px;
    margin: 0;
}
  
.journey-response .departures .summary-controls .control button:nth-child(1) {
    margin-right: 3%;
    border-color:#93785c;
}

.journey-response .departures .summary-controls .control button:nth-child(2) {
    margin-left: 3%;
    float: right;
    border-color:#93785c;
}

.journey-response .timetables .summary-controls .control button:nth-child(1) {
    margin: 0;
    width:  100%;
    max-width: 120px;
} 

.journey-response .timetables .summary-controls .control button:nth-child(2) {
    margin-right: 5%;
} 

.journey-response .timetables .summary-controls .control button:nth-child(3) {
    margin-left: 5%;
} 

.journey-response .timetables .summary-controls  p {
    font-size: 14px;
}

.journey-response #timetables-list.journey-summaries {
    margin: 10px auto;
    width: calc(100% - 1rem);
}

.journey-response .journey-summaries table,
.journey-response .departures table {
	border-collapse:collapse;
	border-spacing:0;
	text-align:left;
	font-size:12px;
	border-color:transparent !important;
	width: 100%;
}

.journey-response .journey-summaries table th,
.journey-response .journey-summaries table td,
.journey-response .departures table th,
.journey-response .departures table td {
    border: inherit !important;
}

.journey-response .journey-summaries .departures-container {    
    width: 100%;
}

.journey-response .departures table {
    margin: 10px auto;
}

.journey-response .journey-summaries table.departure-board {
    margin: 0 auto;
    width: 100%;
    border-collapse: initial;
}

.journey-response .journey-summaries table caption,
p#editDeparturesSearch {
    font-size: 14px;
    color: #fff;
    font-weight: normal;
    background: #475c76;
    color: #fff;
    padding:  5px;
    caption-side: top;
    /* TEST */
    border-radius: 0.5rem;
}

.journey-response .timetables .journey-summaries table caption {
    margin-bottom: 0;
    caption-side: top;
}

.journey-response .journey-summaries table.departure-board caption {
    position: relative;
    caption-side: top;
}

.journey-response table.departure-board caption.child {
    font-weight: normal;
    background: #475c76;
    color: #fff;
    padding: 4px 1vw;
    text-align: left;
    position: relative;
    font-size: 14px;
    text-indent: 4px;
}

.journey-response .journey-summaries table.departure-board caption.child {
    margin: 0 0 2px 0;
}

/* .journey-response table.departure-board caption.child.departures::before {
    content: "\f021";
}

.journey-response table.departure-board caption.child.timetables::before {
    content: "\f022";
} */

.journey-response .journey-summaries table thead {
	font-size: 14px;
	font-weight: normal;
	text-align:center;
}

.journey-response .journey-summaries table th {
    font-weight: normal;
    padding: 5px 2px;
    font-size: 12px;
    background: #f2f3f7;
}

.journey-response .timetables .journey-summaries table thead {
	border-bottom:none;
}

.journey-response .departures .journey-summaries table thead tr th {
    font-weight: normal;
    border-bottom: 1px solid;
}

.journey-response .departures .journey-summaries table thead tr th:nth-child(1) {
    text-indent: 4px;
    text-align: left !important;
}

.journey-response .departures .journey-summaries table thead tr th:nth-child(2) {
    text-align: right;
    padding-right: 5px;
}

.journey-response .journey-summaries table tbody {
	font-size: 14px;
}

.journey-response .journey-summaries table tbody tr.journey-summary {
    border-top: 1px solid;
    background: #fff;
    cursor: pointer;
}

.journey-response .journey-summaries table tbody tr:active,
.journey-response .journey-summaries table tbody tr.active,
.journey-response .journey-summaries table tbody tr:focus{
    background: #c3cad4;
    border-bottom: 1px solid #475c76;
    border-top: 1px solid #475c76;
	border-collapse:collapse;
    cursor: pointer;
    scroll-margin: 40px;
}

.journey-response .journey-summaries table tbody tr.blank,
.journey-response .journey-summaries table tbody tr.blank:active,
.journey-response .journey-summaries table tbody tr.blank:focus {
	background: #fff !important;
	border: 0;
	cursor: default !important;
}

.journey-response .journey-summaries table.map-leg tbody tr:active, 
.journey-response .journey-summaries table.map-leg tbody tr:focus {
    border: none !important;
} 

.journey-response .journey-summaries table tbody tr.journey-details.expanded {
    border: 0;
}

.journey-response #timetables-list.journey-summaries table tbody tr {
    border-top: none;
    background: none;
}

.journey-response #timetables-list.journey-summaries table tbody tr td {
    width: auto;
    border-top: 1px solid #e6e6e6 !important;
    position: relative;
    
}

.journey-response .journey-summaries table tbody tr td {
	padding: 6px 0;
	font-weight: normal;
	font-size:16px;
	text-align:center;
	border:0;
	border-collapse:collapse;
	border-spacing:0;
	border-color:transparent !important;
    height: 48px;
}

.journey-response .journey-summaries table tbody tr.times td {
    height: auto;
}

.journey-response .departures .journey-summaries table tbody  tr.journey-summary td:first-child {
    background: #475c76;
    color: #fff;
    border-bottom: 1px solid #fff !important;
}

.journey-response .departures .journey-summaries table tbody tr.journey-summary:last-child td:first-child {
    border-bottom: 1px solid #475c76 !important;
}

.journey-response .departures .journey-summaries table tbody  tr.journey-summary.active td:first-child {
    border-bottom: 1px solid #475c76 !important;
}

.journey-response .journey-summaries table tbody tr.journey-summary.break {
    background: #475c76;
 }

.journey-response .journey-summaries table tbody tr.journey-summary.break td {
    width: 100% !important;
    padding: 5px 0;
 }

.journey-response .journey-summaries table tbody tr.journey-summary.break td:hover,
.journey-response .journey-summaries table tbody tr.journey-summary.break td:active {
    background: #475c76;
    cursor: default;
}

.journey-response .journey-summaries table tbody tr td p {
    text-align: left;
    margin: 0 5px 0 0 !important;
	border:none;
    line-height: 14px;
    font-size: 12px;
}

.journey-response .journey-summaries table tbody tr td p[title='Stop Code'] {
    text-align: right;
}

.journey-response .departures .journey-summaries table tbody tr td:nth-child(2) p {
    margin: 0 1vw !important;
}


.journey-response .journey-summaries table tbody tr td p.tt-info {
    max-width: 90%;
    font-size: 12px;
    font-style: italic;
    margin: 12px auto 8px 10% !important;
}

.journey-response .journey-summaries table tbody tr td p span.operator {
    display: block;
    font-style: italic;
    color: #c3cad4;
    line-height: 16px;
}


.journey-response .journey-summaries table tbody tr td p.warning i {
    	color: #f22525;
}

.journey-response .journey-summaries table tbody tr td:nth-child(7n) p {
    text-align: center;
}

.journey-response .journey-summaries table tbody tr.journey-summary.break td p::before {
    font-family: 'mxTransport';
    content: '\e000';
    font-size: 16px;
    font-weight: 500;
    margin-right: 6px;
}

.journey-response .journey-summaries table tbody tr.journey-summary.break td p {
    color: #fff;
    font-size: 14px;
    text-transform: uppercase;
    display: block;
    text-align: center;
    position: relative;
    text-indent: 12px;
  }

.journey-response .journey-summaries table tbody tr td i {
    color:  inherit !important;
}

.journey-response .journey-summaries table tbody tr td i.mx-chevron-down {
    display: block;
    transition: all 0.3s linear;
    transform-origin: 40% 50%;
    font-size: 22px;
    height: 16px;
}

.journey-response .departures .journey-summaries table tbody tr {
    background: #eceef1;
    border-bottom: 1px solid;
}

.journey-response .departures .journey-summaries table tbody tr.active,
.journey-response .departures .journey-summaries table tbody tr:active,
.journey-response .departures .journey-summaries table tbody tr:focus {
    background: #f2f4f7;
}

.journey-response .departures .journey-summaries table tbody tr td:nth-child(2),
.journey-response .departures .journey-summaries table tbody tr td:nth-child(3) {
    text-align: left;
}

.journey-response .journey-summaries table tbody tr td:nth-child(3) {
    vertical-align: top;
}

.journey-response .journey-summaries table tbody tr.journey-summary td:nth-child(3) {
    vertical-align: middle !important;
}

.journey-response .journey-summaries table tbody tr.journey-summary td:nth-child(5) p {
    text-align: center;
}

.journey-response .journey-summaries table.departure-board tbody tr {
    background: #f2f4f7;
    box-shadow: none;
    border: none;
}

.journey-response .journey-summaries td.inline table.departure-board tbody tr {
    background: #f2f4f7 !important;
}

.journey-response .journey-summaries table.departure-board tbody tr:first-child,
.journey-response .journey-summaries table.departure-board tbody tr:first-child td,
.journey-response #timetables-list.journey-summaries table tbody tr:first-child td,
.journey-response #timetables-list.journey-summaries table tbody tr td:first-child {
    border-top: none !important;
}

.journey-response #timetables-list.journey-summaries table tbody tr td:first-child {
    vertical-align: top;
    border-top: none !important;
    padding:  2px 0;
}

.journey-response .journey-summaries table tbody tr td i.mx-chevron-down.open {
	transform: scaleY(-1);
}

.journey-response .journey-summaries table tbody tr td i.mx-arrow-right {
	display: inline-block;
	margin: 0 6px;
	font-size: 16px;
}

.journey-response div.journey-leg {
    position: relative;
    max-width: 38px;
    float: left;
}

@media screen and (min-width: 481px) {
    .journey-response div.journey-leg {
        max-width: 33%;
    }
}

 .journey-response div .journey-leg::after {
    content: "\f017";
    font-family: mxTransport;
    right: -5px;
    top: calc(50% - 4px);
    position: absolute;
    font-size: 10px;
    color: rgba(71, 92, 118, 0.5);
}

 .journey-response div .journey-leg:last-of-type::after {
     content: '';
 }

.journey-response div.journey-leg div.fare-badge {
    position: absolute;
    width: 12px;
    height: 12px;
    bottom: 10px;
    padding: 0 0px;
    line-height: 24px;
    border-radius: 50%;
    background: #009e58;
    border: 2px solid #f2f4f7;
    left: -1px;
}

.journey-response tr:hover div.journey-leg div.fare-badge {
    border-color: #c3cad4;
}

.journey-response div.journey-leg div.fare-badge::after {
    color: #fff;
    content: "£";
    font-size: 8px;
    line-height: 12px;
    font-weight: bold;
    position: absolute;
    top: 1px;
    left: 4px;
    font-family: TimesNewRoman, "Times New Roman", Times, Baskerville, Georgia, serif;
}


.journey-response .journey-summaries table tbody tr td div.journey-leg i {
	display: inline-block;
    margin: 0;
    font-size: 21px;
    text-align: center;
}

.journey-response .journey-summaries table tbody tr.journey-details {
	background-color:#fff;
}


.journey-response .journey-summaries table tbody tr.journey-details td {
    padding: 0 0 6px 0;
}

.journey-response .journey-summaries table tbody tr.journey-details td div.journey-details-expanded {
	width: 100%;
	margin: 0;
}

.journey-response .journey-summaries table tbody tr.journey-details td div.leg-details {
	clear:both;
    margin: 0 0 12px 0;
	position:relative;
    border-bottom: 1px dashed;
    padding: 0 0 10px 0;
    cursor: pointer;
    float: left;
    width: 100%;
}

.journey-response .journey-summaries table tbody tr.journey-details td div.leg-details.next {
    margin-top: -13px;
}

.journey-response div.leg-details.mappable {
    transition: all 0.2s linear;
}

.journey-response div.leg-details.active.mappable {
    border: 2px dashed #475c76 !important;
    margin-bottom: -13px !important;
    padding-top: 6px !important;
    width: calc(100% - 4px) !important;
    border-radius: 0.5rem;
}

.journey-response .journey-summaries table tbody tr.journey-details td div.leg-details .leg-mode-icon,
.journey-response .journey-summaries table.departure-board tbody tr td:nth-child(1) {
    float: left;
    width: 10%;
    border: none !important;
    text-align: center;
    background: inherit;
}

.journey-response .journey-summaries table.departure-board tbody tr td:nth-child(1) {
    padding: 0;
}

.journey-response .journey-summaries table.departure-board tbody tr td:nth-child(2) {
    width: 90%;
    position: relative;
}

.journey-response .journey-summaries table.departure-board tbody tr td.timetable-links {
    width: 100%;
    float: none;
}

.journey-response .journey-summaries table tbody tr.journey-details td div.leg-details .leg-mode-icon i {
	display: block;
	font-size: 28px;
}

.journey-response .journey-summaries i.warning,
.journey-response .journey-summaries p.warning i {
	color: #f22525;
}

.journey-response .journey-summaries table tr.journey-details td div.leg-details .leg-description {
	float: left;
    /* width: 70%; */
    width: 89%;
}

.journey-response .journey-summaries table tr.journey-details td div.leg-details .leg-description.extra-info {
    width: 90%;
    margin-top: 5px;
}

.journey-response td.inline div.timetable-links,
.journey-response .journey-summaries td div.timetable-links {
    background: #f2f4f7;
    width: calc(100% - 2px)!important;
    display: block;
    border-top: 1px dotted;
    border-bottom: 1px dotted;
    margin-bottom: 10px;
    position: relative;
}

.journey-response #timetables-list.journey-summaries div.timetable-links {
    padding: 6px 0;
    margin: 10px 0;
    position: relative;
}

.journey-response td.inline div.timetable-links,
.journey-response .journey-summaries .departure-board div.timetable-links {
    padding: 6px 0;
    margin: 10px 0;
    position: relative;
}

.journey-response td.inline div.timetable-links::before,   
.journey-response .journey-summaries td div.timetable-links::before {
    width: 10%;
    content: '\f013';
    font-family: 'mxTransport';
    font-size: 29px;
    padding: 0;
    position: absolute;
    margin-left: 3px;
    top: 8px;
    left: 0;
    font-weight: lighter;
}

.journey-response #timetables-list.journey-summaries div.timetable-links::before {
    content: none;
}

.journey-response .journey-summaries .departure-board div.timetable-links::before {
    left: 0;
    padding: 0;
    top: calc(50% - 18px);
}

.journey-response td.inline div.timetable-links::before {
    left: 0;
    padding: 0;
}

.journey-response .departures-container div.timetable-links a {
    text-decoration: inherit !important;
    font-weight: normal;
    background: #fff;
    border-radius: 15px;
    float: right;
    color: #475c70 !important;
    margin: 10px 5px;
    padding: 5px;
    font-size: 12px;
    text-align: left;
    border: 1px solid !important;    
    transition: background 100ms linear;
}

.journey-response .departures-container div.timetable-links a {
    min-width: calc(160px - 30%);
    max-width: 160px;
    padding-left: 30px;
    position: relative;
}

.journey-response .departures-container div.timetable-links a i {
    font-size: 12px;
    color: #475c76;
    position: absolute;
    left: 6px;
    top: 8px;
}


#timetables-list.journey-summaries a.download-pdf.text.summary {
    margin-top: 0px;
}

@media only screen and (min-width: 320px) and (max-width: 479px) {
    .journey-response .your-journey h2 {
	    font-size: 24px;
    }

    .journey-response .your-journey h2 span {
        display: block;
        margin-top: 0;
    }

    .journey-response .your-journey h2 span::after {
        top: 0;
    }

    .journey-response .journey-summaries table tbody tr.journey-summary.break td p {
        font-size: 12px;
    }
    
    .journey-response h4  {
        font-size: 16px;
    }

    .journey-response .your-journey .chosen-journey-summary div.journey-label p {
        font-size: 12px;
    }

    .journey-response .departures-container div.timetable-links a {
        font-size: 10px !important;
        text-align: right;
        margin: 0 5px 5px;
        width: 50%;
        border-radius: 13px;
    }

    .journey-response .departures-container div.timetable-links a i {
        font-size: 14px;
        left: 7px;
        top: 5px;
    }

}


@media only screen and (min-width: 401px) and (max-width: 500px) {

     .journey-response .your-journey h2 span {
        display: block;
    }

      .journey-response .your-journey h2 span::after {
        top: 0;
    }


    .journey-response .journey-summaries table tbody tr.journey-summary.break td p {
        font-size: 13px;
    }

    .journey-response h4  {
        font-size: 18px;
    }

    .journey-response .your-journey .chosen-journey-summary div.journey-label p {
        font-size: 14px;
    }

}

.journey-response #timetables-list.journey-summaries a.download-pdf.text img {
    position: absolute;
}

.journey-response .departures-container div.timetable-links a:hover,
.journey-response .departures-container div.timetable-links a:active,
.journey-response #timetables-list.journey-summaries a.download-pdf.text:hover,
.journey-response #timetables-list.journey-summaries a.download-pdf.text:active,
.journey-response #timetables-list.journey-summaries a[data-type='html']:hover,
.journey-response #timetables-list.journey-summaries a[data-type='html']:active {
    background: #475c76;
    color: #fff!important;
}

.journey-response .departures-container div.timetable-links a:hover i,
.journey-response .departures-container div.timetable-links a:active i,
.journey-response #timetables-list.journey-summaries a.download-pdf.text:hover i,
.journey-response #timetables-list.journey-summaries a.download-pdf.text:active i,
.journey-response #timetables-list.journey-summaries a[data-type='html']:hover i,
.journey-response #timetables-list.journey-summaries a[data-type='html']:active i {
    color: #FFF!important;
}

.journey-response .departures-container div.timetable-links a img {
    margin: 0 5px;
}

.journey-response .journey-summaries table tr.journey-details td div.leg-details .leg-accessibility-icon {
    width: 10%;
    position: absolute;
    top: 5px;
    right: 0;
    text-align: right;
}

.journey-response .journey-summaries tr.journey-details td div.leg-details .leg-accessibility-icon i {
	color: #009e58;
	font-size:28px;
}

.journey-response .journey-summaries td.next div.next-day,
.journey-response .journey-summaries div.next-day {
    z-index: 2;
    display: block;
}

.journey-response .journey-summaries td.next div.next-day {
    margin: 0;
    border: 0;
}

.journey-response .journey-summaries div.next-day {
	border-top: 2px solid #475c76;
	margin: 0 0 10px 0;
}

.journey-response div.leg-details div.links {
    color: #009e58;
    float: left;
    width: 100%;
    text-align: left;
    position: relative;
    margin: 0;
 }

.journey-response div.leg-details div.links::after {
    font-family: "mxTransport";
    position: absolute;
    top: 16px;
    left: calc(5% - 15px);
    font-size: 29px;
    line-height: 0.75em;
    color: #475c76;
    content: "\f013";
    text-shadow: 1px 1px 0px #FFF;
}

.journey-response div.leg-details div.links i {
    display: inline-block !important;
    width: 10%;
    text-align: center;    
    position: relative;
    left: 0;
    top: 4px;
}

.journey-response div.leg-details div.links p {
    color: #f79624;
    margin: 0;
    padding: 0 10px 0 0;
    line-height: 25px;
    font-size: 13px;
    text-align: right;
    width: calc(100% - 10px);
    cursor: pointer;
}

.journey-response div.leg-details div.links p[type='board'] {
    position: relative;
    width: calc(100% - 16px);
    background-color: #f2f4f7;
    padding: 8px;
    text-align: left;
    color: #475c76;
    line-height: unset;
    text-indent: calc(10% - 8px);
    margin-top: 10px !important;
}

.journey-response div.leg-details div.links p[type='board']::before {
    font-family: "mxTransport";
    content: "\f006";
}

.journey-response .journey-summaries td.next div.next-day p
.journey-response .journey-summaries div.next-day p {
	font-size: 12px;
	color: #fff;
	padding: 3px 7px;
	text-transform: uppercase;
	margin: 0 auto;
}

.journey-response .journey-summaries td.next div.next-day p {
    background: #009e58;
    color: #fff;
    font-size: 10px;
    width: auto;
    text-align: center;
}

.journey-response .journey-summaries div.next-day p {
    background: #475c76;
    width: 60px;
    color: #fff;
    font-size: 12px;
    padding: 0 0 5px 0;
    text-align: center;
}

.journey-response .journey-summaries table tbody tr.journey-details td div.leg-details .leg-description p {
    font-size: 12px;
    font-weight: normal;
    margin: 0;
    /* padding-right: 4px;
     */
    padding-right: 12px;
     text-align: left;
    -webkit-tap-highlight-color: none;

}

.journey-response .departures div.leg-description.timetable p span.service,
.journey-response .departures div.leg-description.timetable p span.route {
    font-weight: normal;
}

.journey-response .departures div.leg-description.timetable p span.route {
    font-size: 12px;
}

.journey-response .departures div.leg-description.timetable p span.route i {
    color: inherit !important;
}

.journey-response .journey-summaries table tbody tr.journey-details td div.leg-details .leg-description p span.service-highlight {
    font-weight: bold;
}

.journey-response .journey-summaries table tbody tr.journey-details td div.leg-details .leg-description p br {
    display: block;
    line-height: 20px;   
}

.journey-response .journey-summaries table tr.journey-details td div.leg-details .leg-description p.leg-info {
	font-style:italic;
	color:#728296;
    margin: 5px 0;
    line-height: 18px;
}

.journey-response .journey-summaries table tr.journey-details td div.leg-details .leg-description p.leg-info span {
	font-size: 12px;
}

.journey-response .journey-summaries table tbody tr.journey-details td div.leg-details .leg-description p span.time {
	font-weight: normal;
    }

.journey-response .journey-summaries table tbody tr.journey-details td div.leg-details .leg-description p span.times {
	font-weight: lighter
}

/* For better readbility of time/times now we have twitter links alongside the operator popup */
@media screen and (min-width: 640px) {
    .journey-response .journey-summaries table tbody tr.journey-details td div.leg-details .leg-description p span.time,
    .journey-response .journey-summaries table tbody tr.journey-details td div.leg-details .leg-description p span.times {
        line-height: 36px;
    } 
}

.journey-response .leg-description p.operator,
.journey-response .leg-description p.twitter {
    float: left;
    width: auto;
    cursor: pointer;
    margin-top: 5px !important;
    font-size: 13px;
    color: #fff;
    line-height: unset !important;
    border-radius: 12px;
    padding: 0px 8px 2px 20px !important;
    background-repeat: no-repeat;
    border: 1px solid transparent;
    transition: background-color linear 0.1s; 
}

.journey-response .leg-description p.twitter a:link,
.journey-response .leg-description p.twitter a:visited {
    color: #fff;
}

@media 
    only screen and (-webkit-min-device-pixel-ratio: 1.25),
    only screen and ( min-device-pixel-ratio: 1.25),
    only screen and ( min-resolution: 200dpi),
    only screen and ( min-resolution: 1.25dppx) {
        .journey-form button[type=submit].disabled.small {
            left: 0;
            top: 6px;
        }

        .journey-response .leg-description p.operator,
        .journey-response .leg-description p.twitter {
            padding: 1px 8px 3px 20px !important;
        }

        .journey-response .departures div.leg-description.timetable a.download-pdf.inline i, 
        .journey-response #timetables-list.journey-summaries a[data-type='html'] i {
            top: 5px;
        }
    } 

.journey-response .leg-description p.operator:focus,
.journey-response .leg-description p.twitter:focus {
    outline: 2px dotted #555 !important;
}

.journey-response .leg-description p.operator {
    background-color: #475c76;
    background-image: url(../images/info-solid-white.svg);
    background-size: 13px 13px;
    background-position: 5px 5px;
}

.journey-response .leg-description p.operator:active,
.journey-response .leg-description p.operator:hover {
    color: #475c76 !important;
    background-color: #fff;
    background-image: url(../images/info-solid-blue.svg);
    border-color: #475c76 !important;
}

.journey-response .leg-description p.twitter {
    background-color: #1DA1F2;
    background-image: url(../images/x-logo-white.svg);
    background-size: 14px 14px;
    background-position: 6px 4px;
}

.journey-response .leg-description p.twitter a:link,
.journey-response .leg-description p.twitter a:visited {
    color: #fff;
}

.journey-response .leg-description p.twitter:active,
.journey-response .leg-description p.twitter:hover {
    color: #1DA1F2;
    background-color: #fff;
    background-image: url(../images/x-logo-blue.svg);
    border-color: #1DA1F2 !important;
}

.journey-response .leg-description p.twitter:active a,
.journey-response .leg-description p.twitter:hover a {
    color: #1DA1F2 !important;
}

.journey-response .leg-description p.twitter a:active, 
.journey-response .leg-description p.twitter a:hover {
    color: #1DA1F2 !important;
}

@media only screen and (min-width: 320px) and (max-width: 479px) {
    .journey-response .journey-summaries .leg-description p.operator,
    .journey-response .journey-summaries .leg-description p.twitter {
        font-size: 12px !important;
    }

    .journey-response .leg-description p.operator {
        background-size: 12px 12px;
        background-position: 5px 4px;
    }

    /* .journey-response .leg-description p.twitter {
        background-size: 18px 18px;
        background-position: 3px 2px;
    } */
}

@media screen and (min-width: 480px) and (max-width: 599px) {

    .journey-response .your-journey h2 span.calendar {
        display: inline-block;
        float: right;
        margin-top: 14px;
    }
    
    /* Separted in case further styles are required for highlighting etc. */
    .journey-response .journey-summaries table th{
        font-size: 14px;
    }

    .journey-response .journey-summaries table tbody tr td p {
        font-size: 14px;
    }

    .journey-response .journey-summaries table tbody tr.journey-details td div.leg-details .leg-description p {
        font-size: 14px;
        line-height: unset;
    }
    .journey-response .journey-summaries table tbody tr td div.journey-leg i {
        font-size: 24px;
    }
    .journey-response div.leg-details div.links p {
        font-size: 14px;
    }
    .journey-response .departures div.leg-description.timetable p span.route {
        font-size: 13px;
    }

    .journey-response .departure-board tr.nextbus span.time {
        font-size: 13px !important;
    }

    .journey-response .journey-summaries .leg-description p.operator,
    .journey-response .journey-summaries .leg-description p.twitter {
        font-size: 13px !important;
    }

    .journey-response .leg-description p.operator {
        background-position: 5px 4px;
    }

    /* .journey-response .leg-description p.twitter {
        background-size: 18px 18px;
        background-position: 3px 3px;
    } */
}

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

    .journey-response .your-journey h2 span.calendar {
        display: inline-block;
        margin-top: 14px;
    }

    /* Separted in case further styles are required for highlighting etc. */
    .journey-response .journey-summaries table th {
        font-size: 15px;
    }
    .journey-response .journey-summaries table tbody tr td p {
        font-size: 15px;
    }
    
    .journey-response .journey-summaries table tbody tr.journey-details td div.leg-details .leg-description p {
        font-size: 15px;
        line-height: unset;
        margin-top: 0!important;
    }
    .journey-response .journey-summaries table tbody tr td div.journey-leg i {
        font-size: 26px;
    }

    .journey-response div.leg-details div.links p{
        font-size: 15px;
    }
    .journey-response .departures div.leg-description.timetable p span.route {
        font-size: 14px;
    }

    .journey-response .departure-board tr.nextbus span.time {
        font-size: 14px !important;
    }

    .journey-response .journey-summaries .leg-description p.operator,
    .journey-response .journey-summaries .leg-description p.twitter {
        font-size: 13px !important;
    }

    .journey-response .journey-summaries .leg-description p.operator {
        background-position: 5px 4px;
    }

}

@media screen and (min-width: 800px) {
    
    .journey-response .your-journey h2 span.calendar {
        display: inline-block;
        float: right;
        margin-top: 14px;
    }
    
    /* Separted in case further styles are required for highlighting etc. */
    .journey-response .journey-summaries table th {
        font-size: 16px;
    }

    .journey-response .journey-summaries table tbody tr td p {
        font-size: 16px;
    }

    .journey-response .journey-summaries table tbody tr.journey-details td div.leg-details .leg-description p {
        font-size: 16px;
        line-height: 20px;
    }
    .journey-response .journey-summaries table tbody tr td div.journey-leg i {
        font-size: 28px;
    }
    .journey-response div.leg-details div.links p {
        font-size: 16px;
    }

    .journey-response .journey-summaries .leg-description p.operator,
    .journey-response .journey-summaries .leg-description p.twitter {
        font-size: 14px !important;
    }

    .journey-response .departures div.leg-description.timetable p span.route {
        font-size: 15px;
    }
    .journey-response .departure-board tr.nextbus span.time {
        font-size: 15px !important;
    }
}

.journey-response .journey-summaries table tbody tr.journey-details td div.leg-details .leg-description p span.route {
    font-size: 12px;
}

.journey-response .journey-summaries table tbody tr.journey-details td div.journey-details-expanded button[type=button], 
.journey-response .journey-summaries button[type=button].top, 
.journey-response .journey-details-expanded a[type='button'] {
    font-family: "Titillium Web", sans-serif;
    font-size: 12px;
    font-weight: normal;
    padding: 8px;
    margin: -4px 0 8px 0;
    outline: none;
    -webkit-appearance: none;
    color: #fff;
    background-color: #f79624;
    color: #fff !important;
    text-decoration: none !important;
    float: right;
}

.journey-response .journey-summaries table tbody tr.journey-details td div.leg-details:first-of-type {    
    padding-top: 10px;
}

.journey-response .journey-details-expanded a[type='button'][text="Hide Map"] {
    margin-right: 5%;
}

.journey-response .journey-summaries button[type=button].top {
    max-width: 120px;
    margin: 0;
    right: 0;
    position: relative;
    opacity: 1;
    transition: opacity 0.1s linear;
}

.journey-response .journey-summaries button[type=button].top.disabled {
    opacity: 0;
}

.journey-response .journey-summaries button[type=button].top.inline {
    position: static;
}

.journey-response .journey-summaries.bottom-padding {
    padding-bottom: 24px;
}

.journey-response #timetables-list.journey-summaries.bottom-padding {
    padding-bottom: 0;
}

.journey-response .journey-summaries div.floating-button {
    float: none;
    width: 100%;
    height: 48px;
    background: rgba(0,0,0,.5);
    position: fixed;
    bottom: 0;
    left: 0;
}

.journey-response .journey-summaries div.floating-button button.top {
    margin: 5px 0;
    position: static;
    margin-left: calc(100% - 130px);
    float: left;
}

.journey-response .journey-details-expanded button.disabled {
    background: #bfbfbf !important;
    background: rgba(0,0,0,0.25) !important;
    cursor: not-allowed;
}
.journey-response .journey-summaries table tbody tr.journey-details td div.journey-details-expanded button[type=button].disabled {
	background: rgba(0,0,0,0.25);
	cursor: not-allowed;
}

/* Extras*/

.journey-response .journey-summaries table.departure-board tbody tr:nth-child(1) td:nth-child(2) {
    border-top: none !important;
    padding: 10px 0 5px 0;
}


.journey-response .journey-summaries table.departure-board tbody tr td,
.journey-response .journey-summaries table.departure-board tbody tr td:nth-child(2) {
    border-top: 1px solid #c7ced6 !important;
    padding: 5px 0;
}

.journey-response .journey-summaries table.departure-board tbody tr:last-child td {
    padding: 5px 0 10px 0;
}

.journey-response div.leg-description.timetable,
.journey-response td.stops div.leg-description.timetable  {
    width: 70%;
    float: left;
}  

.journey-response td.inline .leg-description {
    width: 100%;
}

.journey-response div.timetable-links {
    float: left !important;
}


.journey-response .departures .journey-summaries table tbody tr td.stops,
.journey-response div.leg-description.timetable.stoplist  {
    width: 90%;
    margin-left: 10%;
    background: #fff;
}

.journey-response div.leg-description.timetable p {
    margin: 0 1vw;
    padding: 0;
    line-height: inherit;
}

.journey-response .leg-description p span.service {
    display: block;
    font-size: 36px;
}

.journey-response div.leg-description.timetable p span.service {
    font-size: 20px;
    margin-bottom: 2px;
}

.journey-response div.leg-description.timetable p span.operator {
    font-style: italic;
    color: #c3cad4;
    line-height: 16px;
    display: block;
}

.journey-response .departure-board tr.nextbus span.time {
    font-size: 12px;
    /* margin: 28px 2px 0 0 !important; */
    float: left;
    min-width: 10%;
    text-align: right;
}

.journey-response .departure-board span.time i {
    font-size: 22px;
    line-height: 0;
    margin: 0 2px 0 0;
}

.journey-response .departure-board span.time i.red {
    color: red !important;
}

.journey-response .departure-board tr.nextbus span.time .red {
    background: none !important;
    color: red !important;
}


.journey-response .departure-board span.time i.mx.mx-info.warning.red.cancelled {
    font-size: 18px;
}

.journey-response .departures .departure-board tr.nextbus td:nth-child(2) {
    position: relative;
    border-bottom: 1px solid #e6e6e6 !important;
    padding-bottom: 5px;
}

.journey-response .departures div.leg-description.timetable a.download-pdf.text,
.journey-response .departures div.leg-description.timetable a.download-pdf.inline,
.journey-response .departures div.leg-description.timetable a[data-type='html'],
.journey-response #timetables-list.journey-summaries a.download-pdf.text,
.journey-response #timetables-list.journey-summaries a.download-pdf.inline,
.journey-response #timetables-list.journey-summaries a[data-type='html'] {
    text-decoration: none !important;
    font-weight: normal;
    color: inherit;
    border-radius: 13px;
    float: right;
    background: #fff;
    margin: 5px;
    padding: 5px 8px 5px 33px;
    line-height: 14px;
    font-size: 14px;
    text-align: right;
    border: 1px solid !important;
    transition: background 100ms linear;
    position: relative;
}

.journey-response .departures div.leg-description.timetable a.download-pdf.inline i,
.journey-response #timetables-list.journey-summaries a[data-type='html'] i {
    color: inherit !important;
    position: absolute;
    left: 8px;
    font-size: 16px;
    top: 4px;
}

.journey-response p.message,
.journey-response p.warning {
    height: auto;
    position: relative;
    height: 100%;
    position: relative;
    width: 100%;
    vertical-align: middle;
    margin: 10px 0 0 0 !important;
    text-indent: 10%;
}


.journey-response p.message::before,
.journey-response p.warning::before { 
    font-family: "mxTransport";
    position: absolute;
    left: 9px;
    line-height: 28px;
    font-size: 28px;
}

.journey-response p.warning::before {
    color: #f22525;
    content: "\f019";
    top: -4px;
    width: 0;
    left: calc(-5% - 7.5px);
}

.journey-response p.message::before {
    color: #475c76;
    content: "\e000";
    top: -4px;
    width: 10%;
    left: calc(5% - 14px);
}

.journey-response .departures div.leg-description.timetable a:hover:not(.twitter a),
.journey-response .departures div.leg-description.timetable a:active:not(.twitter a) {
    background: #475c76 !important;
    color: #fff !important;
}

.journey-response .departures div.leg-description.timetable a:hover i,
.journey-response .departures div.leg-description.timetable a:active i {
    color: #fff;
}   

.journey-response .departures .departure-board tr.nextbus span.time {
    float: right;
    margin: 0;
    position: static;
    font-weight: bold;
}

.journey-response .departures .departure-board tr.nextbus span.time span.red {
    color: #FF0000;
    background: transparent;
}

.journey-response span.transmitter {
    display: inline-block;
    width: 10px;
    height: 13px;
    margin-left: 5px;
    background: url(../images/live-departure@05x.png) 0 0 no-repeat;
}

.journey-response div.download-link {
  display: block;
  padding: 20px 0;
  text-align: right;
  background: #f2f4f7;

}

.journey-response div.download-link a {
    float: none !important;
}

.journey-response .journey-summaries a.download-pdf i {
    font-size: 16px;
    color: #475c76;
    position: absolute;
    left: 8px;
    top: 4px;
}

.journey-response td.inline div.timetable-links a.download-pdf.text img,
.journey-response .journey-summaries a.download-pdf.text img,
a.download-pdf.inline img {
    float: left;
    width: 16px;
    height: 16px;
    margin: 0 5px;
    padding: 0;
    left: 0;
}

@media screen and (min-width:0) and (max-width: 419px) {
    .journey-response .departures div.leg-description.timetable a.download-pdf.text,
    .journey-response .departures div.leg-description.timetable a.download-pdf.inline,
    .journey-response .departures div.leg-description.timetable a[data-type='html'],
    .journey-response #timetables-list.journey-summaries a.download-pdf.text,
    .journey-response #timetables-list.journey-summaries a.download-pdf.inline,
    .journey-response #timetables-list.journey-summaries a[data-type='html'] {
        line-height: 12px;
        font-size: 12px;
        margin: 0 5px 5px;
        width: 50%;
    }

    .journey-response .journey-summaries a.download-pdf i,
    .journey-response .departures div.leg-description.timetable a.download-pdf.inline i, 
    .journey-response #timetables-list.journey-summaries a[data-type='html'] i {
        font-size: 12px;
        left: 5px;
        top: 5px;
    }

}

.journey-response td.inline div.timetable-links a.download-pdf.text img {
    padding: 0;
    position: absolute;
    left: 8px;
    top: 8px;
}

.journey-response .feedback,
* .___feedback {
    display: none;
    width: 100%;
    position: fixed;
    left: 0;
    bottom: 0;
    background: #000;
    background: rgba(0,0,0,0.75);
    z-index: 1000;
    padding: 0;
    height: 100%;
}

* .___feedback {
    top: 0;
}

.journey-response .feedback > p,
* .___feedback > p {
    color: #fff;
    display: block;
    padding: 32px 16px;
    font-size: 16px;s
    text-align: center !important;
}

* .___feedback > p {
    width: calc(100% - 32px);
}

.journey-response .timetables div.leg-mode-icon  i {
    font-size: 24px;
    margin: 3px auto;
}

.journey-response .timetables div.leg-description.timetable {
    width: 100%;
}

.journey-response .timetables div.leg-description.timetable p {
    text-align: left;
    line-height:  20px;
}

.journey-response .timetables div.leg-description.timetable p span.operator {
    cursor: pointer;
    display: block;
    font-style: italic;
    color:  #c3cad4;
    line-height: 16px;
}

.journey-response .departures .departure-head {
    display: block;
    margin: 0;
    border-bottom: 1px dashed;
    padding-bottom: 5px;
}

.journey-response .departures .departure-head p {
    margin: 0;
    font-weight: normal;
    font-size: 13px;
    float: left;
    padding: 0 0 13px 5px;
}

.journey-response .departures .departure-head p i {
    display: none;
}

.journey-response .departures .departure-head p.stop-description {
    width: 80%;
    padding: 0;
}

.journey-response .departures .departure-head p.stop-code {
    float: left;
    font-weight: normal;
    width: 20%;
    padding: 0;
    text-align: right;
}

a.download-pdf.text {
    text-align: right !important;
    position: relative;
}

/* 
    Map 
*/

.journey-response .leaflet-container table tbody tr {
    background: #fff !important;
}

.journey-response #map {
    font-family: inherit;
}

.journey-response #map .leaflet-bar {
	border-radius:0;
	box-shadow:0 0px 0px rgba(0,0,0,0);
}

.journey-response #map .leaflet-bar a {
	color: #475c76;
}

.journey-response #map .leaflet-bar a:first-child,
.journey-response #map .leaflet-bar a:last-child {
	border-radius:0;
}

.journey-response #map .leaflet-bar a.leaflet-control-zoom-in,
.journey-response #map .leaflet-bar a.leaflet-control-zoom-out {
	border:1px solid #ccc;
    background: #FFF;
}

.journey-response #map .leaflet-bar a.leaflet-control-zoom-out {
	margin-top: 1px;
}

.journey-response #map .leaflet-bar a:focus,
.journey-response #map .leaflet-bar a:active {
	background-color:#f4f4f4;
}

.journey-response #map .leaflet-popup-content-wrapper {
    color: #475c76;
	border-radius: 1rem;
}

.journey-response #map .leaflet-popup-content-wrapper th,
.journey-response #map .leaflet-popup-content-wrapper td {
    border: none !important;
}

.journey-response #map .leaflet-popup-content-wrapper > * :focus {
    border: 0;
}

.journey-response #map .leaflet-popup-content {
   	margin: 10px 20px 10px 10px;
}

.journey-response #map a.leaflet-popup-close-button {
	color:#c3cad4;
    padding: 5px;
    text-decoration: inherit !important;
}

.journey-response #map table.map-leg tr td {
    text-align: left;
    padding: 0;
    font-weight: 700;
    font-size: 12px;
    height: auto;
}

.journey-response #map table.map-leg tr td.icon {
	font-size:40px;
	vertical-align: top;
	line-height:1em;
}

.journey-response #map table.map-leg tr td.icon i {
    color: inherit;
}

.journey-response #map table.map-leg tr td span.times {
	font-weight: 900;
    font-size: 12px;
    font-style: italic;
}

.journey-response #map .leaflet-control-attribution {
	font-size: 0.75em;
	text-align: center;
}

.journey-response #map .leaflet-popup-scrolled {
    overflow: visible;
    border-bottom: none;
    border-top: none;
}
.journey-response .journeycap-origin {
    border: 2px solid #FFF;
    border-radius: 50%;
    box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.75);  
}

.pika-single {
    z-index: 9999;
    display: block;
    position: relative;
    color: #475c76;
    background: #fff;
    border: 2px solid #009e58;
	width:87%;
	max-width:300px;
}

/*
    clear child float (pika-lendar), using the famous micro clearfix hack
    http://nicolasgallagher.com/micro-clearfix-hack/
*/
.pika-single:before,
.pika-single:after {
    content: " ";
    display: table;
}
.pika-single:after { clear: both }
.pika-single { *zoom: 1; font-family:"Titillium Web", sans-serif; }

.pika-single.is-hidden {
    display: none;
}

.pika-single.is-bound {
    top: -10px !important;
    left: -1px !important;
    position: absolute;
    box-shadow: 0 5px 15px -5px rgba(0,0,0,.5);
}

.pika-lendar {
    float: left;
    width: 96%;
    margin: 2%;
}

.pika-title {
    position: relative;
    text-align: center;
}

.pika-label {
    display: inline-block;
    *display: inline;
    position: relative;
    z-index: 9999;
    overflow: hidden;
    margin: 0;
    padding: 5px 3px;
    font-size: 16px;
    line-height: 20px;
    font-weight: normal;
    background-color: #fff;
}
.pika-title select {
    cursor: pointer;
    position: absolute;
    z-index: 9998;
    margin: 0;
    left: 0;
    top: 5px;
    filter: alpha(opacity=0);
    opacity: 0;
}

.pika-prev,
.pika-next {
    display: block;
    cursor: pointer;
    position: relative;
    outline: none;
    border: 0;
    padding: 0;
    width: 20px;
    height: 30px;
    /* hide text using text-indent trick, using width value (it's enough) */
    text-indent: 20px;
    white-space: nowrap;
    overflow: hidden;
    background-color: transparent;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 75% 75%;
    opacity: .5;
    *position: absolute;
    *top: 0;
}

.pika-prev,
.is-rtl .pika-next {
    float: left;
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==');
    *left: 0;
}

.pika-next,
.is-rtl .pika-prev {
    float: right;
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=');
    *right: 0;
}

.pika-prev.is-disabled,
.pika-next.is-disabled {
    cursor: default;
    opacity: .2;
}

.pika-select {
    display: inline-block;
    *display: inline;
}

.pika-table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    border: 0;
}

.pika-table th,
.pika-table td {
    width: 14.285714285714286%;
    padding: 0;
}

.pika-table th {
    color: #999;
    font-size: 14px;
    line-height: 25px;
    font-weight: normal;
    text-align: center;
    border: none !important;
}

.pika-button {
    cursor: pointer;
    display: block;
    outline: none;
    border: 0;
    margin: 0;
    width: 100%;
    padding: 5px;
    color: #475c76;
    font-size: 12px;
    line-height: 15px;
    text-align: right;
    background: none;
}

.is-today .pika-button {
	color: #475c76;
    font-weight: bold;
}

.is-selected .pika-button {
    color: #fff;
    font-weight: bold;
    background: #009e58;
    box-shadow: inset 0 0 1px 0 #009e58;
    border: 0;
}

.is-disabled .pika-button {
    pointer-events: none;
    cursor: default;
    color: #999;
    opacity: .3;
}

/* 
    Mapping 
*/

.journey-response #map {
    display: none;
    width: 100%;
    /* background: rgba(0,0,0,0.6); */
    float: left;
    margin: 10px 0;
    cursor: default;
    min-height: 240px;
    height: 50vh;
    transition: all 0.3s linear;
}

.journey-response #map.visible {
    display: block;
    border-radius: 0.5rem;
}

.journey-response #map.visible.activeLeg {
    border: 2px dashed #475c76 !important;
    border-top: 0 !important;
    width: calc(100% - 4px);
    outline: none !important;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.journey-response .journey-details-expanded button.disabled {
    background: #bfbfbf;
    background: rgba(0,0,0,0.25);
    cursor: not-allowed;
}

/* 
    Map specific 
*/

.journey-response .departures #mapWrapper,
.journey-response .departures #map {
    min-height: 320px;
    height: 50vh;
}

.journey-response .departures #mapWrapper {
    display: none;
}

.journey-response div.row {
    font-family: "Titillium Web", sans-serif;
    display: block;
    width: 100%;
}

.journey-response div.row .leg-mode-icon {
    float: left;
    width: 100%;
}

.journey-response div.row .leg-mode-icon i {
    font-size:2.5em;
}

.journey-response div.row .leg-mode-icon span {
    float: right;
    line-height: 2em;
}

.journey-response div.map-leg-description {
    float: left;
    display: block;
    font-size: 18px;
    font-weight: normal;
}

.journey-response div.map-leg-description p {
    font-size: 0.9em;
}

.journey-response div.map-leg-description p.times {
    font-size: 0.75em;
}

.journey-response .journey-details-expanded {
    display: none;
}

.journey-form .journey-basic div#swapOriginDestination {
    width: 10%;
    overflow-x: visible;
    position: absolute;
    right: 0;
    top: 160px;
    cursor: pointer;
    text-align: center;
}

.journey-form .journey-basic div#swapOriginDestination i {
    /* font-size: 50px; */
    font-size: 32px;
    /* line-height: 1.5em; */
    color: inherit !important;
    transition: all 0.33s linear;
    transform-origin: 50% 50%;
}

.journey-form .journey-basic div#swapOriginDestination.swap i{
     filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
    transform: rotateX(180deg);
}

@media only screen and (min-width: 320px) and (max-width: 400px) {
    .journey-form .journey-basic div#swapOriginDestination i {
        /* margin-left: 5px; */
    }
}

@media only screen and (min-width: 401px) and (max-width: 500px) {
    .journey-form .journey-basic div#swapOriginDestination i {
        /* margin-left: 10px; */
    }
}

@media only screen and (min-width: 501px) {
    .journey-form .journey-basic div#swapOriginDestination i {
        /* margin-left: 25%; */
    }
}

.journey-form .journey-basic input.blink {
    animation: blink 0.66s ease-out;
    animation-iteration-count: 1;
}

@keyframes blink {
    0% {
         background: #fff;
    }
    50% {
        background: #a5d2be;
    }        
    100% {
         background: #fff;
    }
}

.journey-form .journey-basic input.delay {
    animation-delay: 0.33s;
}

.journey-response .departures .journey-summaries button#top {
    border: none;
    font-family: "Titillium Web", sans-serif;
    font-size: 14px;
    font-weight: normal;
    padding: 8px;
    margin: 0 5%;
    outline: none;
    -webkit-appearance: none;
    color: #fff;
    background-color: #f79624;
    float: right;
    width: 90%;
}

input.invalid:focus, 
input.invalid:focus + div.geocode {
    outline: none;
}

* {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important; 
    -webkit-focus-ring-color: rgba(0, 0, 0, 0) !important;
    outline: none;
}

*:focus {
    outline: 2px dotted #555 !important;
}

button :not(.disabled):hover {
    border-color: #bc9475;
    /* transition: all 0.2s linear; */
}


/* 
    PHASE 3 additions
    Mostly for 3P widgets
*/

.canvas-ready {
    transition: all 750ms linear;
    transform: translate(0, 0);
}

/* 
    If no form container is specified 
*/

.off-canvas-top {
    transition: all 750ms linear;
    transform: translate(0, -100vh);
}

.off-canvas-left {
    transition: all 750ms ease-out;
    transform: translate(-100vw, 0);
}

.off-canvas-left.visible {
    transition: all 750ms ease-in;
    transform: translate(0, 0);
}

#journeyPlanner {
    margin: auto;
    position: static;
    width: auto;
    height: auto !important;
}

/* TEST */
/* #journeyPlanner {
    transition: transform 1s linear;
}

#journeyPlanner.off-left {
    transform: translateX(calc(-100vw - 720px));
} */
/* END TEST */

.journey-form.__font {
    min-height: 300px;
    height: auto;
}

.journey-form.__font,
.journey-form.__font .place-list,
.__font > .journey-basic button,
.__font > .journey-basic button[type=submit],
.__font > .journey-basic input,
.__font > .journey-basic input[type=search], 
.__font > .journey-basic input[type=text], 
.__font > .journey-basic select, 
.__font > .journey-basic input[type=date], 
.__font > .journey-basic div.input,
.journey-response.__font,
.journey-response.__font button,
.journey-response.__font .summary-controls .control button[type=submit],
.journey-response.__font .summary-controls .control button[type=button] {
    font-family: inherit;
}

.journey-form.__font,
.journey-basic.__font .place-list li,
.__font > .journey-basic input[type=search], 
.__font > .journey-basic input[type=text], 
.__font > .journey-basic select, 
.__font > .journey-basic input[type=date], 
.__font > .journey-basic div.input,
.journey-response.__font {
    color: inherit;
}

.journey-response.__font .your-journey span {
    line-height: inherit;
}

#tilSupport {
    width: 100%;
    color: inherit; 
    font-size: 12px;
    line-height: 12px;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center;
    position: absolute;
    top: 114px;
    left: 0;
}


#tilSupport a {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}

#tilSupport i {
    position: static;
    margin: 0 5px 0 0;
    font-size: 16px;
    line-height: 12px;
    color: inherit;
}

/* 
    PHASE 3 - Page Landing
*/

.journey-form.landing .journey-basic #travelineLogo {
    margin: 16px auto 0 auto;
    width: 240px;
    height: 54px;
    background-image: url("../images/traveline.svg");
    background-size: 240px 54px;
    background-repeat: no-repeat;
}

.journey-form.landing h2 {
    font-family: inherit;
    color: inherit;
    margin: 0 0 13px 0;
}

.journey-form.landing .journey-basic div.geocode {
    padding: 8px 0;
}

.journey-form.landing .journey-basic div#swapOriginDestination {
    top: 149px;
}

.journey-form.landing #origVal {
    top: 204px;
}

.journey-form.landing #destinationVal,
.journey-form.landing #genVal {
    top: 249px;     
}

#journey__form.journey-form.landing button[type=submit] {
    float: none;
    margin-left: 40%;
}
    
.journey-form.landing button[type=submit].load-ext {
    box-shadow: inset 0px 0px 22px 0px #764811;
}

.journey-response p.information {
    position: relative;
    padding: 0;
    /* line-height: 1.4rem;
    font-size: 1.6rem; */
    /* margin: 0 0 0 2.6rem; */
    line-height: 14px;
    font-size: 16px;
    margin: 0 0 0 26px;
}

.journey-response.TP p.information {
    font-size: 4vw !important;
}

    /* .journey-response p.information:before {
    font-family: mxTransport;
    content: "\f019";
    color: red;
    position: absolute;
    left: -2.6rem;
    font-size: 2.6rem;
    top: 0;
} */

.journey-response p.information:before {
    font-family: mxTransport;
    content: "\e000";
    position: absolute;
    left: -2.6rem;
    font-size: 2.6rem;
    top: 0;
}

.journey-response td.inline p.information {
    font-size: inherit;
    padding: 0.8rem;
}

.journey-response td.inline p.information:before {
    display: none !important;
}

.journey-response p.information i {
    display: none;
}

.journey-response td.inline p.information i {
    display: inline-block;
    margin-right: 0.4rem;
}

.journey-response .departures .journey-summaries table tbody tr td:nth-child(2) p.information.inline {
    margin: 0 1vw 0 10% !important;
}

.journey-response div.leg-mode-icon i, 
.journey-response div.leg-accessibility-icon i {
    font-size: 24p;
    margin: 3px auto;
}

/* 
    Extra NOC information 
*/

.operator-info {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    text-align: center;
    z-index: 1001;
    font-family: "Titillium Web", sans-serif;
}

.operator-info:before {
    content: "";
    display: inline-block;
    width: 0;
    height: 100%;
    vertical-align: middle;
}

.operator-info .operator-info-details {
    display: inline-block;
    max-width: 90%;
    min-width: 240px;
    max-height: 80%;
    background: #FFFFFF;
    vertical-align: middle;
    color: #475c76;
    border-radius: 1rem;
}

.operator-info .operator-info-details.tweets {
    min-width: 300px;
    max-width: calc(100% - 20px);
    width: 70vw;
    min-height: 50vh;
}

.fixed-iOS .operator-info .operator-info-details.tweets {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.operator-info .operator-info-header {
    position: relative;
    text-align: left;
    background: #f2f4f7;
    border-bottom: 2px solid #475c76;
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;    
}

.operator-info .operator-info-header .operator-info-i, 
.operator-info .operator-info-header .operator-info-t {
    width: 22px;
    height: 22px;
    border-radius: 11px;
    background-size: 12px 12px;
    background-position: 5px 5px;
    background-repeat: no-repeat;
    position: absolute;
    top: 10px;
    left: 10px;
}

.operator-info .operator-info-header .operator-info-i {
    background-color: transparent;
    background-image: url(../images/info-solid-blue.svg);
    background-size: 22px 22px;
    border-radius: 0;
    background-position: 0 0;
}

.operator-info .operator-info-header .operator-info-t {
    background-color: #1DA1F2;
    background-image: url(../images/twitter_logo_white.svg);
    background-size: 26px 26px;
    background-position: 0 0;
    width: 26px;
    height: 26px;
    border-radius: 13px;
}

.operator-info .operator-info-header h2 {
    margin: 0;
    color: #475c76;
    font-size: 18px;
    padding: 10px 40px;
    font-weight: normal;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.operator-info .operator-info-header button {
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -11px;
    width: 23px;
    height: 22px;
    border: 1px solid transparent;
    background: #f22525;
    cursor: pointer;
}

.operator-info .operator-info-header button:after {
    font-family: "mxTransport";
    color: #fff;
    content: "\f009";
    position: absolute;
    top: 1px;
    left: 1px;
    line-height: 19px;
    font-size: 19px;
}

.operator-info p {
    margin: 30px 15px;
    font-size: 16px;
}

.operator-info .operator-info-data {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    margin: 10px 0;
    
}

.operator-info .operator-info-details.tweets > .operator-info-data {
    /* height: 100%; */
    min-height: calc(50vh - 20px);
    height: 50vh !important;
    margin: 0;
    overflow: scroll !important;
}

.operator-info .operator-info-details.tweets td#opTimeline {
    padding: 0 !important;
}

.operator-info .operator-info-data th,
.operator-info .operator-info-data td {
    vertical-align: top;
    font-weight: normal;
    font-size: 14px;
    line-height: 28px;
}

@media only screen and (min-width: 320px) and (max-width: 400px) {
    .operator-info .operator-info-data th,
    .operator-info .operator-info-data td {
        line-height: 21px;
    }
}

.operator-info .operator-info-data th {
    padding: 0px 20px 0 10px;
    border-bottom: 1px solid transparent;
    font-weight: bold;
    text-align: right;

}

.operator-info .operator-info-data td {
    padding: 0 10px 0 0;
    border-bottom: 1px solid #c3cad4;
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: break-all;
    hyphens: auto;
    white-space: pre-line;
}

.operator-info .operator-info-data tr:last-child * {
    border: none;
}

.operator-info .operator-info-data td a:link,
.operator-info .operator-info-data td a:visited {
     color: #0000EE;
}

.operator-info .operator-info-data td a:active {
    color: #551A8B;
}

.operator-info .operator-info-footer {
    height: 32px;
    background: #f2f4f7;
    border-top: 2px solid #475c76;
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
}

.operator-info .operator-info-footer h2 {
    font-size: 16px;
    font-weight: 500;
    margin: 0;
    padding: 0;
    line-height: 28px;
}

.operator-info .operator-info-footer h2 a {
    text-decoration: none;
    transition: all linear 0.1s;
}

.operator-info .operator-info-footer h2 a:hover,
.operator-info .operator-info-footer h2 a:active {
    text-decoration: underline;
}

/* 
    Hide initially to give browser enough time to find the iframe 
    and add the relevant CSS overrides
*/
body.fixed-iOS .operator-info .operator-info-details.tweets td#opTimeline {
    opacity: 0;
    transition: opacity 0.2s linear;
}

body.fixed-iOS iframe.twitter-timeline {
    width: auto;
    height: 70vh !important;
    font-family: Consolas !important;
    display: block !important;
}

@media only screen and (min-height: 320px) and (max-width: 567px) {
    body.fixed-iOS iframe.twitter-timeline {
        height: 300px !important;
    }
}

.timeline-iOS {
    -webkit-overflow-scrolling: touch !important;
}

tr.journey-details.expanded td {
    background: #FFF;
}

p#departuresInfo {
    font-size: 14px;
    margin: 0;
    padding: 1rem 0 0 0;
}

.fares-container {
	width: 100%;
    position: relative;
    background: #fff;
    cursor: default;
    padding: 9px 0;
    float: left;
    height: 32px;
    border-top: 1px dotted;
    border-bottom: 1px dotted;
    margin-top: 16px;
}

.leg-details.active.mappable > .fares-container {
    border-left: 2px dashed #475c76 !important;
    border-right: 2px dashed #475c76 !important;
    margin-left: -2px;
}

.fares-container::before {
    font-family: 'mxTransport';
    content: '\E900';
    position: absolute;
    top: 21px;
    left: 0;
    font-size: 16px;
    line-height: 0.75em;
    width: 10%;
}

.fares-caption {
    display: block;
    float: none !important;
    margin: 0 0 10px 0;
    text-align: center;
    line-height: 1.75em;
    font-size: 14px;
    color: #fff;
    font-weight: normal;
    background: #475c76;
    border-bottom: 1px dotted;
}

.fares-container p.fares-disclaimer {
    border: 1px solid;
    padding: 8px 8px 8px 30px !important;
    background: #f2f4f7;
    border-radius: 4px;
    border: 1px solid #475c76!important;
    margin: 8px 8px 8px 15% !important;
    font-style: italic;
    width: calc(85% - 46px);
    position: relative;
}

.fares-container p.fares-disclaimer::before {
    font-family: 'mxTransport';
    content: '\E000';
    position: absolute;
    font-style: normal;
    top: 7px;
    left: 10px;
    font-size: 22px;
}

.fares-container ul {
    font-size: 12px;
    width: calc(85% - 6px);
    margin-left: 15%;
}

.fares-list .fare {
    line-height: 1.75em;
    width: 48%;
    display: inline-block;
    border: 1px solid #009e58;
    background: #009e58;
    cursor: default;
    border-radius: 4px;
}

.fares-list .fare:nth-child(even) {
    margin-left: 2%;
    margin-bottom: 2%;
}

.fares-list .fare span.type {
    color: #009e58;
    border-top: 1px solid #fff;
    background: #fff;
    text-align: left;
    display: inline-block;
    width: 56%;
    padding-left: 4%;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
}

.fares-list .fare span.price {
    color: #fff;
    text-align: right;
    display: inline-block;
    width: 36%;
    padding-right: 4%;
}

.fares-list .fare span.price[currency="GBP"]::before {
    content: "£";
}

button.fares-button {
    background: #009e58!important;
    padding: 0 9px;
    position: relative;
    color: #fff;
    float: right;
    margin-right: 4px;
    line-height: 28px;
    font-size: 12px;
}

/* button.fares-button::before {
    font-weight: lighter;
    font-family: 'mxTransport';
    content: '\E900';
    position: absolute;
    top: 1px;
    left: 8px;
    font-size: 18px;
} */

.journey-response div.leg-details.mappable .fares-container button.fares-button i {
    transform: rotate(-45deg);
    margin-right: 0.5rem;
}

button.fares-button::after {
    font-family: FontAwesome;
    content: "\f14c";
    margin-left: 0.5rem;
}

ul.mode li:before {
    font-family: "mxTransport";
    position: absolute;
    font-size: 26px;
    left: 21px;
}

ul.mode li#bus:before {
    content: "\f000";
    top: 9px;
}

ul.mode li#coach:before {
    content: "\f001";
    top: 10px;
}

ul.mode li#ferry:before {
    content: "\f005";
    top: 11px;
}

ul.mode li#tram:before {
    content: "\f004";
    top: 10px;
}

ul.mode li#train:before {
    content: "\f003";
    top: 11px;
}

ul.mode li#tube:before {
    content: "\f002";
    top: 11px;
}

ul.mode li#walk:before {
    content: "\f00b";
    top: 10px;
}

ul.mode li#various:before {
    content: "\f00d";
    top: 11px;
}

/* 
    NEW AJAX ANIMATIONS 
*/

.___feedback.active {
    opacity: 1 !important;
    position: absolute;
    width: 100%;
    height: auto !important;
    bottom: 0;
    background: rgba(0,0,0,0.75);
    z-index: 1000;
    transition: opacity 0.5s linear;
}

button[type="submit"] .___feedback {
    position: absolute;
    left:  0;
    width: 100%;
    height:  100%;
    border-radius: 24px;	    
    background: rgba(255,255,255,1);
    z-index: 0;
}

button[type="submit"].disabled .___feedback {
    display: block;
}

button[type="submit"] .___feedback .spinner {
    top: 0;
    left: 0;
    width: inherit;
    height: inherit;
}

button[type="submit"].disabled .___feedback {
    display: block;
    position: absolute;
}

button[type="submit"] .___feedback .spinner {
    top: 0;
    left: 0;
    width: inherit;
    height: inherit;
}

.search-pane.active {
    width: auto;
    max-width: 320px;
    position: relative;
}

.search-pane.active p {
    position: absolute;
    top: 10px;
    left: 64px;
}

.search-pane.active .spinner {
    width: 50px;
    height: 50px;
    position: relative;
}

.spinner .circle1,
.spinner .circle2 {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: #475c76;
    opacity: 0.8;
    position: absolute;
    top: 0;
    left: 0;
    animation: sk-bounce 2.0s infinite ease-in-out;
}

.spinner .circle2 {
    animation-delay: -1.0s !important;
    background-color: #009e58 !important;
}

button[type="submit"] .___feedback .spinner .circle1,
button[type="submit"] .___feedback .spinner .circle2 {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    position: absolute;
    top: 3px;
    left: 3px;
}

* .___feedback p {
    position: absolute;
    width: calc(98vw - 4px);
    text-align: center;
    font-size: 19px;
    top: calc(20vh + 120px);
}

.departures-container .___feedback,
.departures #stopList .___feedback {
    display: block;
    top: 100%;
    bottom: auto;
}

.departures .___feedback.active {
    top: auto;
    height: 64px!important;
    position: relative;
    max-width: 100%;
    margin: 0 auto;
    display: block;
}

.departures #stopList tr.___feedback-wrapper td {
    margin: 0;
    padding: 0;
    width: 100%;
    height: auto;
}

.departures #stopList .___feedback.active {
    opacity: 1;
}

.departures-container .___feedback.active p {
    height: auto;
    padding: 32px 0;
    position: static;
    top: auto;
    width: auto;
    float: left;
    text-indent: 20px;
}

.departures-container .___feedback.active .spinner {
    width: 64px;
    height: 64px;
    left: 10px;
    top: 10px;
    position: relative;
    float: left;
}

.departures .___feedback.active .spinner {
    position: absolute;
    left: 10px;
    top: 10px !important;
    width: 44px;
    height: 44px;
}

.departures .___feedback.active p {
    left: 64px;
    top: 16px;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0;
    font-size: 1.6rem;
}

.departures #stopList .___feedback.active p {
    top: calc(50% - 0.8rem);
}

.journey-response.TP .departures #stopList .___feedback.active p {
    font-size: 4vw !important;
    top: calc(50% - 2vw) !important;
}
  
@keyframes sk-bounce {
    0%, 100% { 
        transform: scale(0.0);
        -webkit-transform: scale(0.0);
    } 50% { 
        transform: scale(1.0);
        -webkit-transform: scale(1.0);
    }
}


/* 
    New search/cancel functionality for mobile devices 
*/

button.search-cancel {
    position: absolute;
    right: 0;
    width: 24px;
    height: 24px;
    margin: 7px 5px;
    border-radius: 0;
    background: transparent url(../images/search-cancel@2x.png) 3px 3px no-repeat;
    background-size: 18px 18px;
    border: none;
    cursor: pointer;
}

/* 
    Account for the Swap Origin/Destination button 
*/

#journey__basic button.search-cancel {
    /* right: calc(8px + 10%); */
    right: 10%;
}

button.search-cancel:nth-of-type(2) {
    /* top: 178px; */
    top: 188px;
}

button.search-cancel:focus {
    outline: 2px dotted #555 !important;
}

/*
    Service Messaging Additions
*/

.journey-response .departures .journey-summaries table tbody tr.smt {

}

.journey-response .leg-details p.social-distance-pill, 
.journey-response .leg-description.timetable p.social-distance-pill {
    cursor: pointer;
    font-size: 12px;
    border-radius: 16px;
    background-color: #0e9d57;
    padding: 2px 8px;
    /* background-image: url(../images/social-dist-5.png); 
    background-size: 36px 18px;
    background-position: 8px 6px;
    /* background-repeat: no-repeat; */
    border: 1px solid #0e9d57;
    text-indent: 14px;
    color: #fff;
    /* text-align: right!important; */
    width: 132px;
    height: auto;
    position: relative;
    /* line-height: 26px!important; */
    text-indent: 8px;
    text-align: left;
    transition: all 0.2s linear;
    /* temporary! */
    display: none;
}

.journey-response .leg-description.timetable p.social-distance-pill {
    /* text-indent: 44px; 
    width: 166px;*/
}
.journey-response .leg-details p.social-distance-pill.static,
.journey-response .leg-description.timetable p.social-distance-pill.static {
    width: 168px;
}

.journey-response .leg-details p.social-distance-pill {
    border-radius: 12px;
    padding: 2px 8px;
    line-height: 18px !important;
    background-size: 28px 14px;
    background-position: 6px 4px;
    margin-bottom: 5px !important;
    /* Temporary! */
    display: none;
}

.journey-response .leg-details p.social-distance-pill::before, 
.journey-response .leg-description.timetable p.social-distance-pill::before {
    font-family: 'mxTransport';
    content: "\f017";
    position: absolute;
    font-size: 16px;
    left: 120px;
    color: #fff;
    top: 4px;
}

.journey-response .leg-details p.social-distance-pill::before,
.journey-response .leg-description.timetable p.social-distance-pill.static::before {
    content: none;
}

.journey-response .leg-details p.social-distance-pill.expanded, 
.journey-response .leg-details p.social-distance-pill.expanded:hover,
.journey-response .leg-details p.social-distance-pill.expanded:active,
.journey-response .leg-description.timetable p.social-distance-pill.expanded,
.journey-response .leg-description.timetable p.social-distance-pill.expanded:hover,
.journey-response .leg-description.timetable p.social-distance-pill.expanded:active {
    height: auto;
    white-space: pre-wrap;
    text-indent: 0;
    border-color: #0E9D56 !important;
    background-color: #0E9D56 !important;
    color: #fff !important;
    padding-top: 4px;
    padding-bottom: 4px;
    line-height: 20px!important;
    /* background-image: url(../images/social-dist-5.png) !important; */
}

.journey-response .leg-details p.social-distance-pill:hover::before,
.journey-response .leg-details p.social-distance-pill:active::before,
.journey-response .leg-description.timetable p.social-distance-pill:hover::before,
.journey-response .leg-description.timetable p.social-distance-pill:active::before {
     color: #0E9D56 !important;   
}

.journey-response .leg-details p.social-distance-pill.expanded {
    width: 100%;
}

.journey-response .leg-description.timetable p.social-distance-pill.expanded {
    width: calc(100% - 24px) !important;
}

.journey-response .leg-details p.social-distance-pill.expanded:before, 
.journey-response .leg-description.timetable p.social-distance-pill.expanded::before {
    content: "";
}

.journey-response .leg-details p.social-distance-pill.expanded a, 
.journey-response .leg-description.timetable p.social-distance-pill.expanded a {
    display: inline-block;
    margin-bottom: 3px;
    color: #fff;
}

.journey-response .leg-description.timetable p.social-distance-pill.expanded a {
    width: 100%;
    text-align: right;
    color: #fff;
}

.journey-response .leg-details p.social-distance-pill.expanded a i, 
.journey-response .leg-description.timetable p.social-distance-pill.expanded a i {
    margin-left: 5px;
}

.journey-response .leg-details p.social-distance-pill.static a,
.journey-response .leg-description.timetable p.social-distance-pill.static a {
    position: relative;
    padding-right: 10px;
}

.journey-response .leg-details p.social-distance-pill.static a i,
.journey-response .leg-description.timetable p.social-distance-pill.static a i {
    position: absolute;
    right: -3px;
    top: 3px;
}

.journey-response .journey-summaries table tbody tr.journey-details td div.leg-details.smr {
    border: 1px solid var(--tvl-darkblue) !important;
    padding: 10px 0 0 0 !important;
    border-radius: 0.5rem;
}

.journey-response .journey-summaries table tbody tr.journey-details td div.leg-details.active.mappable.smr {
    border: 2px solid var(--tvl-darkblue) !important;
}

.journey-response .journey-summaries table tbody tr.journey-details td div.leg-details.smr.active.mappable + #map {
    border: 2px solid var(--tvl-darkblue) !important;
    border-top: 0 !important;
    width: calc(100% - 4px);
    margin-top: 13px;
}

/* .journey-response #timetables-list.journey-summaries table tbody tr.smr,
.journey-response #timetables-list.journey-summaries table tbody tr.smr td {
    border: 1px solid #f22525 !important;
} */

.journey-response #timetables-list.journey-summaries table tbody tr.smr,
.journey-response #timetables-list.journey-summaries table tbody tr.smr td {
    /* border: 1px solid !important; */
    border-bottom: var(--tvl-darkblue) !important;
    height: auto;
}


.journey-response #timetables-list.journey-summaries table tbody tr.smr td:first-child {
    border-right: none !important;
}

.journey-response #timetables-list.journey-summaries table tbody tr.smr td:nth-child(2) {
    border-left: none !important;
}

.journey-response .leg-details div.smj, 
.journey-response #timetables-list.journey-summaries table tbody tr.smt td {
    border-top: 1px solid var(--tvl-darkblue) !important;
    padding: 0 !important;
    background: var(--tvl-green);
}

.journey-response .leg-details div.smj {
    width: 100%;
    margin-top: 10px;
    padding-top: 10px !important;
    float: left;
}

.journey-response #timetables-list.journey-summaries table tbody tr {
    display: flex;
}

.journey-response #timetables-list.journey-summaries table tbody tr td {
    width: 100%;
    height: auto;
}

.journey-response #timetables-list.journey-summaries table tbody tr td:first-child {
    width: auto !important;
}

.journey-response #timetables-list.journey-summaries table tbody tr.smt td,
.journey-response .departures table tbody tr.smt td { 
    height: auto;
    padding-top: 0;
    padding-bottom: 0;
    border: 1px solid var(--tvl-darkblue) !important;
    display: flex;
    flex-direction: row;
    width: 100% !important;
    border-radius: 0.5rem;
    background: var(--tvl-green);
}

.journey-response #timetables-list.journey-summaries table tbody tr.smt.warning td,
.journey-response .departures table tbody tr.smt.warning td { 
    background: var(--tvl-midred);
}

.journey-response td div.leg-mode-icon.smt,
.journey-response #stopList * td div.leg-mode-icon.smt {
    width: 25px !important;
    display: flex;
    background-color: var(--tvl-hovergreen) !important;
    margin-right: 8px;
    height: auto !important;
}

.journey-response td div.leg-mode-icon.smt.warning,
.journey-response #stopList * td div.leg-mode-icon.smt.warning {
    width: 32px !important;
    background: var(--tvl-darkred) !important;
}

.journey-response #stopList * td div.leg-mode-icon.smt {
    margin-left: 0;
    border-radius: 0;
    padding-top: 5px;
}
    

.journey-response td div.leg-mode-icon.smt i {
    color: #fff;
    font-size: 16px !important;
    padding: 4px;
    margin-top: 0;
    height: 24px;
}

.journey-response .journey-details td div.leg-mode-icon.smt {
    background-color: var(--tvl-darkblue) !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 50%;
    color: #fff;
    margin-right: calc(5% - 16px);
    margin-left: 4px;
}

.journey-response td div.leg-mode-icon.smt.warning {
    background: var(--tvl-darkred) !important;
}

.journey-response .map-visible td div.leg-mode-icon.smt.warning {
    padding-top: 3px;
}


/* JP Only */
.journey-response .journey-details td div.smj div.leg-mode-icon.smt {
    margin-left: calc(5% - 16px); 
}

@media screen and (min-width: 320px) and (max-width:479px) {
    /* JP Only */
    .journey-response .journey-details td div.smj div.leg-mode-icon.smt {
        margin-left: 4px;
    }
}

.journey-response .journey-details td div.smj p.service-message {
    width: 100%;
}

.journey-response .journey-details td div.smj div.leg-description.smt a  {
    margin-right: 0 !important;
}

.journey-response .journey-details td div.leg-mode-icon.smt i {
    padding-top: 3px;   
}

.journey-response #timetables-list.journey-summaries table tbody tr.smt td div.leg-mode-icon.smt,
.journey-response .departures table tbody tr.smt td div.leg-mode-icon.smt { 
    color: #fff !important;
    margin-top: 5px;
}

.journey-response #timetables-list.journey-summaries table tbody tr.smt td div.leg-mode-icon.smt i,
.journey-response .departures table tbody tr.smt td div.leg-mode-icon.smt i { 
    padding-top: 5px;
}

.journey-response #timetables-list.journey-summaries table tbody tr.smt td div.leg-description p,
.journey-response .departures table tbody tr.smt td div.leg-description p {
    /* color: var(--tvl-darkblue); */
    color: white;
    font-size: 15px;
    margin: 0;
    padding: 12px 8px;
}

.journey-response #timetables-list.journey-summaries table tbody tr.smt td div.leg-description p,
.journey-response .map-visible * tr.warning td div.leg-description.smt p {
    padding: 6px 8px;
}

.journey-response #timetables-list.journey-summaries .leg-mode-icon.smt {
    margin-top: 0;
    padding-top: 3px;
}

.journey-response .timetables div.leg-mode-icon i {
    padding-top: 0;
    /* margin-top: 0; */
    /* color: #fff !important; */
}

.journey-response div.leg-description.smt {
    padding: 0 0 8px 0;
    /* width: calc(100% - 44px) !important;
     */
     width: 100%;
    float: left;
}

.journey-response .leg-details p.service-message, 
.journey-response #timetables-list.journey-summaries table tbody tr.smt td p.service-message {
    font-size: 12px;
    color: #fff;
    min-height: 24px;
    border-radius: 0;
    background-repeat: no-repeat;
    border: 1px solid transparent;
    transition: background-color linear 0.1s;
    line-height: 18px;
    width: calc(100% - 40px);
}

.journey-response .leg-details p.service-message, 
.journey-response #timetables-list.journey-summaries table tbody tr.smt td p.service-message {
    color: var(--tvl-darkblue);
    text-indent: 0 !important;
    background-repeat: repeat;
    margin-left: 0;
    font-size: 12px;
    padding: 8px;
}

.journey-response .leg-details p.service-message {
    padding-top: 0;
    padding-left: 0;
    width: 90%;
    /* margin-top: 4px!important; */
    margin-left: 4px !important;
    color: white;
}

.journey-response #timetables-list.journey-summaries table tbody tr.smt td p.service-message {
    width: 100% !important;
}

.journey-response div.leg-description.smt a, 
.journey-response #timetables-list.journey-summaries table tbody tr.smt td a {
    float: right;
    position: relative;
    border-radius: 12px;
    border: 1px solid var(--tvl-darkblue);
    padding: 0px 8px;
    transition: background 0.1s linear;
    font-size: 12px;
    color: var(--tvl-darkblue);
    margin-top: 8px;
}

.journey-response div.leg-description.smt a {
    margin-right: 8px;
}

.journey-response #timetables-list.journey-summaries table tbody tr.smt td a.compact { 
    margin-right: calc(-10% + 25px);
}

.journey-response div.leg-description.smt a i, 
.journey-response #timetables-list.journey-summaries table tbody tr.smt td a i {
    margin-left: 4px;
}

.journey-response div.leg-description.smt a,
.journey-response .leg-details p.service-message a.tt-more,
.journey-response #timetables-list.journey-summaries table tbody tr.smt td a.tt-more {
    float: none !important;
    display: inline;
    font-size: 12px;
    transition: all 0.1s linear;
    cursor: pointer;
    position: relative;
}

.journey-response .leg-details p.service-message a.tt-more i, 
.journey-response #timetables-list.journey-summaries table tbody tr.smt td a.tt-more i {
    /* top: 5px;
    right: -4px;
    position: absolute; */
    /* margin-left: -0.4rem; */
    display: none;

}

.journey-response #timetables-list.journey-summaries table tbody tr.blank-row td {
    height: 8px;
    padding: 0;
}

/* Added hover states for third parties using the mobile variant in 
   responsive or desktop websites
   */

.journey-response .leg-details p.social-distance-pill:hover, 
.journey-response .leg-details p.social-distance-pill:active, 
.journey-response .leg-description.timetable p.social-distance-pill:hover, 
.journey-response .leg-description.timetable p.social-distance-pill:active {
    /* background-image: url(../images/social-dist-5g.png) !important; */
    color: #0e9d57 !important;
    background-color: #fff !important;
    border-color: #0e9d57 !important;
    transition: all linear 0.1s;
}   

.journey-response div.leg-description.smt a:hover, 
.journey-response div.leg-description.smt a:active, 
.journey-response #timetables-list.journey-summaries table tbody tr.smt td a:hover,
.journey-response #timetables-list.journey-summaries table tbody tr.smt td a:active {
    color: #fff;
    background-color: var(--tvl-darkblue);
    transition: all linear 0.1s;
}

.journey-response div.leg-description.smt a, .journey-response #timetables-list.journey-summaries table tbody tr.smt td a {
    font-weight: 500;
    float: right !important;
    background: white;
    text-decoration: none;
    /* margin: 0 !important; */
}

/* Media queries for larger devices. Bare minimum
 */

@media screen and (min-width: 361px) and (max-width: 400px) {
    .journey-response div.leg-description.smt {
        width: calc(100% - 48px) !important;
    }

    /* JP Only */
    .journey-response div.smj div.leg-description.smt {
        width: calc(100% - 34px) !important;
    }
    
}

@media screen and (min-width: 401px) {
    .journey-response div.leg-description.smt {
        /* width: 90% !important; */
    }
    .journey-response .timetables div.leg-description.smt {
        width: 100% !important;
    }
    /* JP Only */
    .journey-response div.smj div.leg-description.smt {
        width: 89% !important;
    }
}

@media screen and (min-width: 480px) {
    .journey-response .leg-details p.social-distance-pill,
    .journey-response .leg-details p.social-distance-pill.static,
    .journey-response .leg-description.timetable p.social-distance-pill,
    .journey-response .leg-description.timetable p.social-distance-pill.static {
        width: 154px;
        border-radius: 14px;
        font-size: 14px !important;
        line-height: 20px !important;
        background-size: 32px 16px;
        background-position: 6px 4px;
        margin-bottom: 5px !important;
        text-indent: 4px;
    }

    .journey-response .leg-details p.social-distance-pill.static a, 
    .journey-response .leg-description.timetable p.social-distance-pill.static a {
        position: relative;
        padding-right: 14px;
    }
}
@media screen and (min-width: 320px) and (max-width: 480px) {
    .journey-response .journey-summaries table tbody tr.journey-details td div.leg-details.smr {
        width: calc(100% - 2px);
    }
}

@media screen and (min-width: 481px) {
    .journey-response .journey-summaries table tbody tr.journey-details td div.leg-details.smr {
        border: 2px solid var(--tvl-darkblue) !important;
        width: calc(100% - 4px);
    }
    .journey-response .leg-details div.smj {
        border-top-width: 2px !important;
    }
    .journey-response #timetables-list.journey-summaries table tbody tr.smt td {
        border-width: 2px !important;
    }
}

@media screen and (max-width: 599px) and (min-width: 480px) {
    .journey-response div.leg-description.smt p a,
    .journey-response #timetables-list.journey-summaries table tbody tr.smt td p,
    .journey-response #timetables-list.journey-summaries table tbody tr.smt td a,
    .journey-response .journey-summaries table tbody tr.journey-details td div.leg-details .leg-description p + a, 
    .journey-response div.leg-description.smt a, .journey-response #timetables-list.journey-summaries table tbody tr.smt td a {
        font-size: 14px !important;
    }

    .journey-response div.leg-description.smt p a i,
    .journey-response #timetables-list.journey-summaries table tbody tr.smt td a i {

    }

    .journey-response .leg-details p.social-distance-pill:before,
    .journey-response .leg-description.timetable p.social-distance-pill:before {
        left: 144px;
        top: 5px;
    }
}

@media screen and (max-width: 799px) and (min-width: 600px) {
    .journey-response div.leg-description.smt p a,
    .journey-response #timetables-list.journey-summaries table tbody tr.smt td p,
    .journey-response #timetables-list.journey-summaries table tbody tr.smt td a,
    .journey-response .journey-summaries table tbody tr.journey-details td div.leg-details .leg-description p + a, 
    .journey-response div.leg-description.smt a, .journey-response #timetables-list.journey-summaries table tbody tr.smt td a {
        /* font-size: 15px !important; */
    }

    .journey-response div.leg-description.smt p a i,
    .journey-response #timetables-list.journey-summaries table tbody tr.smt td a i {
        top: 7px !important;
        right: -5px !important;
    }

    .journey-response .leg-details p.social-distance-pill:before,
    .journey-response .leg-description.timetable p.social-distance-pill:before {
        left: 144px;
        top: 5px;
    }
}

@media screen and (min-width: 799px) {
    .journey-response div.leg-description.smt p a,
    .journey-response #timetables-list.journey-summaries table tbody tr.smt td p,
    .journey-response #timetables-list.journey-summaries table tbody tr.smt td a,
    .journey-response .journey-summaries table tbody tr.journey-details td div.leg-details .leg-description p + a, 
    .journey-response div.leg-description.smt a, .journey-response #timetables-list.journey-summaries table tbody tr.smt td a {
        /* font-size: 16px !important; */
        /* font-size: 14px; */
    }

    .journey-response div.leg-description.smt p a i,
    .journey-response #timetables-list.journey-summaries table tbody tr.smt td a i {
        top: 7px !important;
        right: -5px !important;
    }

    .journey-response .leg-details p.social-distance-pill:before,
    .journey-response .leg-description.timetable p.social-distance-pill:before {
        left: 144px;
        top: 4px;
    }
} 
/* TESTING */
.journey-response div.leg-description.smt a, .journey-response #timetables-list.journey-summaries table tbody tr.smt td a {
    font-size: 14px!important;
}
.green {
    color: var(--tvl-green);
}