<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon/icomoon.eot?anrtnd');
  src:  url('fonts/icomoon/icomoon.eot?anrtnd#iefix') format('embedded-opentype'),
    url('fonts/icomoon/icomoon.ttf?anrtnd') format('truetype'),
    url('fonts/icomoon/icomoon.woff?anrtnd') format('woff'),
    url('fonts/icomoon/icomoon.svg?anrtnd#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-pin2:before {
  content: "\E922";
}
.icon-parkandride:before {
  content: "\E920";
}
.icon-bus-stop:before {
  content: "\E921";
}
.icon-nextbike:before {
  content: "\E91F";
}
.icon-rail1:before {
  content: "\E91E";
}
.icon-arrow-right-thick:before {
  content: "\E900";
}
.icon-arrow-left-thick:before {
  content: "\E901";
}
.icon-cloud-storage:before {
  content: "\E902";
}
.icon-plane:before {
  content: "\E909";
}
.icon-walk:before {
  content: "\E90A";
}
.icon-bicycle:before {
  content: "\E90B";
}
.icon-user1:before {
  content: "\E90C";
}
.icon-accessibility:before {
  content: "\E90D";
}
.icon-bus:before {
  content: "\E90E";
}
.icon-train-bus:before {
  content: "\E90F";
}
.icon-pin1:before {
  content: "\E910";
}
.icon-refresh1:before {
  content: "\E911";
}
.icon-sign:before {
  content: "\E912";
}
.icon-tick:before {
  content: "\E913";
}
.icon-finger-converted:before {
  content: "\E903";
}
.icon-finger_wiggle-converted:before {
  content: "\E904";
}
.icon-instagram-alt:before {
  content: "\E618";
}
.icon-share:before {
  content: "s";
}
.icon-chat:before {
  content: "\E623";
}
.icon-camera:before {
  content: "c";
}
.icon-screen:before {
  content: "&amp;";
}
.icon-basket:before {
  content: "b";
}
.icon-piechart:before {
  content: "o";
}
.icon-refresh:before {
  content: "r";
}
.icon-categories:before {
  content: "`";
}
.icon-download:before {
  content: "d";
}
.icon-upload:before {
  content: "f";
}
.icon-facebook:before {
  content: "\E60C";
}
.icon-tumblr:before {
  content: "\E624";
}
.icon-tumblr-alt:before {
  content: "\E619";
}
.icon-ticket:before {
  content: "~";
}
.icon-lightning:before {
  content: "1";
}
.icon-print:before {
  content: "2";
}
.icon-megaphone:before {
  content: "6";
}
.icon-mobile:before {
  content: "M";
}
.icon-users:before {
  content: "G";
}
.icon-user:before {
  content: "U";
}
.icon-user-add:before {
  content: "u";
}
.icon-info:before {
  content: "i";
}
.icon-trophy:before {
  content: "7";
}
.icon-close:before {
  content: "\D7";
}
.icon-help:before {
  content: "?";
}
.icon-pinterest-alt:before {
  content: "\E603";
}
.icon-twitter-alt:before {
  content: "\E604";
}
.icon-facebook-alt:before {
  content: "\E605";
}
.icon-googleplus-alt:before {
  content: "\E606";
}
.icon-flickr-alt:before {
  content: "\E607";
}
.icon-vimeo-alt:before {
  content: "\E608";
}
.icon-flickr:before {
  content: "\E609";
}
.icon-vimeo:before {
  content: "\E60A";
}
.icon-twitter:before {
  content: "\E60B";
}
.icon-googleplus:before {
  content: "\E60D";
}
.icon-pinterest:before {
  content: "\E60E";
}
.icon-linkedin:before {
  content: "\E60F";
}
.icon-Download:before {
  content: "\E918";
}
.icon-sun:before {
  content: "\E919";
}
.icon-moon:before {
  content: "\E91B";
}
.icon-wheelchair:before {
  content: "\E91A";
}
.icon-loopback:before {
  content: "\E91C";
}
.icon-mouse:before {
  content: "W";
}
.icon-alarm:before {
  content: "a";
}
.icon-image:before {
  content: "I";
}
.icon-youtube:before {
  content: "\E625";
}
.icon-book:before {
  content: "{";
}
.icon-list:before {
  content: "l";
}
.icon-profile:before {
  content: "q";
}
.icon-card:before {
  content: "[";
}
.icon-tools:before {
  content: ";";
}
.icon-stats:before {
  content: "_";
}
.icon-gift:before {
  content: "g";
}
.icon-drink:before {
  content: ")";
}
.icon-food:before {
  content: "(";
}
.icon-dashboard:before {
  content: "9";
}
.icon-play:before {
  content: "4";
}
.icon-warning:before {
  content: "!";
}
.icon-speech:before {
  content: "\"";
}
.icon-padlock:before {
  content: "L";
}
.icon-calendar:before {
  content: "C";
}
.icon-clock:before {
  content: "$";
}
.icon-search:before {
  content: "%";
}
.icon-check-alt:before {
  content: "=";
}
.icon-cloud:before {
  content: "3";
}
.icon-attachment:before {
  content: "A";
}
.icon-trash:before {
  content: "B";
}
.icon-envelope:before {
  content: "@";
}
.icon-document:before {
  content: "D";
}
.icon-eye:before {
  content: "E";
}
.icon-folder:before {
  content: "F";
}
.icon-key:before {
  content: "K";
}
.icon-location:before {
  content: "P";
}
.icon-phone:before {
  content: "#";
}
.icon-loop:before {
  content: "R";
}
.icon-settings:before {
  content: "S";
}
.icon-tag:before {
  content: "T";
}
.icon-busy:before {
  content: "8";
}
.icon-cross-alt:before {
  content: "X";
}
.icon-pencil:before {
  content: "e";
}
.icon-rocket:before {
  content: "\A3";
}
.icon-check:before {
  content: "/";
}
.icon-plus-alt:before {
  content: "+";
}
.icon-minus-alt:before {
  content: "-";
}
.icon-office:before {
  content: "O";
}
.icon-arrow-right:before {
  content: "&gt;";
}
.icon-arrow-up:before {
  content: "^";
}
.icon-arrow-down:before {
  content: "v";
}
.icon-arrow-left:before {
  content: "&lt;";
}
.icon-star:before {
  content: "*";
}
.icon-linkedin-alt:before {
  content: "\E601";
}
.icon-play-alt:before {
  content: "\E602";
}
.icon-mail-alt:before {
  content: "\E600";
}
.icon-handle:before {
  content: "\AC";
}
.icon-facebook2:before {
  content: "\E905";
}
.icon-rail:before {
  content: "\E906";
}
.icon-circle-bang:before {
  content: "\E907";
}
.icon-bus-long:before {
  content: "\E908";
}
.icon-truck:before {
  content: "t";
}
.icon-caret-left:before {
  content: "\25C0";
}
.icon-sort:before {
  content: "|";
}
.icon-caret-right:before {
  content: "\25B6";
}
.icon-caret-up:before {
  content: "\25B2";
}
.icon-caret-down:before {
  content: "\25BC";
}
.icon-pin:before {
  content: "p";
}
.icon-home:before {
  content: "H";
}
.icon-heart:before {
  content: "0";
}
.icon-tfw:before {
  content: "\E914";
}
.icon-train:before {
  content: "\E915";
}
.icon-arrow-down-thick:before {
  content: "\E916";
}
.icon-arrow-up-thick:before {
  content: "\E917";
}
.icon-heart-outline:before {
  content: "\E91D";
}
@charset "UTF-8";
/* Default body text size*/
/* Title font */
/* Base font */
/* Devices */
/* Base colors */
/* Form colors */
@font-face {
  font-family: "Wales Sans Body";
  src: url("fonts/walessans/wales-sans-body-regular-web.eot");
  src: url("fonts/walessans/wales-sans-body-regular-web.eot?#iefix") format("embedded-opentype"), url("fonts/walessans/wales-sans-body-regular-web.woff2") format("woff2"), url("fonts/walessans/wales-sans-body-regular-web.woff") format("woff"), url("fonts/walessans/wales-sans-body-regular-web.ttf") format("truetype"), url("fonts/walessans/wales-sans-body-regular-web.svg#walessans") format("svg");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Wales Sans Body";
  src: url("fonts/walessans/wales-sans-body-regular-italic-web.eot");
  src: url("fonts/walessans/wales-sans-body-regular-italic-web.eot?#iefix") format("embedded-opentype"), url("fonts/walessans/wales-sans-body-regular-italic-web.woff2") format("woff2"), url("fonts/walessans/wales-sans-body-regular-italic-web.woff") format("woff"), url("fonts/walessans/wales-sans-body-regular-italic-web.ttf") format("truetype"), url("fonts/walessans/wales-sans-body-regular-italic-web.svg#walessans") format("svg");
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: "Wales Sans Body";
  src: url("fonts/walessans/wales-sans-body-light-web.eot");
  src: url("fonts/walessans/wales-sans-body-light-web.eot?#iefix") format("embedded-opentype"), url("fonts/walessans/wales-sans-body-light-web.woff2") format("woff2"), url("fonts/walessans/wales-sans-body-light-web.woff") format("woff"), url("fonts/walessans/wales-sans-body-light-web.ttf") format("truetype"), url("fonts/walessans/wales-sans-body-light-web.svg#walessans") format("svg");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Wales Sans Body";
  src: url("fonts/walessans/wales-sans-body-light-italic-web.eot");
  src: url("fonts/walessans/wales-sans-body-light-italic-web.eot?#iefix") format("embedded-opentype"), url("fonts/walessans/wales-sans-body-light-italic-web.woff2") format("woff2"), url("fonts/walessans/wales-sans-body-light-italic-web.woff") format("woff"), url("fonts/walessans/wales-sans-body-light-italic-web.ttf") format("truetype"), url("fonts/walessans/wales-sans-body-light-italic-web.svg#walessans") format("svg");
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: "Wales Sans Body";
  src: url("fonts/walessans/wales-sans-body-medium-web.eot");
  src: url("fonts/walessans/wales-sans-body-medium-web.eot?#iefix") format("embedded-opentype"), url("fonts/walessans/wales-sans-body-medium-web.woff2") format("woff2"), url("fonts/walessans/wales-sans-body-medium-web.woff") format("woff"), url("fonts/walessans/wales-sans-body-medium-web.ttf") format("truetype"), url("fonts/walessans/wales-sans-body-medium-web.svg#walessans") format("svg");
  font-weight: 500;
  font-style: normal;
}
/*=======================================
HELPERS
=======================================*/
img {
  max-width: 100%;
  height: auto;
}

/* text-sizes */
body.text-small {
  font-size: 0.9375rem;
}
body.text-medium {
  font-size: 1.125rem;
}
body.text-large {
  font-size: 1.375rem;
}
body .fw-medium {
  font-weight: 500 !important;
}
body .fw-regular {
  font-weight: 400 !important;
}

.image-rounded {
  border-radius: 20px;
  overflow: hidden;
}

.spaced {
  margin-bottom: 20px !important;
}

.confined {
  overflow: hidden !important;
}

.padded {
  padding: 20px !important;
}

.shaded {
  background-color: #f5f5f5 !important;
}

.clear {
  clear: both !important;
  float: none !important;
}

.alignright {
  float: right !important;
}

.alignleft {
  float: left !important;
}

.aligncenter {
  text-align: center !important;
}

.underlined {
  text-decoration: none !important;
  padding-bottom: 0.3em !important;
  border-bottom: 1px dotted #0088CC !important;
}

.underlined:hover {
  border-bottom: 1px solid #005580 !important;
}

.nofloat {
  float: none !important;
  margin-left: 0 !important;
}

.inline {
  display: inline !important;
}

.row.no-gutters {
  margin-right: 0;
  margin-left: 0;
}

.row.no-gutters [class^=col-],
.row.no-gutters [class*=" col-"] {
  padding-right: 0;
  padding-left: 0;
}

.notification-link::before, .timetable-summary-route li:not(:first-child)::before, .timetable-result.__changing a::after, .timetable-results li a::before, .timetable-warning-text::before, .tabbar-tab::before, .map-tab::after, .accountbutton::before, .header-phone::before, .header-tfw::before, .button-scroll::before {
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
}

.hidden {
  display: none;
}

/*=======================================
BUTTONS
=======================================*/
.button, .timetable-disruption-button, .modalblock-close,
.modalblock-submit, .journey-planner-bar .submit_wrap button, .bus-stop-search button, .traveline_plus_content form button,
.submit_wrap button {
  align-items: center;
  background-color: #ae1c0f;
  border: none;
  border-radius: 10px;
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.14), 0px 1px 5px rgba(0, 0, 0, 0.12);
  color: white;
  display: flex;
  flex-direction: column;
  font-size: 0.875rem;
  justify-content: center;
  padding: 15px;
  text-align: center;
  transition: 0.3s ease all;
  text-decoration: underline;
  -webkit-text-decoration-color: transparent;
          text-decoration-color: transparent;
}
.button:hover, .timetable-disruption-button:hover, .modalblock-close:hover,
.modalblock-submit:hover, .bus-stop-search button:hover, .traveline_plus_content form button:hover, .button:focus, .timetable-disruption-button:focus, .modalblock-close:focus,
.modalblock-submit:focus, .bus-stop-search button:focus, .traveline_plus_content form button:focus, .button:active, .timetable-disruption-button:active, .modalblock-close:active,
.modalblock-submit:active, .bus-stop-search button:active, .traveline_plus_content form button:active,
.submit_wrap button:hover,
.submit_wrap button:focus,
.submit_wrap button:active {
  background-color: #7f140b;
  color: white;
  -webkit-text-decoration-color: white;
          text-decoration-color: white;
}
.button.__inline, .__inline.timetable-disruption-button, .__inline.modalblock-close,
.__inline.modalblock-submit, .bus-stop-search button.__inline, .traveline_plus_content form button.__inline,
.submit_wrap button.__inline {
  display: inline-flex;
  padding-left: 22px;
  padding-right: 22px;
}
.button.__outline, .__outline.timetable-disruption-button, .__outline.modalblock-close,
.__outline.modalblock-submit, .bus-stop-search button.__outline, .traveline_plus_content form button.__outline,
.submit_wrap button.__outline {
  background-color: transparent;
  box-shadow: inset 0 0 0 2px #ae1c0f;
  color: #ae1c0f;
  font-size: 1.125rem;
  padding: 10px 22px;
}
.button.__outline:hover, .__outline.timetable-disruption-button:hover, .__outline.modalblock-close:hover,
.__outline.modalblock-submit:hover, .bus-stop-search button.__outline:hover, .traveline_plus_content form button.__outline:hover, .button.__outline:focus, .__outline.timetable-disruption-button:focus, .__outline.modalblock-close:focus,
.__outline.modalblock-submit:focus, .bus-stop-search button.__outline:focus, .traveline_plus_content form button.__outline:focus, .button.__outline:active, .__outline.timetable-disruption-button:active, .__outline.modalblock-close:active,
.__outline.modalblock-submit:active, .bus-stop-search button.__outline:active, .traveline_plus_content form button.__outline:active,
.submit_wrap button.__outline:hover,
.submit_wrap button.__outline:focus,
.submit_wrap button.__outline:active {
  color: white;
  background-color: #ae1c0f;
}
.button.__small, .__small.timetable-disruption-button, .__small.modalblock-close,
.__small.modalblock-submit, .bus-stop-search button.__small, .traveline_plus_content form button.__small,
.submit_wrap button.__small {
  padding: 10px 22px;
}

.button-scroll {
  border: 0;
  background-color: transparent;
  color: white;
  position: relative;
  padding-left: 40px;
  font-size: 0.875rem;
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .button-scroll {
    padding-left: 50px;
    margin-bottom: 10px;
  }
}
@media (min-width: 992px) {
  .button-scroll {
    margin-bottom: 55px;
  }
}
.button-scroll::before {
  content: "\E917";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  border-radius: 20px;
  color: #333333;
  background-color: white;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .button-scroll::before {
    width: 40px;
    height: 40px;
  }
}

button {
  cursor: pointer;
}

.submit_wrap button {
  width: 100%;
}

.button i, .timetable-disruption-button i, .modalblock-close i,
.modalblock-submit i, .journey-planner-bar .submit_wrap button i, .bus-stop-search button i, .traveline_plus_content form button i {
  font-size: 1.25rem;
}

.button i.iconleft, .timetable-disruption-button i.iconleft, .modalblock-close i.iconleft,
.modalblock-submit i.iconleft, .journey-planner-bar .submit_wrap button i.iconleft, .bus-stop-search button i.iconleft, .traveline_plus_content form button i.iconleft,
.button.iconleft i,
.iconleft.timetable-disruption-button i,
.iconleft.modalblock-close i,
.iconleft.modalblock-submit i,
.journey-planner-bar .submit_wrap button.iconleft i,
.bus-stop-search button.iconleft i,
.traveline_plus_content form button.iconleft i {
  display: inline-block;
  margin: 0 0px 0 -5px;
}

.button i.iconright, .timetable-disruption-button i.iconright, .modalblock-close i.iconright,
.modalblock-submit i.iconright, .journey-planner-bar .submit_wrap button i.iconright, .bus-stop-search button i.iconright, .traveline_plus_content form button i.iconright,
.button.iconright i,
.iconright.timetable-disruption-button i,
.iconright.modalblock-close i,
.iconright.modalblock-submit i,
.journey-planner-bar .submit_wrap button.iconright i,
.bus-stop-search button.iconright i,
.traveline_plus_content form button.iconright i {
  display: inline-block;
  margin: 0 -5px 0 0px;
}

.button.joinleft, .joinleft.timetable-disruption-button, .joinleft.modalblock-close,
.joinleft.modalblock-submit, .journey-planner-bar .submit_wrap button.joinleft, .bus-stop-search button.joinleft, .traveline_plus_content form button.joinleft {
  margin-left: 1px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.button.joinright, .joinright.timetable-disruption-button, .joinright.modalblock-close,
.joinright.modalblock-submit, .journey-planner-bar .submit_wrap button.joinright, .bus-stop-search button.joinright, .traveline_plus_content form button.joinright {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.button.jointop, .jointop.timetable-disruption-button, .jointop.modalblock-close,
.jointop.modalblock-submit, .journey-planner-bar .submit_wrap button.jointop, .bus-stop-search button.jointop, .traveline_plus_content form button.jointop {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}

.button.joinbottom, .joinbottom.timetable-disruption-button, .joinbottom.modalblock-close,
.joinbottom.modalblock-submit, .journey-planner-bar .submit_wrap button.joinbottom, .bus-stop-search button.joinbottom, .traveline_plus_content form button.joinbottom {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.button.small, .small.timetable-disruption-button, .small.modalblock-close,
.small.modalblock-submit, .journey-planner-bar .submit_wrap button.small, .bus-stop-search button.small, .traveline_plus_content form button.small {
  padding: 0 18px;
  line-height: 34px;
  font-size: 0.9em;
}

.button.alternate, .alternate.timetable-disruption-button, .alternate.modalblock-close,
.alternate.modalblock-submit, .journey-planner-bar .submit_wrap button.alternate, .bus-stop-search button.alternate, .traveline_plus_content form button.alternate,
.button.alternate:focus {
  display: block;
  margin: 0 0 20px 0;
  padding: 13px 16px;
  color: #2E3638;
  text-align: center;
  font-size: 1.1em;
  line-height: 1.8em;
  font-weight: medium;
  background: #1ab3aa;
}

.button.alternate:hover, .alternate.timetable-disruption-button:hover, .alternate.modalblock-close:hover,
.alternate.modalblock-submit:hover, .journey-planner-bar .submit_wrap button.alternate:hover, .bus-stop-search button.alternate:hover, .traveline_plus_content form button.alternate:hover {
  color: white;
  background: #0F7B76;
}

@media (min-width: 768px) {
  .button.alternate, .alternate.timetable-disruption-button, .alternate.modalblock-close,
.alternate.modalblock-submit, .journey-planner-bar .submit_wrap button.alternate, .bus-stop-search button.alternate, .traveline_plus_content form button.alternate,
.button.alternate:focus {
    font-weight: medium;
  }
}
@-moz-document url-prefix() {
  .bus-stop-search button {
    margin: 1px 0 0 0;
  }
}
.back-button {
  display: inline-block;
  margin: 15px 0;
  padding: 10px 25px;
  font-size: 1rem;
  background: #ae1c0f;
  color: white;
}

.back-button:hover {
  background: rgba(224, 51, 77, 0.8);
  color: white;
}

.back-button.__news {
  display: inline-block;
  margin: 15px 0;
  padding: 10px 25px;
  background: #1ab3aa;
  color: white;
}

.back-button.__news:hover {
  background: rgba(26, 179, 170, 0.8);
  color: white;
}

/*=======================================
BUTTON DEPRECATED
=======================================*/
.button-deprecated {
  position: relative;
  display: block;
  width: 100%;
  margin: 0 auto 20px auto;
  background: #f99d16;
  border: 0;
  border-radius: 3px;
  color: #333333;
  text-align: center;
  font-size: 1.2em;
  font-weight: 700;
  box-shadow: 0 4px 0 0 #d68206;
}

.button-deprecated:hover {
  background: #F99D16;
  top: 2px;
  color: #333333;
  box-shadow: 0 2px 0 0 #d68206;
}

.button-deprecated:active {
  top: 4px;
  box-shadow: 0 0 0 0 #d68206;
}

.button-deprecated i {
  margin: 0 5px 0 0;
}

.buttonnew {
  position: relative;
  padding: 16px 28px;
  background-color: transparent;
}
.buttonnew span {
  font-weight: 700;
  color: #2E3638;
  position: relative;
  z-index: 2;
}
.buttonnew:hover::after {
  width: 100%;
}
.buttonnew::before {
  content: "";
  z-index: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #1EBDAE;
}
.buttonnew::after {
  content: "";
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background-color: #64D8CD;
  transition: all 0.3s ease;
}

.buttonaltnew {
  position: relative;
  display: inline-block;
  border: 2px solid #2E3638;
  padding: 17px 25px;
  background-color: white;
  color: #2E3638;
  font-weight: 700;
}
.buttonaltnew:hover {
  border: 2px solid #C31D36;
  color: #C31D36;
}
.buttonaltnew:hover i {
  color: #C31D36;
}
.buttonaltnew:focus {
  border: 2px solid #C31D36;
  color: #C31D36;
}
.buttonaltnew:focus i {
  color: #C31D36;
}
.buttonaltnew i {
  color: #2E3638;
}

/*=======================================
HEADER
=======================================*/
.header {
  position: relative;
  z-index: 9999;
}
.header-navbar {
  background-color: transparent;
  position: relative;
  display: none;
}
@media (min-width: 768px) {
  .header-navbar {
    margin-bottom: -24px;
    display: block;
  }
}
.header-navbar::before {
  position: absolute;
  height: 50%;
  width: 100%;
  background-color: #ae1c0f;
}
@media (min-width: 768px) {
  .header-navbar::before {
    content: "";
  }
}
.header-navbar-mobile {
  background-color: #ae1c0f;
}
@media (min-width: 768px) {
  .header-navbar-mobile {
    display: none;
  }
}
.header-main {
  background-color: #ae1c0f;
  display: none;
}
@media (min-width: 768px) {
  .header-main {
    display: flex;
  }
}
.header-logo {
  padding: 0;
  display: none;
  text-align: left;
  margin: 0 0 35px 0;
  color: white;
}
.header-logo:hover, .header-logo:focus, .header-logo:active {
  color: white;
}
@media (min-width: 768px) {
  .header-logo {
    display: flex;
    flex-direction: row;
    font-weight: 500;
    align-items: center;
  }
  .header-logo img {
    height: 50px;
  }
}
.header-logomobile {
  display: flex;
  height: 100%;
  text-align: left;
  color: white;
  align-items: center;
}
.header-logomobile img {
  height: 28px;
}
.header-logomobile:hover, .header-logomobile:focus, .header-logomobile:active {
  color: white;
}
.header-logomobile-heading {
  font-size: 14px;
  line-height: 1.184;
  display: block;
  font-weight: 500;
}
.header-meta {
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  padding: 0 0 24px 0;
}
.header-tfw {
  display: flex;
  align-items: center;
  margin: 0;
}
.header-tfw::before {
  content: "\E914";
  font-size: 22px;
  margin-right: 13px;
}
@media (min-width: 768px) {
  .header-tfw::before {
    font-size: 31px;
  }
}
.header-phone {
  color: white;
  text-align: right;
  font-weight: 500;
  margin: 0;
  align-items: center;
  display: flex;
}
.header-phone::before {
  content: "#";
  font-size: 18px;
  margin-right: 13px;
}
.header-phone a {
  color: white;
}
.header-opts {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  position: relative;
  height: 100%;
  margin-right: -15px;
}

.accountbutton {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 20px;
  border: 2px solid transparent;
  transition: 0.3s ease all;
}
.accountbutton:hover, .accountbutton:focus, .accountbutton:active {
  border-color: white;
  text-decoration: none;
}
@media (min-width: 768px) {
  .accountbutton:hover, .accountbutton:focus, .accountbutton:active {
    text-decoration: underline;
    -webkit-text-decoration-color: white;
            text-decoration-color: white;
  }
}
@media (min-width: 768px) {
  .accountbutton {
    width: auto;
    height: auto;
    border: 0 solid transparent;
  }
}
.accountbutton::before {
  content: "\E90C";
  color: white;
  font-size: 20px;
}
@media (min-width: 768px) {
  .accountbutton::before {
    content: none;
  }
}

/* texts */
h1,
.h1,
.timetable-results-title {
  margin: 0 0 0.5em 0;
  font-size: 1.75rem;
  line-height: 1.1428;
  color: #ae1c0f;
  font-weight: 500;
}

h2,
.h2 {
  margin: 0 0 0.5em 0;
  font-size: 1.25rem;
  line-height: 1.4;
  color: #ae1c0f;
  font-weight: 500;
}

h3,
.h3 {
  margin: 0 0 0.7em 0;
  font-size: 1.125rem;
  line-height: 1.55;
  color: #ae1c0f;
  font-weight: 500;
}

h4,
.h4 {
  margin: 0 0 1em 0;
  font-size: 1rem;
  line-height: 1.75;
  color: #ae1c0f;
  font-weight: 500;
}

h5,
.h5 {
  margin: 0 0 1em 0;
  font-size: 1rem;
  line-height: 1.75;
  color: #ae1c0f;
  font-weight: 500;
}

p {
  margin: 0 0 10px 0;
}

.anchor {
  border: 0;
  background: none;
  padding: 0;
}

.anchor,
a {
  color: #003da6;
  text-decoration: none;
}
.anchor:hover, .anchor:focus,
a:hover,
a:focus {
  text-decoration: underline;
}

hr {
  border-top-color: #e5e5e5;
  clear: both;
}

ol,
ul {
  margin: 0;
  padding: 0;
  list-style: none;
  padding: 0;
}

b,
strong {
  font-weight: 500;
}

/*=======================================
USERCONTENT
=======================================*/
.usercontent p {
  margin: 0 0 1em 0;
  line-height: 1.7em;
}
.usercontent a:not(.button):not(.timetable-disruption-button):not(.modalblock-close):not(.modalblock-submit) {
  color: #003da6;
  text-decoration: underline;
  -webkit-text-decoration-color: transparent;
          text-decoration-color: transparent;
  transition: 0.3s ease all;
}
.usercontent a:not(.button):not(.timetable-disruption-button):not(.modalblock-close):not(.modalblock-submit):hover, .usercontent a:not(.button):not(.timetable-disruption-button):not(.modalblock-close):not(.modalblock-submit):focus, .usercontent a:not(.button):not(.timetable-disruption-button):not(.modalblock-close):not(.modalblock-submit):active {
  -webkit-text-decoration-color: #003da6;
          text-decoration-color: #003da6;
}
.usercontent .button, .usercontent .timetable-disruption-button, .usercontent .modalblock-close,
.usercontent .modalblock-submit, .usercontent .journey-planner-bar .submit_wrap button, .journey-planner-bar .submit_wrap .usercontent button, .usercontent .bus-stop-search button, .bus-stop-search .usercontent button, .usercontent .traveline_plus_content form button, .traveline_plus_content form .usercontent button {
  display: inline-flex;
  padding-left: 22px;
  padding-right: 22px;
}
.usercontent pre {
  margin: 20px 0 40px 0;
  padding: 20px 20px;
  background: none;
  border-right: none;
  border-left: none;
  border-radius: 0;
  font-family: "Lato", sans-serif;
  font-size: 2.3em;
  font-weight: 300;
  word-break: normal;
  word-wrap: normal;
  white-space: normal;
}
.usercontent pre:before {
  content: '"';
  font-family: "Lato", sans-serif;
}
.usercontent pre:after {
  content: '"';
  font-family: "Lato", sans-serif;
}
.usercontent pre + address {
  margin: -53px 0 0 0;
  padding: 0 0 0 10px;
  background: white;
  display: inline-block;
  font-family: "Lato", sans-serif;
  font-weight: 500;
  font-size: 1.2em;
  float: right;
}
.usercontent ul {
  margin: 0 0 1.4em 0;
  padding: 0;
  list-style-type: none;
  line-height: 1.5em;
}
.usercontent ul li {
  position: relative;
  margin: 0 0 10px 0;
  padding-left: 15px;
  transition: all 0.3s ease;
}
.usercontent ul li::before {
  content: "";
  width: 5px;
  height: 5px;
  position: absolute;
  left: 0;
  background-color: #333333;
  display: block;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 100px;
}

/*=======================================
FORMS
=======================================*/
form {
  margin: 0;
}

label {
  font-weight: 500;
  color: #2E3638;
  cursor: pointer;
}

input[type=text],
input[type=password],
input[type=email],
input[type=number],
textarea,
select {
  width: 100%;
  height: 38px;
  margin: 0;
  padding: 5px 10px;
  font-size: 1em;
  color: #666;
  background: white;
  border: 1px solid #cccccc;
  border-radius: 3px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

input[type=radio],
input[type=checkbox] {
  margin: 0 10px 0 0;
  accent-color: #ae1c0f;
}

input[type=file] {
  padding: 10px;
  border: 1px dashed #bbb;
}

.field_wrap {
  margin: 0 0 6px 0;
}
.field_wrap::after {
  content: "";
  display: table;
  clear: both;
}

.input_wrap &gt; label &gt; a {
  text-decoration: underline;
}
.input_wrap.dateselect select {
  width: 32%;
}
.input_wrap.checkboxes &gt; label {
  display: block;
}
.input_wrap.radiobuttons &gt; label {
  display: block;
  float: left;
  margin: 0 20px 0 0;
}

.submit_wrap {
  margin: 20px 0 0 0;
}

fieldset {
  padding: 10px;
  border: 1px solid #ddd;
}
fieldset legend {
  display: inline-block;
  width: auto;
  margin: 0 0 -5px 0;
  padding: 0 5px;
  border: none;
  font-size: 1em;
  font-weight: normal;
}
fieldset .field_wrap {
  margin: 0;
}

.repeater_wrap {
  margin: 0 0 20px 0;
}

.repeater_item {
  margin: 0 -10px 5px -10px;
  padding: 0 10px 20px 10px;
  border-bottom: 1px solid #ddd;
}
.repeater_item .field_wrap {
  margin: 5px 0 0 0;
  overflow: hidden;
}
.repeater_item .label_wrap {
  float: left;
  width: 30%;
}
.repeater_item .input_wrap {
  float: left;
  width: 70%;
}

.repeater_controls {
  margin: 0 0 -5px 0;
}

label.error {
  color: #ae1c0f;
}

input.error {
  border: 1px solid #ff3333;
  background: url("../images/ico-error.png") no-repeat 99% center #ffefef;
  padding-right: 25px;
}

input[type=number].error {
  background-position: 88% center;
}

textarea.error {
  border: 1px solid #ff3333;
  background: url("../images/ico-error.png") no-repeat 99% 20px #ffefef;
}

select.error {
  border: 1px solid #ff3333;
  background: #ffefef;
}

.error_feedback {
  margin: 1em 0;
  background: #ffe7e8;
  padding: 15px;
  border: 1px solid #ff3333;
}
.error_feedback ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.error_feedback ul li {
  margin: 0;
  padding: 0 0 0 25px;
  color: #ae1c0f;
  background: url("../images/ico-error.png") no-repeat 0 6px;
}

i.disruption-icon {
  color: #f99d16;
}

.traveline_plus_content form label {
  margin-top: 10px;
}
.traveline_plus_content form textarea {
  min-height: 100px;
}
.traveline_plus_content form button {
  padding: 15px 22px;
}

/*=======================================
FOOTER
=======================================*/
.footer {
  background-color: #333333;
  color: white;
}
.footer-upper {
  padding: 20px 0;
}
.footer-mid {
  padding: 0 0 20px 0;
  margin: 0 0 20px 0;
  border-bottom: 1px solid #666666;
}
@media (min-width: 768px) {
  .footer-mid {
    padding: 33px 0;
    border: 0;
  }
}
.footer-lower .footer-copy {
  font-size: 0.875rem;
  width: 100%;
  margin: 0 0 20px 0;
}
@media (min-width: 768px) {
  .footer-lower .footer-copy {
    margin: 0 0 10px 0;
  }
}
.footer .underlinks ul li:not(:last-child) {
  margin-bottom: 8px;
}
.footer .underlinks a {
  color: white;
  font-weight: 400;
}

/*=======================================
HOME BANNER
=======================================*/
.home-banner {
  position: relative;
  min-height: 578px;
  background: #ae1c0f url("/images/home-banner.png") center bottom no-repeat;
  /*background: $color-red-aa url('/images/banner_landscape_red.png') center bottom no-repeat;*/
  /* background: $color-red-aa url('/images/home-banner-xmas.png') center bottom no-repeat; */
  /*background: $color-red-aa url('/images/banner_landscape_red.png') center bottom no-repeat; */
  background-size: contain;
  display: block;
}
@media (max-width: 767px) {
  .home-banner {
    padding: 20px 0 0 0;
    display: none;
  }
}
.home-banner-title {
  padding: 110px 110px 35px 110px;
  font-weight: 700;
  color: white;
  line-height: 1.3em;
}
@media (max-width: 1199px) {
  .home-banner-title {
    padding: 110px 85px 35px 85px;
  }
}
@media (max-width: 991px) {
  .home-banner-title {
    padding: 110px 50px 35px 50px;
  }
}
@media (max-width: 767px) {
  .home-banner-title {
    padding: 45px 5px;
    text-align: center;
  }
}

.homebannerwrap {
  display: flex;
  flex-direction: column;
  padding-top: 20px;
}
@media (min-width: 768px) {
  .homebannerwrap {
    padding-top: 86px;
    flex-direction: row;
  }
}

.homewrap {
  background-image: url("/images/bg-homepage.png");
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: contain;
  padding-bottom: 200px;
}

/*=======================================
PAGE BANNER
=======================================*/
.page-banner {
  margin: 0 0 15px 0;
  padding: 30px 0;
  background-color: #f5f5f5;
}
@media (min-width: 768px) {
  .page-banner {
    padding: 64px 0 40px 0;
    margin: 0 0 52px 0;
  }
}
.page-title {
  color: #000000;
  font-size: 1.875rem;
  font-weight: 500;
  margin: 0;
}
.page-description {
  font-size: 1.125rem;
  color: #000000;
}
.page-title + .page-description {
  padding-top: 10px;
}
.page-description a {
  color: white;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.page-description a:hover, .page-description a:focus, .page-description a:active {
  text-decoration: none;
}

/*=======================================
BANNER ALERT
=======================================*/
.alert-bar {
  background: #1ab3aa;
  padding: 11px 0;
  display: none;
}

.alert-bar:hover {
  background: rgba(26, 179, 170, 0.6);
}

.alert-bar a {
  color: #2E3638;
  line-height: 20px;
  font-weight: 700;
  display: block;
}

.alert-bar.dark {
  background: #fecd20;
}

.alert-bar.dark:hover {
  background: rgba(255, 205, 32, 0.6);
}

.alert-bar.dark a {
  line-height: 20px;
  color: #333333;
  font-weight: 500;
  display: block;
}

.alert-bar i.icon-info {
  color: #333333;
  font-size: 1.25rem;
  padding: 0 15px 0 0;
}

.view-map::before {
  content: "P ";
  font-family: "icomoon";
}

.view-fares::before {
  content: "\A3   ";
}

.view-map::before,
.view-fares::before {
  font-size: 1rem;
  color: #333333;
}

.view-map::before,
.view-fares::before {
  position: absolute;
  top: 0px;
}

.view-map::before {
  font-size: 0.875rem;
  left: 18px;
}

.view-fares::before {
  left: 22px;
}

.view-map,
.view-fares {
  position: relative;
}

.banner-community-transport {
  cursor: pointer;
  display: block;
  width: 100%;
  max-width: 697px;
  height: auto;
  background-color: white;
  margin-bottom: 20px;
  margin-right: 0px;
  margin-top: 15px;
  position: relative;
  padding: 30px 15px;
}

.banner-community-transport-col-title {
  color: #2E3638;
  font-size: 1.25rem;
  font-weight: 400;
}

.banner-community-transport-col-body {
  color: white;
  font-size: 1rem;
  margin: 0;
}

.banner-community-transport-col-body span {
  color: #FFCB31;
}

.banner-community-transport-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

@media (min-width: 768px) {
  .banner-community-transport {
    display: flex;
    margin-top: 0;
    padding: 0;
  }

  .banner-community-transport-col {
    padding: 30px;
  }

  .banner-community-transport-col:first-of-type {
    width: 70%;
  }

  .banner-community-transport-col-title {
    font-size: 1.25rem;
    margin: 0;
  }

  .banner-community-transport-col-text {
    font-size: 0.875rem;
    margin: 10px 0 0;
  }

  .banner-community-transport-col:last-of-type {
    width: 30%;
    padding: 20px;
  }
}
@media (min-width: 992px) {
  .banner-community-transport-col-title {
    font-size: 1.25rem;
  }

  .banner-community-transport-col-text {
    font-size: 0.875rem;
  }

  .banner-community-transport {
    margin-left: 53px;
    width: auto;
  }

  .banner-community-transport-col-body {
    font-size: 1.125rem;
  }
}
@media (min-width: 1200px) {
  .banner-community-transport-col-title {
    font-size: 1.5625rem;
  }

  .banner-community-transport-col-text {
    font-size: 1rem;
  }
}
.burger {
  display: inline-block;
  width: 44px;
  height: 44px;
  font-size: 0;
  background: transparent;
  color: white;
  border: none;
  z-index: 9999;
  cursor: pointer;
  transition: all 0.5s;
  position: relative;
}
.burger.__active .burger-toggle {
  background: transparent;
}
.burger.__active .burger-toggle::before {
  top: 0;
  transform: rotate(135deg);
}
.burger.__active .burger-toggle::after {
  bottom: 0;
  transform: rotate(225deg);
}

.burger-toggle {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 20px;
  height: 2px;
  background: white;
}
.burger-toggle::before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  background: white;
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  transition: transform 0.3s;
  top: -7px;
  transform: rotate(0);
}
.burger-toggle::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  background: white;
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  transition: transform 0.3s;
  bottom: -7px;
  transform: rotate(0);
}

.navwindow {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0);
  z-index: 5555;
  display: none;
  cursor: pointer;
  transition: all 0.2s;
}

.navwrap {
  position: fixed;
  top: 81px;
  right: -100%;
  bottom: 0;
  height: 100%;
  width: 100%;
  z-index: 8888;
  overflow: hidden;
  transition: all 0.5s;
}

.navwrap.__active {
  right: 0 !important;
}

@supports (-webkit-touch-callout: none) {
  .nav {
    -webkit-transform: translateZ(0);
  }
}
.nav {
  height: 100%;
  position: relative;
  width: 100%;
  overflow-y: scroll;
  transition: all 0.3s;
  background: #F0F0F0;
  text-align: left;
}
.nav ul {
  height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.nav ul &gt; li.menu-item {
  display: block;
  position: relative;
}
.nav ul &gt; li.menu-item a {
  display: block;
  font-size: 16px;
  color: #30383B;
  padding: 15px;
  position: relative;
  transition: all 0.3s;
  border-bottom: 1px solid #e8e8e8;
  font-weight: 500;
}
.nav ul &gt; li.menu-item-social {
  background: #D7D7D7;
  margin: 40px;
  padding: 15px;
  border-radius: 4px;
  color: #30383B;
  font-size: 16px;
  font-weight: 500;
  position: relative;
}
.nav ul &gt; li.menu-item-social .menu-item-social-twitter {
  position: absolute;
  top: 35%;
  right: 16px;
}
.nav ul &gt; li.menu-item-social .menu-item-social-twitter .icon-twitter::before {
  color: #30383B;
  background: white;
  padding: 6px;
  border-radius: 20px;
  font-size: 16px;
}
.nav ul &gt; li.menu-item-social .menu-item-social-facebook {
  position: absolute;
  top: 35%;
  right: 60px;
}
.nav ul &gt; li.menu-item-social .menu-item-social-facebook .icon-facebook2::before {
  color: #30383B;
  background: white;
  padding: 6px;
  border-radius: 20px;
  font-size: 16px;
}
.nav ul &gt; li.menu-item-has-children {
  position: relative;
}
.nav ul &gt; li.menu-item-has-children &gt; a::after {
  content: "&gt;";
  font-family: icomoon;
  font-size: 20px;
  color: #e8e8e8;
  position: absolute;
  top: 20%;
  right: 20px;
  transform: rotate(90deg);
}
.nav ul &gt; li.menu-item-has-children .subitems {
  display: none;
  background: #E5E5E4;
  padding: 10px 0 50px 0;
}
.nav ul &gt; li.menu-item-has-children .subitems-menuitem {
  padding: 0 15px;
}
.nav ul &gt; li.menu-item-has-children .subitems-menuitem a {
  display: block;
  font-size: 16px;
  padding: 15px 0;
  color: #30383B;
  position: relative;
  transition: all 0.3s;
  border-bottom: 1px solid #CFC6C6;
  font-weight: normal;
}
.nav ul &gt; li.menu-item-has-children .subitems.__active {
  display: block;
}
.nav ul &gt; li.menu-item-has-children.__active a {
  border-bottom: 1px solid #ae1c0f;
}
.nav ul &gt; li.menu-item-has-children.__active a::after {
  transform: rotate(270deg);
}

.mainmenu {
  margin: 0;
  padding: 0;
}
.mainmenu-wrap {
  display: none;
}
@media (min-width: 768px) {
  .mainmenu-wrap {
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.08);
    display: flex;
    padding: 0;
    text-align: right;
    justify-content: flex-start;
    background-color: #333333;
  }
}
@media (min-width: 768px) {
  .mainmenu li {
    position: relative;
    display: inline;
    padding: 0;
    z-index: 200;
  }
  .mainmenu li &gt; a {
    display: inline-block;
    margin: 0;
    padding: 10px 7px;
    line-height: normal;
    background: none;
    font-size: 16px;
    font-weight: 500;
    color: white;
    text-align: center;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .mainmenu li &gt; a {
    padding: 14px 22px;
    font-size: 0.9em;
  }
}
@media (min-width: 768px) {
  .mainmenu li:hover &gt; a {
    text-decoration: underline;
  }
  .mainmenu li:hover ul {
    display: block;
    height: auto;
    overflow: visible;
  }
}
@media (min-width: 768px) {
  .mainmenu li &gt; a:focus {
    text-decoration: underline;
  }
}
@media (min-width: 768px) {
  .mainmenu li &gt; a.selected {
    font-weight: 500;
    color: #333333;
    background-color: white;
  }
}
@media (min-width: 768px) {
  .mainmenu li ul {
    display: none;
    position: absolute;
    left: 0;
    right: 3px;
    margin: 0 0 0 0;
    min-width: 370px;
    display: block;
    height: 0;
    overflow: hidden;
  }
  .mainmenu li ul li {
    display: block;
    background: #30383b;
  }
  .mainmenu li ul li a {
    display: block;
    margin: 0;
    padding: 15px;
    background: #30383b;
    border-bottom: none;
    color: white;
    border-radius: 0;
    font-weight: 500;
    line-height: 1em;
    text-align: left;
    transition: all 0.3s;
    position: relative;
  }
  .mainmenu li ul li a::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: #ae1c0f;
    transition: all 0.3s;
    width: 4px;
    height: 0;
  }
  .mainmenu li ul li a:hover {
    color: white;
    background: #1F2527;
    border-color: #555;
    padding-left: 20px;
  }
  .mainmenu li ul li a:hover::before {
    height: 100%;
  }
  .mainmenu li ul li a:focus {
    color: white;
    background: #1F2527;
    border-color: #555;
    padding-left: 20px;
  }
  .mainmenu li ul li a:focus::before {
    height: 100%;
  }
  .mainmenu li ul li a.selected {
    color: white;
    background: #1F2527;
    border-color: #555;
    padding-left: 20px;
  }
  .mainmenu li ul li a.selected::before {
    height: 100%;
  }
}
@media (min-width: 768px) {
  .mainmenu li:last-child ul {
    left: auto;
    right: 0;
  }
}
@media (min-width: 768px) {
  .mainmenu li a:focus ~ ul {
    display: block;
    height: auto;
    overflow: visible;
  }
}
@media (min-width: 768px) {
  .mainmenu li.__active &gt; ul {
    display: block;
    height: auto;
    overflow: visible;
  }
}

.submenu-wrap {
  margin: 30px 0 10px 0;
  display: none;
}
.submenu-wrap li.page64 {
  display: none;
}
.submenu-wrap li.page9 {
  display: none;
}

@media (max-width: 767px) {
  .menu-respond a {
    display: block;
    line-height: 1em;
    color: #30383B;
  }
  .menu-respond .menu-toggle {
    display: block;
    line-height: 1em;
    color: #30383B;
    border: none;
    order: 1;
  }
  .menu-respond ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .menu-respond ul li {
    margin: 0;
    padding: 0;
  }
  .menu-respond ul li a {
    padding: 14px 14px;
    text-align: left;
  }
  .menu-respond ul li ul li a {
    display: block;
    background: rgba(224, 51, 77, 0.6);
    padding-left: 35px;
  }
  .menu-respond ul li ul li ul li a {
    padding-left: 60px;
    background: #bbb;
  }
  .menu-respond ul li &gt; a.selected {
    background: #ae1c0f;
  }

  .menu-collapse {
    display: none;
  }

  .menu-toggle {
    position: relative;
    padding: 18px 58px 18px 14px;
  }
  .menu-toggle:after {
    content: "\AC";
    font-family: "icomoon";
    position: absolute;
    right: 14px;
    top: 50%;
    margin-top: -16px;
    padding: 6px;
    background: rgba(255, 255, 255, 0.2);
    font-size: 24px;
    line-height: 24px;
    border-radius: 4px;
  }
}
@media (min-width: 768px) {
  .menu-toggle {
    display: none !important;
  }

  .menu-toggle.visible {
    display: block !important;
  }

  .menu-collapse {
    display: block !important;
  }

  .menu-collapse.__flex {
    display: flex !important;
  }

  .welsh .mainmenu li &gt; a {
    padding: 10px 6px;
  }
  .welsh .mainmenu li a {
    font-size: 0.76em;
  }
  .welsh .mainmenu li ul {
    min-width: 450px;
  }

  .submenu-wrap {
    display: block;
  }

  .submenu li {
    position: relative;
    display: block;
  }
  .submenu li a {
    display: block;
    color: #333333;
    font-weight: 500;
    transition: opacity 0.3s;
    -moz-transition: opacity 0.3s;
    -webkit-transition: opacity 0.3s;
    -o-transition: opacity 0.3s;
  }
  .submenu li a::before {
    content: "";
    background-color: #cccccc;
    width: 1px;
    position: absolute;
    left: -1px;
    height: 100%;
  }
  .submenu li a span {
    position: relative;
    display: block;
    padding: 14px 30px 14px 20px;
  }
  .submenu li a span:before {
    content: " ";
    position: absolute;
    left: -5px;
    top: 43%;
    z-index: 200;
    width: 10px;
    height: 10px;
    background: #ae1c0f;
    border: 2px solid #ae1c0f;
    border-radius: 50%;
    transition: all 0.3s;
    -moz-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
  }
  .submenu li a span:hover:before {
    left: -5px;
    background: white;
  }
  .submenu li a.last-child {
    border-left: 1px solid transparent;
  }
  .submenu li ul span {
    padding-left: 35px;
  }
  .submenu li ul ul span {
    padding-left: 55px;
  }
  .submenu li &gt; a.selected span:before {
    left: -5px;
    background: white;
  }
  .submenu &gt; li:first-child &gt; a::before {
    height: 50%;
    top: 50%;
  }
  .submenu &gt; li:last-child &gt; a::before,
.submenu &gt; li:last-child li:last-child &gt; a::before {
    height: 50%;
  }
  .submenu li.active &gt; a span:before {
    left: -5px;
    background: white;
  }
  .submenu li.parent.active ul li &gt; a.selected span:before {
    content: " ";
    left: -5px;
    background: white;
  }
}
@media (min-width: 992px) {
  .burger {
    display: none;
  }
}
@media (min-width: 992px) {
  .welsh .mainmenu li a {
    padding: 10px 8px;
    font-size: 0.8em;
  }
}
@media (min-width: 1200px) {
  .mainmenu li a {
    font-size: 16px;
  }

  .welsh .mainmenu li a {
    padding: 10px;
    font-size: 0.83em;
  }
}
/*=======================================
AUXMENU
=======================================*/
.auxmenu {
  background-color: #ae1c0f;
}
.auxmenu-nav {
  padding: 10px 0;
}
@media (min-width: 768px) {
  .auxmenu-nav {
    padding: 10px 0 27px 0;
  }
}
@media (min-width: 992px) {
  .auxmenu-nav {
    padding: 27px 0 0 0;
  }
}
.auxmenu-nav ul {
  display: flex;
  flex-direction: row;
  color: white;
  gap: 15px;
  align-items: center;
  justify-content: space-between;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.214;
}
@media (min-width: 768px) {
  .auxmenu-nav ul {
    gap: 40px;
    justify-content: flex-end;
  }
}
.auxmenu-nav ul a {
  color: white;
  text-decoration: underline;
  -webkit-text-decoration-color: transparent;
          text-decoration-color: transparent;
  transition: 0.3s ease all;
}
.auxmenu-nav ul a:hover, .auxmenu-nav ul a:focus, .auxmenu-nav ul a:active {
  -webkit-text-decoration-color: white;
          text-decoration-color: white;
}

/*=======================================
BREADCRUMB
=======================================*/
.breadcrumb {
  display: block;
  margin: 0;
  border-radius: 0;
}

span.breadcrumb-root:before {
  display: none;
  padding: 0 10px 0 0;
}

.breadcrumb a,
.breadcrumb span {
  font-size: 0.9em;
  text-transform: uppercase;
  transition: all 0.2s ease;
  padding: 0 0 0 4px;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.92px;
  color: inherit;
}

.breadcrumb a::before,
.breadcrumb span::before {
  content: "&gt;";
  font-family: icomoon;
  margin: 0 5px 0 0;
  font-size: 0.75rem;
}

.breadcrumb a:hover,
.breadcrumb a:focus {
  color: #B62D3F;
}

/*=======================================
ARCHIVE LIST
=======================================*/
.archive-list {
  margin: 0 0 30px 0;
}

.archive-title {
  min-height: 60px;
  padding: 22px 30px;
  margin: 0;
  font-size: 1.75rem;
  font-weight: 500;
}

.archive-item {
  border-bottom: 1px solid #e8e8e8;
  color: #3364b8;
  display: block;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.55;
  padding: 20px 0;
  position: relative;
}
.archive-item[href] {
  text-decoration: none;
}
.archive-item[href]:hover .archive-item-title, .archive-item[href]:focus .archive-item-title, .archive-item[href]:active .archive-item-title {
  text-decoration: underline;
}
.archive-item[href]:hover i, .archive-item[href]:focus i, .archive-item[href]:active i {
  transform: translateX(4px);
}
.archive-item:hover, .archive-item:focus, .archive-item:active {
  text-decoration: none;
}
.archive-item-resolved {
  display: flex;
  align-items: center;
  color: #ae1c0f;
  font-weight: 500;
}
.archive-item-resolved .icon {
  margin-right: 10px;
}
.archive-item i {
  font-size: 1.375rem;
  transition: 0.3s ease all;
}

/*=======================================
NEWS LIST
=======================================*/
.news-item {
  display: block;
  margin: 0 0 30px 0;
  padding: 0 0 50px 0;
  color: #333333;
  border-bottom: 1px solid #e8e8e8;
  position: relative;
}
.news-item [class^=col-] {
  position: static;
}
.news-item-title {
  margin: 0 0 5px 0;
  font-size: 18px;
  color: #ae1c0f;
  line-height: 1.193;
  font-weight: 500;
}
.news-item-date {
  display: block;
  margin: 0 0 5px 0;
  color: #333333;
  font-size: 14px;
  text-transform: uppercase;
  font-weight: 500;
}
.news-item-image {
  border-radius: 20px;
  overflow: hidden;
}
.news-item-body {
  border-bottom: 3px solid white;
  transition: border-bottom 0.3s;
  -moz-transition: border-bottom 0.3s;
  -webkit-transition: border-bottom 0.3s;
  -o-transition: border-bottom 0.3s;
}
.news-item-summary {
  font-weight: 400;
  color: #333333;
  font-size: 1em;
  line-height: 24px;
}
.news-item-more {
  margin-top: 15px;
  font-size: 15px;
  font-weight: 500;
  position: static;
  display: inline-block;
  background-color: #cccccc;
  color: #003da6;
  padding: 8px 22px;
  border-radius: 10px;
  text-decoration: underline;
  -webkit-text-decoration-color: transparent;
          text-decoration-color: transparent;
  transition: 0.3s ease all;
}
.news-item-more::before {
  content: "";
  background-color: transparent;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}
.news-item-more:hover, .news-item-more:focus, .news-item-more:active {
  text-decoration: underline;
  background-color: #ae1c0f;
  color: white;
  -webkit-text-decoration-color: white;
          text-decoration-color: white;
}

/*=======================================
NEWS DETAIL
=======================================*/
.news-header {
  margin: -85px 0 20px 0;
}

.news-header.__nomargin {
  margin: 0 0 20px 0;
}

.news-header-image {
  border-radius: 20px;
  overflow: hidden;
  margin: 0 0 20px 0;
}

.news-header-text {
  border-bottom: 1px solid #cccccc;
}

.news-header-title {
  margin: 0 0 7px 0;
  line-height: 1.3em;
  color: #333333;
}

.news-header-date {
  display: block;
  margin: 0 0 20px 0;
  color: #333333;
  font-weight: 500;
  text-transform: uppercase;
}

@media (max-width: 767px) {
  .news-header {
    margin-top: 0;
  }
}
/*=======================================
EVENT LIST
=======================================*/
.featured-event {
  display: block;
  color: #333333;
  border: 1px solid #cccccc;
}

.featured-event img {
  margin: 0 0 10px 0;
}

.featured-event-body {
  padding: 15px 15px 0 15px;
  border-bottom: 3px solid white;
}

.featured-event-title {
  margin: 0 0 7px 0;
  font-size: 1.4em;
  line-height: 1.3em;
}

.featured-event-date {
  display: block;
  margin: 0 0 10px 0;
  color: #999999;
  font-weight: 700;
  text-transform: uppercase;
}

.featured-event-more {
  margin-top: 15px;
  color: white;
  text-transform: uppercase;
  font-weight: 700;
}

.featured-event.left {
  margin: 0 -15px 20px 0;
}

.featured-event.right {
  margin: 0 0 20px -15px;
  border-left: none;
}

.featured-event:hover {
  color: #333333;
}

.featured-event:hover .featured-event-more {
  color: #F99D16;
}

.featured-event:hover .featured-event-body {
  border-bottom: 3px solid #F99D16;
}

@media (max-width: 991px) {
  .featured-event {
    margin: 0 0 20px 0 !important;
    border: none !important;
  }

  .featured-event.left {
    border-bottom: 1px solid #cccccc !important;
    padding-bottom: 20px;
  }
}
/*=======================================
BUSINESS LIST
=======================================*/
.business-item {
  display: block;
  border-bottom: 1px solid #DEDEDE;
  color: #333333;
  padding: 30px 0;
  position: relative;
}
.business-item-title {
  font-weight: 500;
  font-size: 1.375rem;
}
.business-item-more {
  color: #ae1c0f;
  font-size: 1rem;
  transition: background 0.3s;
  -moz-transition: background 0.3s;
  -webkit-transition: background 0.3s;
  -o-transition: background 0.3s;
}
.business-item-subtitle {
  display: inline-block;
  vertical-align: top;
  font-weight: 500;
  position: static;
}
.business-item-subtitle::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-attachment: brown;
}

/*=======================================
BUS STOP FINDER
=======================================*/
.bus-stop-page-wrap {
  margin: 0 0 -20px 0;
  position: relative;
}
.bus-stop-finder-sidebar {
  min-height: 1100px;
  width: 300px;
  margin: 0;
  padding: 0 0 80px 0;
  background: #f5f5f5;
}
.bus-stop-finder-sidebar .error_feedback {
  margin: 0 27px;
}
.bus-stop-title {
  padding: 56px 30px 17px 30px;
  color: #ae1c0f;
  font-size: 1.625rem;
  font-weight: 500;
  margin-bottom: 0;
}
.bus-stop-search form {
  padding: 0 30px 17px 30px;
  padding: 10px 15px 20px 15px;
}
.bus-stop-search .field_wrap {
  margin: 0 0 16px 0;
}
.bus-stop-search input {
  border-radius: 0;
  padding: 14px 10px;
  height: auto;
  color: #333333;
}
.bus-stop-search input::-moz-placeholder {
  color: #333333;
}
.bus-stop-search input:-ms-input-placeholder {
  color: #333333;
}
.bus-stop-search input::placeholder {
  color: #333333;
}
.bus-stop-search p {
  color: white;
}
.bus-stop-search label {
  color: #ae1c0f;
}
.bus-stop-search .submit_wrap {
  display: block;
  margin-top: 0;
  width: 100%;
}
.bus-stop-search button {
  padding: 10px 22px;
}
.bus-stop-location-link {
  color: white;
  font-weight: medium;
  text-decoration: underline;
}
.bus-stop-location-link:hover, .bus-stop-location-link:focus, .bus-stop-location-link:active {
  color: white;
  text-decoration: underline;
}
.bus-stop-wrap {
  position: relative;
}
.bus-stop-results {
  text-align: center;
}
.bus-stop-results-header {
  padding: 5px 0;
  color: white;
  background-color: #E0E0E0;
}
.bus-stop-results-header .bus-stop-name {
  min-height: 0;
  border-left: none;
  border-right: none;
}
.bus-stop-result {
  display: block;
  padding: 5px 0;
  background: white;
  border-top: 1px solid #cccccc;
  color: #333333;
}
.bus-stop-result:first-child {
  border: none;
}
.bus-stop-result:hover, .bus-stop-result:focus, .bus-stop-result:active {
  background: #f5f5f5;
  color: #333333;
}
.bus-stop-result.__par {
  text-align: left;
  padding-left: 18px;
  padding-right: 18px;
}
.bus-stop-result.__par h3 {
  color: #333333;
}
.bus-stop-prevnext {
  display: block;
  padding: 15px 15px;
  background: #008C45;
  color: white;
  text-align: left;
}
.bus-stop-prevnext:hover, .bus-stop-prevnext:focus, .bus-stop-prevnext:active {
  background: #1ab3aa;
  color: white;
}
.bus-stop-service {
  margin: 0;
  padding: 9px 5px;
  font-weight: 500;
  color: #333333;
  word-break: break-word;
}
.bus-stop-service.text-left {
  padding-left: 18px;
}
.bus-stop-service.__none {
  text-align: left;
  padding-left: 18px;
}
.bus-stop-name {
  min-height: 55px;
  margin: 0 0 0 -30px;
  padding: 10px 15px;
  border-left: 1px solid #cccccc;
  border-right: 1px solid #cccccc;
  font-size: 0.95em;
  font-weight: 500;
  text-align: left;
  color: #333333;
}
.bus-stop-mins {
  margin: 0 0 0 -30px;
  text-align: center;
  padding: 10px 0;
  font-size: 0.95em;
  font-weight: 500;
  color: #333333;
}
.bus-stop-mins .block {
  display: block;
  line-height: 1em;
}
.bus-stop-detail {
  padding: 10px 15px 10px 0px;
  text-align: left;
  color: white;
  position: relative;
}
.bus-stop-detail i {
  display: block;
  color: #ae1c0f;
  font-size: 2.1875rem;
  line-height: 42px;
  text-align: center;
}
.bus-stop-detail-desc {
  display: block;
  margin: 0 0 10px 0;
  font-weight: 500;
}
.bus-stop-detail-title {
  margin: 0 0 20px 0;
  font-size: 0.075rem;
  padding-left: 55px;
  font-weight: 400;
  color: #333333;
}
.bus-stop-detail-title small {
  display: block;
  margin-top: 3px;
  font-size: 0.85em;
}
.bus-stop-detail-title::before {
  color: white;
  content: "P";
  font-family: "icomoon";
  font-size: 1.4375rem;
  left: 15px;
  position: absolute;
  top: 18px;
}
.bus-stop-refresh {
  display: block;
  padding: 10px 18px;
  background: white;
  color: #003da6;
  text-align: left;
  font-weight: 500;
}
.bus-stop-plan {
  padding: 20px 15px;
  background-color: white;
}
.bus-stop-plan .buttonnew {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-bottom: 7px;
}
.bus-stop-plan-title {
  color: #ae1c0f;
  font-weight: 500;
  font-size: 1.625rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.bus-stop-plan-title img {
  margin-right: 10px;
}
.bus-stop-add-favourites {
  color: #003da6;
  text-decoration: none;
  padding-top: 15px;
  padding-bottom: 30px;
  display: block;
  border: 0;
  width: 100%;
  background-color: transparent;
  font-weight: 500;
  padding: 20px 0 30px 0;
}
.bus-stop-add-favourites i {
  transform: translateY(-3px);
  color: #ffcd00;
  margin-right: 5px;
  font-size: 24px;
  transition: 0.3s ease all;
}
.bus-stop-add-favourites:hover, .bus-stop-add-favourites:focus, .bus-stop-add-favourites:active {
  text-decoration: underline;
}
.bus-stop-add-favourites:hover i, .bus-stop-add-favourites:focus i, .bus-stop-add-favourites:active i {
  color: #ffcd00;
}

.findoutmore-bike {
  display: block;
  padding-top: 20px;
  padding-left: 18px;
  text-align: left;
}

.bus-stop-plan .button, .bus-stop-plan .timetable-disruption-button, .bus-stop-plan .modalblock-close,
.bus-stop-plan .modalblock-submit, .bus-stop-plan .journey-planner-bar .submit_wrap button, .journey-planner-bar .submit_wrap .bus-stop-plan button, .bus-stop-plan .traveline_plus_content form button, .traveline_plus_content form .bus-stop-plan button, .bus-stop-plan .bus-stop-search button, .bus-stop-search .bus-stop-plan button {
  width: 100%;
  margin: 0 0 10px 0 !important;
  padding: 13px 7px 10px !important;
  font-size: 1em !important;
  white-space: normal;
}

.bus-stop-finder-map {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 300px;
  min-height: 750px;
  margin: 0;
}
.bus-stop-finder-map .googlemap-load {
  width: 100%;
  height: 100%;
}

.stop-disruptions-button {
  display: block;
  padding: 15px 15px;
  background: #009951;
  color: white;
  font-weight: 700;
}
.stop-disruptions-button:hover, .stop-disruptions-button:focus, .stop-disruptions-button:active {
  background: #008044;
  color: white;
}
.stop-disruptions-button i {
  top: -2px;
  color: #F99D16;
}

.overlay-loader {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.8);
}

.overlay-loader img {
  position: absolute;
  top: 40%;
  display: block;
  margin: 0 auto;
  left: 0;
  right: 0;
}

.ajax-loader {
  display: block;
  margin: 0 auto;
}

.stop-naptan {
  display: none !important;
}

.favicon {
  margin: -4px 5px 0 0;
}

@media (max-width: 767px) {
  .bus-stop-finder-sidebar {
    width: 100%;
    min-height: 170px;
    padding: 0;
  }

  .bus-stop-results {
    overflow: hidden;
  }

  .bus-stop-finder-map {
    position: static;
    width: 100%;
    /* padding: 0 40px 0 0; */
    background: #ae1c0f;
  }

  .bus-stop-finder-map .googlemap-load {
    width: 100%;
    height: 750px;
  }
}
.bus-stop-finder-map {
  left: 395px;
}

@media (min-width: 768px) {
  .bus-stop-finder-sidebar {
    width: 395px;
  }
}
.tab-transport-map-title {
  color: #ae1c0f;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 17px;
  text-align: center;
}

.map-tab {
  cursor: pointer;
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  margin: 0px auto 7px auto;
  transition: 0.3s ease all;
  position: relative;
  text-align: center;
  font-size: 0.875rem;
  font-weight: 400;
}
.map-tab:hover::before {
  border: 2px solid #ae1c0f;
}
.map-tab label::before {
  content: "";
  height: 70px;
  width: 70px;
  border-radius: 100px;
  background-color: #ff737f;
  border: 2px solid transparent;
  background-position: center;
  background-repeat: no-repeat;
  flex: 0 0 70px;
  margin: 0 0 10px 0;
}
.map-tab::after {
  content: "\E913";
  background-color: white;
  border: 1px solid #009845;
  position: absolute;
  top: 0;
  right: 0;
  color: #009845;
  border-radius: 100px;
  width: 19px;
  height: 19px;
  font-size: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  flex: 0 0 19px;
}
.map-tab.__par label::before {
  background-image: url(/images/tabs-transport-map/park-and-ride-tab.png);
}
.map-tab.__bike label::before {
  background-image: url(/images/tabs-transport-map/nextbike-tab.png);
}
.map-tab.__train label::before {
  background-image: url(/images/tabs-transport-map/train-tab.png);
  background-size: 40px;
}
.map-tab.__bus label::before {
  background-image: url(/images/tabs-transport-map/bus-timetable.png);
}
.map-tab.active label::before {
  background-color: #ae1c0f;
}
.map-tab.active::after {
  opacity: 1;
}
.map-tab .field_wrap,
.map-tab .checkboxes,
.map-tab .checkboxes label {
  display: flex;
  height: 100%;
  width: 100%;
  justify-content: center;
  font-weight: 400;
  flex-direction: column;
}
.map-tab input {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
}
.map-tab-wrap {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  border: 0;
  padding: 0 0 10px 0;
  margin: 0;
}

.bus-stop-detail-title {
  font-size: 17px;
}

.bus-stop-detail {
  padding: 37px 15px 10px 0px;
  color: #333333;
}

.bus-stop-detail-title::before {
  color: #757575;
  content: "P";
  font-family: "icomoon";
  font-size: 23px;
  left: 15px;
  position: absolute;
  top: 32px;
}

h1.bus-stop-title {
  padding-left: 27px;
}

#bus-stop-finder {
  display: block;
  padding: 24px 25px 30px 18px;
}

/*=======================================
DISRUPTIONS
=======================================*/
.disruptionsblock {
  display: flex;
  flex-direction: column;
  background-color: #f5f5f5;
}
@media (min-width: 768px) {
  .disruptionsblock {
    flex-direction: row;
  }
}
.disruptionsblock .disruptions-options {
  padding: 0;
  margin: 20px 0;
}
@media (min-width: 768px) {
  .disruptionsblock .disruptions-options {
    margin: 20px 0 0 0;
  }
}
.disruptionsblock .disruptions-options .button, .disruptionsblock .disruptions-options .timetable-disruption-button, .disruptionsblock .disruptions-options .modalblock-close,
.disruptionsblock .disruptions-options .modalblock-submit, .disruptionsblock .disruptions-options .journey-planner-bar .submit_wrap button, .journey-planner-bar .submit_wrap .disruptionsblock .disruptions-options button, .disruptionsblock .disruptions-options .traveline_plus_content form button, .traveline_plus_content form .disruptionsblock .disruptions-options button, .disruptionsblock .disruptions-options .bus-stop-search button, .bus-stop-search .disruptionsblock .disruptions-options button {
  padding: 15px 48px;
  display: flex;
  justify-content: center;
  margin: 0 10px 0 0;
}
.disruptionsblock .disruptions-options li {
  border-left: 0;
  margin: 0;
  border-left: 0;
  display: inline-block;
  flex: 1;
}
.disruptionsblock .disruptions {
  padding: 40px 0;
}
@media (min-width: 768px) {
  .disruptionsblock .disruptions {
    padding: 80px 0;
    width: 50%;
  }
}
.disruptionsblock .disruptions h1,
.disruptionsblock .disruptions h2,
.disruptionsblock .disruptions h3,
.disruptionsblock .disruptions h4,
.disruptionsblock .disruptions h5,
.disruptionsblock .disruptions h6 {
  color: #000000;
}
.disruptionsblock .disruptions-controls {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding-bottom: 20px;
}
.disruptionsblock .disruptions .slideshow-wrap {
  padding: 0 30px 0 0;
}
.disruptionsblock .disruptions .slideshow-title {
  border: 0;
  padding: 0;
}
.disruptionsblock .disruptions .slideshow-next, .disruptionsblock .disruptions .slideshow-prev {
  align-items: center;
  background-color: #ae1c0f;
  border: 0;
  color: white;
  display: flex;
  height: 48px;
  justify-content: center;
  padding: 10px 0;
  text-align: center;
  transition: 0.3s ease all;
  vertical-align: middle;
  width: 48px;
  border-radius: 10px;
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.14), 0px 1px 5px rgba(0, 0, 0, 0.12);
}
.disruptionsblock .disruptions .slideshow-next:hover, .disruptionsblock .disruptions .slideshow-next:focus, .disruptionsblock .disruptions .slideshow-next:active, .disruptionsblock .disruptions .slideshow-prev:hover, .disruptionsblock .disruptions .slideshow-prev:focus, .disruptionsblock .disruptions .slideshow-prev:active {
  outline: none;
}
.disruptionsblock .disruptions .slideshow-next i, .disruptionsblock .disruptions .slideshow-prev i {
  font-size: 1.625rem;
  top: 0;
}
.disruptionsblock .disruptions .slideshow-next .slideshow-next, .disruptionsblock .disruptions .slideshow-prev .slideshow-next {
  margin-top: 38px;
}
.disruptionsblock .disruptions .slideshow-next:hover, .disruptionsblock .disruptions .slideshow-next:focus, .disruptionsblock .disruptions .slideshow-next:active, .disruptionsblock .disruptions .slideshow-prev:hover, .disruptionsblock .disruptions .slideshow-prev:focus, .disruptionsblock .disruptions .slideshow-prev:active {
  color: white;
  background-color: #7f140b;
}

.disruptions-bar {
  min-height: 40px;
  text-align: right;
  background: #B42F44;
}

.disruptions-all,
.disruptions-edit {
  display: inline-block;
  margin: -5px 0;
  padding: 5px 15px;
  vertical-align: middle;
  color: white;
  line-height: 30px;
  transition: background 0.3s;
  -moz-transition: background 0.3s;
  -webkit-transition: background 0.3s;
  -o-transition: background 0.3s;
}

.disruptions-all:hover,
.disruptions-edit:hover,
.disruptions-all:focus,
.disruptions-edit:focus {
  color: white;
}

.disruptions-all:hover,
.disruptions-edit:hover {
  background: #D25D6F;
}

.disruptions-edit i {
  margin: 0 0 0 5px;
  color: white;
}

.disruptions-edit:hover i {
  -webkit-animation: spin 4s linear infinite;
  animation: spin 4s linear infinite;
}

.disruptions-all,
.disruptions-edit {
  display: inline-block;
  margin: -5px 0;
  padding: 5px 15px;
  vertical-align: middle;
  color: white;
  line-height: 30px;
  transition: background 0.3s;
  -moz-transition: background 0.3s;
  -webkit-transition: background 0.3s;
  -o-transition: background 0.3s;
}

.disruptions-all:hover,
.disruptions-edit:hover,
.disruptions-all:focus,
.disruptions-edit:focus {
  color: white;
}

.disruptions-all:hover,
.disruptions-edit:hover {
  background: #D25D6F;
}

.disruptions-edit i {
  margin: 0 0 0 5px;
  color: white;
}

.disruptions-edit:hover i {
  -webkit-animation: spin 4s linear infinite;
  animation: spin 4s linear infinite;
}

.slideshow-wrap {
  padding: 45px 0 25px 0;
}

.slideshow-item {
  display: block;
  width: 100%;
  min-height: 100px;
  color: white;
}

.slideshow-item:hover,
.slideshow-item:focus {
  color: white;
}

.slideshow-item .slideshow-warning {
  color: #F99D16;
  font-size: 1.25rem;
}

.slideshow-item .slideshow-title {
  margin: 0 0 5px 0;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 8px;
  padding: 20px 11px;
  color: white;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 24px;
}

@media (min-width: 768px) {
  .slideshow-item .slideshow-title {
    font-size: 1.125rem;
    padding: 20px 30px;
  }
}
.slideshow-item .slideshow-date {
  margin: 0 0 5px 0;
  font-size: 1.1em;
}

.slideshow-item .slideshow-body {
  margin: 0;
  font-weight: 300;
}

.slideshow-item .slideshow-more {
  margin: 8px 0 0 0;
  font-weight: 500;
}

@media (max-width: 767px) {
  .slideshow-item .slideshow-warning {
    display: block;
    margin: 0 0 10px 0;
    line-height: 1em;
    text-align: center;
  }

  .slideshow-prev,
.slideshow-next {
    margin: 10px 0;
  }

  .disruptions-all,
.disruptions-edit {
    display: block;
    border: none;
  }

  .disruption-list-title {
    display: block;
    margin-bottom: 5px;
    font-weight: 700;
  }

  .disruptions-options li {
    display: block;
    border: none;
    text-align: center;
  }
}
/*=======================================
DISRUPTIONS LIST
=======================================*/
.filters-title {
  margin: 0 0 20px 0;
  padding: 0 0 20px 0;
  font-size: 1.4em;
  border-bottom: 1px solid #cccccc;
}

.disruptions-form {
  margin: 0 0 40px 0;
}

.disruptions-form .col-lg-3 input {
  margin: 26px 0 0 0;
}

.disruptions-form .picker__input {
  width: 100% !important;
}

.disruptions-form button {
  display: block;
  width: 100%;
  padding: 0 5px;
  height: 38px;
  line-height: 38px;
}

.disruptions-form .submit_wrap {
  margin: 26px 0 0 0;
}

.disruptions-back {
  display: inline-block;
  margin: 0 0 20px 0;
  padding: 15px 40px;
  text-decoration: none !important;
  font-weight: 400;
  background: #1ab3aa;
  color: white;
  text-align: center;
}

.disruptions-back:hover,
.disruptions-back:focus {
  color: white;
  background: rgba(26, 179, 170, 0.8);
}

.disruptions-back.__app {
  margin: 20px 20px -20px;
}

@media (max-width: 991px) {
  .disruptions-form .submit_wrap {
    text-align: right;
  }

  .disruptions-form button {
    display: inline-block;
    width: auto;
    padding: 0 18px;
  }
}
/*=======================================
DISRUPTIONS TABS
=======================================*/
.archive-tabs .tabbar-ul {
  display: flex;
  list-style: none;
  margin: 0;
}

.archive-tabs .tabbar-ul li {
  display: relative;
  padding: 0;
}

.archive-tabs .tabbar-ul li::before {
  content: "";
  width: 1px;
  height: calc(100% - 17px);
  border-radius: 0;
  top: 50%;
  transform: translateY(-50%);
  background: #c7c7c7;
  border-left: 0px;
}

.archive-tabs .tabbar-ul li:first-of-type::before {
  content: none;
}

.archive-tabs .tabbar-ul li.selected::before,
.archive-tabs .tabbar-ul li.selected + li::before {
  content: none;
}

.archive-tabs .tabbar-ul li .icon-bus {
  font-size: 1.5625rem;
  line-height: 14px;
}

.archive-tabs .tabbar-ul li .icon-rail {
  font-size: 1.25rem;
  line-height: 14px;
}

.archive-tabs .tabbar-ul li:hover {
  padding: inherit;
  width: inherit;
  border-bottom: 0px !important;
}

.archive-tabs .tabbar-ul li a:hover {
  border-bottom: 0px;
  width: inherit;
  border-bottom: 0px !important;
}

.archive-tabs .tabbar-ul li a::after {
  content: none;
}

.archive-tabs .tabbar-ul li a {
  text-align: center;
  font-size: 0.75rem;
  font-weight: medium;
  color: #2e3638;
  text-decoration: none;
  padding: 12px 20px;
  display: block;
  line-height: 1.2;
}

.archive-tabs .tabbar-ul li .icon {
  font-size: 1.25rem;
  display: block;
  margin: 0 0 5px 0;
  line-height: 1;
}

.archive-tabs .tabbar-ul li.selected {
  background: white;
}

.archive-tabs .tabbar-ul li.selected a {
  background: white;
  color: #ae1c0f;
}

.archive-tabs .archive-list {
  background: white;
  padding: 15px;
  margin: 0;
}

.archive-tabs .archive-item {
  padding: 18px 0 18px 12px;
  font-size: 0.9375rem;
  font-weight: medium;
  line-height: 1.38;
  color: #2e3638;
  border-bottom: 0;
  border-top: 1px solid #979797;
  min-height: auto;
  text-decoration: none;
}

.archive-tabs .archive-item.__green,
.archive-tabs .archive-item.__green + .archive-item,
.archive-tabs .archive-item:first-of-type {
  border-top: 1px solid transparent;
}

.archive-tabs .archive-item.__green {
  background: #d2f5f4;
  padding: 18px 20px 18px 12px;
}

.archive-tabs .archive-item.__green:hover,
.archive-tabs .archive-item.__green:focus,
.archive-tabs .archive-item.__green:active {
  background: #a6d9d7;
}

.archive-tabs .archive-item.__green .archive-resolved {
  color: #19b3ab;
}

.archive-tabs .archive-item.__green:hover .archive-resolved,
.archive-tabs .archive-item.__green:focus .archive-resolved,
.archive-tabs .archive-item.__green:active .archive-resolved {
  color: #0c827c;
}

.archive-tabs .archive-item p {
  line-height: 1.38;
}

@media (min-width: 768px) {
  .archive-tabs .tabbar-ul li a {
    font-size: 0.9375rem;
  }
}
@media (min-width: 992px) {
  .archive-tabs .archive-list {
    padding: 30px 30px 15px 30px;
  }

  .archive-tabs .tabbar-ul li a {
    padding: 20px 16px;
  }

  .archive-tabs .archive-item p {
    margin: 0;
  }

  .archive-tabs .tabbar-ul li .icon {
    margin: 0 5px 0 0;
    display: inline-block;
  }

  .archive-tabs .tabbar-ul li .icon-bus {
    transform: translateY(6px);
  }

  .archive-tabs .tabbar-ul li .icon-rail {
    transform: translateY(3px);
  }
}
@media (min-width: 1199px) {
  .archive-tabs .tabbar-ul li a {
    padding: 20px 26px;
  }
}
/*=======================================
FAVOURITES SIDEBAR
=======================================*/
.account-menu {
  list-style: none;
  padding: 0;
}
.account-menu li {
  padding: 10px 0;
}
.account-menu li a.selected {
  margin-left: 18px;
  position: relative;
}
.account-menu li a.selected::before {
  content: "";
  border-bottom: 5px solid transparent;
  border-left: 7px solid #3364b8;
  border-top: 5px solid transparent;
  position: absolute;
  left: -18px;
  top: 50%;
  transform: translateY(-50%);
}

.favourites-sidebar {
  padding: 18px;
  background: #f5f5f5;
}

.favourites-back {
  display: block;
  margin: 0 auto 30px auto;
  padding: 10px 16px;
  width: 100%;
  background: #006231;
  border-radius: 3px;
  color: white;
  text-align: center;
  font-size: 1.3em;
}

.favourites-back:hover {
  background: #004924;
  color: white;
}

.favourites-profile,
.favourites-favourites {
  display: block;
  margin: 0 -15px;
  padding: 20px 15px;
  color: white;
  border-bottom: 1px solid #1ab3aa;
}

.favourites-profile:hover,
.favourites-favourites:hover {
  background: #1ab3aa;
  color: white;
}

.favourites-profile {
  border-top: 1px solid #1ab3aa;
}

.favourites-logout {
  margin: 25px 0 0 0;
}

.favourites-logout:hover {
  color: white;
}

/*=======================================
FAVOURITES LIST
=======================================*/
.favourites-header {
  margin: 0 0 40px 0;
  border-bottom: 1px solid #cccccc;
}

.favourites-header h1 {
  font-size: 1.3em;
}

.favourites-header .checkboxes {
  text-align: right;
}

.favourites-header .checkboxes input {
  float: right;
  margin: 5px 0 0 7px;
}

.favourites-section {
  margin: 20px 0 30px 0;
}

.favourites-section-title {
  margin: 0 0 20px 0;
  font-size: 1.15em;
  font-weight: 400;
}

.favourites-panel {
  min-height: 83px;
  margin: 0 0 18px 0;
  border: 1px solid #DDD;
  background: white;
  display: flex;
}

.favourites-panel-body {
  display: block;
  min-height: 81px;
  width: 80%;
  float: left;
  border-right: 1px solid #cccccc;
}

.favourites-panel-from,
.favourites-panel-to {
  display: block;
  width: 100%;
  min-height: 40px;
  padding: 9px 15px;
}

.favourites-panel-from {
  padding-bottom: 10px;
  border-bottom: 1px solid #cccccc;
}

.favourites-panel-locale {
  display: block;
  width: 100%;
  min-height: 81px;
  padding: 30px 15px;
}

.favourites-panel-locale i {
  margin: 0 10px 0 0;
  color: #BBB;
  font-size: 1.5625rem;
}

.favourites-panel-options {
  display: block;
  min-height: 81px;
  width: 20%;
  float: left;
}

.favourites-panel-option {
  display: block;
  min-height: 40px;
  width: 100%;
  padding: 9px 0;
  margin: 0;
  text-align: center;
  color: #333333;
  font-weight: 500;
}

.favourites-panel-option:hover {
  background: #e8e8e8;
  color: #333333;
  cursor: pointer;
}

.favourites-panel-option:first-child {
  padding-bottom: 10px;
  border-bottom: 1px solid #cccccc;
  color: #ae1c0f;
}

.favourites-panel-option:first-child:hover {
  background: #e8e8e8;
  color: #ae1c0f;
}

.favourites-panel-option input {
  position: absolute;
  left: -9999px;
}

.favourites-panel-remove {
  display: block;
  padding: 30px 0;
  text-align: center;
  color: #555;
}

.favourites-panel-remove i {
  font-size: 1.5625rem;
}

.favourites-panel-remove:hover {
  color: #333333;
}

.hidden-alerts {
  background: #DDD;
  padding: 23px 15px;
}

.hidden-alerts .field_wrap,
.hidden-alerts label {
  margin: 0;
}

.hidden-alerts .label_wrap {
  display: inline-block;
  vertical-align: middle;
}

.hidden-alerts label {
  font-weight: 500;
}

.hidden-alerts .input_wrap {
  display: inline-block;
  vertical-align: middle;
  width: 34%;
}

.hidden-alerts .input_wrap label {
  display: inline-block;
  vertical-align: middle;
}

@media (max-width: 767px) {
  .favourites-header {
    margin: 40px 0;
  }

  .favourites-panel {
    margin: 0;
  }

  .favourites-panel-remove {
    display: inline-block;
    margin: 0 0 10px 0;
    padding: 5px 0;
  }
}
/*=======================================
FEATUREBOXES
=======================================*/
.featureboxes {
  background: #e8e8e8;
  padding: 50px 0;
}

.featurebox {
  overflow: hidden;
  position: relative;
  display: block;
  background: white;
  color: #333333;
  cursor: pointer;
}

@media (min-width: 768px) {
  .featurebox-image img {
    width: 100%;
  }
}
@media (min-width: 992px) {
  .featurebox {
    display: flex;
  }

  .featurebox-image {
    height: 100%;
    /* width:40%; */
  }

  .featurebox-image img {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }

  .featurebox-content {
    width: 60%;
  }
}
.featurebox.left {
  margin: 0 -20px 30px 0;
}

.featurebox.middle {
  margin: 0 -10px 30px -10px;
}

.featurebox.right {
  margin: 15px 0 0 -20px;
  background: white;
}

.featurebox.bottom {
  margin: 30px 0 15px -20px;
}

.featurebox.top {
  margin-top: 63px;
}

.featurebox-header {
  color: #ae1c0f;
  margin-bottom: 15px;
  font-size: 2.29em;
  font-weight: 500;
}

.featurebox-title {
  font-size: 1.1em;
  font-weight: 500;
  line-height: normal;
  color: #2E3638;
}

.featurebox.right .featurebox-title {
  color: #2E3638;
}

.featurebox-image {
  overflow: hidden;
  display: block;
  position: relative;
}

.featurebox-image-overlay {
  display: none;
}

/* .featurebox-image:hover .featurebox-image-overlay {
    display: block;
    position: absolute;
    color: $color-white;
    text-align: center;
    top: 40%;
    width: 100%;
} */
/* .featurebox-image:hover::before {
    position: absolute;
    content: "";
    background: rgba(0, 0, 0, 0.5);
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
} */
.featurebox-body {
  padding: 20px 25px;
}

.featurebox-links {
  border-top: 1px solid #C0C0C0;
  margin: 0 20px;
}

.featurebox-more {
  color: #ae1c0f;
  font-weight: 500;
  font-size: 1em;
}

.__blog {
  margin-top: 20px;
}

@media (min-width: 992px) and (max-width: 1199px) {
  .featurebox {
    min-height: 116px;
  }

  .featurebox-body {
    padding: 10px;
  }

  .featurebox-title {
    font-size: 1.1em;
  }

  .featurebox-summary {
    font-size: 0.8em;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .featurebox {
    min-height: 110px;
  }

  .featurebox-body {
    padding: 10px;
  }

  .featurebox-title {
    font-size: 1em;
  }

  .featurebox-summary {
    font-size: 0.8em;
  }
}
@media (max-width: 767px) {
  .featureboxes {
    padding: 30px 0 50px 0;
  }

  .featurebox {
    margin: 0 0 15px 0 !important;
    border: none !important;
  }

  .featurebox img {
    display: block;
    margin: 0 auto;
    width: 100%;
  }
}
.featureboxes .featurebox-content {
  margin-bottom: 30px;
}

.feature {
  display: flex;
  flex-direction: column;
  position: relative;
  padding-bottom: 36px;
}
.feature-header {
  margin-bottom: 48px;
}
.feature-header-title {
  font-family: "Wales Sans Body", Arial, sans-serif;
  font-weight: 500;
  font-size: 25px;
  line-height: 30px;
  color: #333333;
}
.feature-image {
  aspect-ratio: 3.6666666667;
  border-radius: 20px;
  display: block;
  width: 100%;
  overflow: hidden;
  position: relative;
  margin-bottom: 19px;
  background-color: #ffe7e8;
}
@supports not (aspect-ratio: 3.6666666667) {
  .feature-image::before {
    content: "";
    float: left;
    padding-top: calc((3 / 11) * 100%);
  }
  .feature-image::after {
    content: "";
    display: block;
    clear: both;
  }
}
.feature-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.feature-title {
  font-size: 24px;
  line-height: 1.194;
  color: #ae1c0f;
  font-weight: 500;
}
.feature-title:hover, .feature-title:focus, .feature-title:active {
  color: #ae1c0f;
}
.feature-description {
  font-size: 1rem;
  line-height: 1.06;
  font-weight: 400;
  color: #333333;
  display: block;
}
.feature-title + .feature-description {
  padding-top: 19px;
}
.feature-links {
  display: flex;
  width: 100%;
  justify-content: flex-end;
}
.feature-links .home-link {
  font-size: 0.9em;
  line-height: 21px;
  font-weight: 500;
  position: relative;
  padding: 0;
  padding-right: 30px;
}
.feature-links .home-link i {
  transition: 0.3s ease all;
  transform: translate(0, -50%);
  position: absolute;
  top: 50%;
  right: 5px;
}
.feature-links .home-link:hover i, .feature-links .home-link:focus i, .feature-links .home-link:active i {
  transform: translate(4px, -50%);
}

/*=======================================
HOME LINKS
=======================================*/
.home-link {
  display: block;
  padding: 10px 0;
  font-size: 1.3em;
  font-weight: 500;
  color: #ae1c0f;
  text-align: center;
}

.home-link i {
  top: 0;
}

.home-link:hover {
  color: #ae1c0f;
  text-decoration: underline;
}

.home-link.__home {
  position: relative;
  padding: 16px 28px;
  background-color: transparent;
  display: inline-block;
}

@media (min-width: 768px) {
  .home-link.__home {
    margin-left: -10px;
    margin-top: 0;
  }
}
.home-link.__home:hover {
  text-decoration: none;
}

.home-link.__home span {
  font-weight: 700;
  color: #2E3638;
  position: relative;
  z-index: 2;
}

.home-link.__home:hover::after {
  width: 100%;
}

.home-link.__home::before {
  content: "";
  z-index: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #1EBDAE;
}

.home-link.__home::after {
  content: "";
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background-color: #64D8CD;
  transition: all 0.3s ease;
}

/*=======================================
JOURNEY PLANNER TABS
=======================================*/
.journeyplannerwrap .tab-pane {
  position: relative;
  z-index: 200;
  margin: 0 0 30px 0;
  padding: 20px 0;
  background: white;
  border-radius: 0 2px 2px 2px;
}

.journeyplannerwrap .tab-pane .submit_wrap {
  width: 100%;
}

.journeyplannerwrap .tab-pane .checkboxes label {
  width: 49%;
}

.label_show .label_wrap {
  display: block !important;
  font-size: 0.85em;
}

.journeyplannerwrap .tab-pane .button, .journeyplannerwrap .tab-pane .timetable-disruption-button, .journeyplannerwrap .tab-pane .modalblock-close,
.journeyplannerwrap .tab-pane .modalblock-submit, .journeyplannerwrap .tab-pane .journey-planner-bar .submit_wrap button, .journey-planner-bar .submit_wrap .journeyplannerwrap .tab-pane button, .journeyplannerwrap .tab-pane .traveline_plus_content form button, .traveline_plus_content form .journeyplannerwrap .tab-pane button, .journeyplannerwrap .tab-pane .bus-stop-search button, .bus-stop-search .journeyplannerwrap .tab-pane button {
  display: block;
  width: 100%;
  font-size: 1.2em;
  color: #333333;
  font-weight: 500;
  position: relative;
  padding: 0px 28px;
  background-color: transparent;
}

.journeyplannerwrap .tab-pane .button span, .journeyplannerwrap .tab-pane .timetable-disruption-button span, .journeyplannerwrap .tab-pane .modalblock-close span,
.journeyplannerwrap .tab-pane .modalblock-submit span, .journeyplannerwrap .tab-pane .journey-planner-bar .submit_wrap button span, .journey-planner-bar .submit_wrap .journeyplannerwrap .tab-pane button span, .journeyplannerwrap .tab-pane .traveline_plus_content form button span, .traveline_plus_content form .journeyplannerwrap .tab-pane button span, .journeyplannerwrap .tab-pane .bus-stop-search button span, .bus-stop-search .journeyplannerwrap .tab-pane button span {
  font-weight: 500;
  color: #333333;
  position: relative;
  z-index: 2;
}

.journeyplannerwrap .tab-pane .button:hover::after, .journeyplannerwrap .tab-pane .timetable-disruption-button:hover::after, .journeyplannerwrap .tab-pane .modalblock-close:hover::after,
.journeyplannerwrap .tab-pane .modalblock-submit:hover::after, .journeyplannerwrap .tab-pane .journey-planner-bar .submit_wrap button:hover::after, .journey-planner-bar .submit_wrap .journeyplannerwrap .tab-pane button:hover::after, .journeyplannerwrap .tab-pane .traveline_plus_content form button:hover::after, .traveline_plus_content form .journeyplannerwrap .tab-pane button:hover::after, .journeyplannerwrap .tab-pane .bus-stop-search button:hover::after, .bus-stop-search .journeyplannerwrap .tab-pane button:hover::after {
  width: 100%;
}

.journeyplannerwrap .tab-pane .button::before, .journeyplannerwrap .tab-pane .timetable-disruption-button::before, .journeyplannerwrap .tab-pane .modalblock-close::before,
.journeyplannerwrap .tab-pane .modalblock-submit::before, .journeyplannerwrap .tab-pane .journey-planner-bar .submit_wrap button::before, .journey-planner-bar .submit_wrap .journeyplannerwrap .tab-pane button::before, .journeyplannerwrap .tab-pane .traveline_plus_content form button::before, .traveline_plus_content form .journeyplannerwrap .tab-pane button::before, .journeyplannerwrap .tab-pane .bus-stop-search button::before, .bus-stop-search .journeyplannerwrap .tab-pane button::before {
  content: "";
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #1EBDAE;
}

.journeyplannerwrap .tab-pane .button::after, .journeyplannerwrap .tab-pane .timetable-disruption-button::after, .journeyplannerwrap .tab-pane .modalblock-close::after,
.journeyplannerwrap .tab-pane .modalblock-submit::after, .journeyplannerwrap .tab-pane .journey-planner-bar .submit_wrap button::after, .journey-planner-bar .submit_wrap .journeyplannerwrap .tab-pane button::after, .journeyplannerwrap .tab-pane .traveline_plus_content form button::after, .traveline_plus_content form .journeyplannerwrap .tab-pane button::after, .journeyplannerwrap .tab-pane .bus-stop-search button::after, .bus-stop-search .journeyplannerwrap .tab-pane button::after {
  content: "";
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background-color: #64D8CD;
  transition: all 0.3s ease;
}

@media (max-width: 767px) {
  .journeyplannerwrap .tabbar .menu-toggle {
    border-radius: 5px 5px 0 0;
  }

  .journeyplannerwrap .tab-pane {
    border-radius: 0 0 5px 5px;
  }

  .journeyplannerwrap .menu-respond a {
    background: #B2B2B2;
    color: #333333;
  }

  .journeyplannerwrap .menu-respond ul li.selected &gt; a {
    background: white;
  }
}
.journeyplannerwrap-form .field_wrap {
  display: flex;
  border: 1px solid #e8e8e8;
  border-radius: 4px;
  padding: 0;
}

.journeyplannerwrap-form .submit_wrap button {
  font-size: 16px;
}

.journeyplannerwrap-form .field_wrap .label_wrap {
  width: 20%;
  position: relative;
  display: flex;
  align-items: center;
}
.journeyplannerwrap-form .field_wrap .label_wrap.sronly {
  width: 0;
}

.journeyplannerwrap-form .field_wrap .label_wrap::after {
  content: "";
  width: 2px;
  height: 32px;
  background: #e8e8e8;
  position: absolute;
  top: 4px;
  right: 0;
}

.journeyplannerwrap-form .field_wrap .label_wrap label {
  margin: 0;
  font-weight: 500;
}

.journeyplannerwrap-form .field_wrap .label_wrap label span.required {
  display: none;
}

.journeyplannerwrap-form .field_wrap .input_wrap input {
  border: none;
}

.journeyplannerwrap-form .locationwrapper {
  display: block;
}

.journeyplannerwrap-form .locationwrap-title {
  color: #30383B;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 23px;
  padding-bottom: 5px;
}

.journeyplannerwrap-form .location-fromandto {
  padding-bottom: 20px;
  border-bottom: 1px solid #e8e8e8;
}
.journeyplannerwrap-form .location-fromandto .label_wrap {
  padding-left: 10px;
  padding-right: 10px;
}
.journeyplannerwrap-form .location-fromandto .input_wrap {
  width: 68%;
}

.journeyplannerwrap-form .location-dateandtime {
  padding: 20px 0;
}

.journeyplannerwrap-form .location-dateandtime .dateinput .field_wrap .label_wrap label {
  opacity: 0;
  font-size: 0;
}

.journeyplannerwrap-form .location-dateandtime .dateinput .field_wrap .label_wrap::before {
  background-image: url(/images/Calendar.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  content: "";
  position: absolute;
  top: 7px;
  left: 0;
  width: 100%;
  height: 24px;
}

.journeyplannerwrap-form .location-dateandtime .timemode .field_wrap {
  display: block;
  border: none;
  padding: 0;
}

.journeyplannerwrap-form .location-dateandtime .timemode .field_wrap .label_wrap {
  display: none;
}

.journeyplannerwrap-form .location-dateandtime .timemode .field_wrap .input_wrap.radiobuttons {
  display: flex;
  gap: 15px;
}

.journeyplannerwrap-form .location-dateandtime .timemode .field_wrap .input_wrap.radiobuttons label {
  border: 1px solid #e8e8e8;
  border-radius: 4px;
  padding: 13px 5px 13px 35px;
  margin: 0;
  position: relative;
  flex: 0 0 calc(50% - 7.5px);
  border: 2px solid #e8e8e8;
  transition: 0.3s ease all;
}
@media (min-width: 576px) {
  .journeyplannerwrap-form .location-dateandtime .timemode .field_wrap .input_wrap.radiobuttons label {
    border: 2px solid transparent;
  }
}
@media (min-width: 992px) {
  .journeyplannerwrap-form .location-dateandtime .timemode .field_wrap .input_wrap.radiobuttons label {
    padding: 13px 5px 13px 35px;
  }
}
.journeyplannerwrap-form .location-dateandtime .timemode .field_wrap .input_wrap.radiobuttons label::before {
  content: "";
  background-image: url(/images/Tick.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 15px;
  left: 6px;
  width: 100%;
  height: 20px;
  opacity: 0;
  transition: 0.3s ease all;
}
.journeyplannerwrap-form .location-dateandtime .timemode .field_wrap .input_wrap.radiobuttons label input {
  opacity: 0;
  width: 0;
  height: 0;
  margin: 0;
  position: absolute;
}
.journeyplannerwrap-form .location-dateandtime .timemode .field_wrap .input_wrap.radiobuttons label:hover, .journeyplannerwrap-form .location-dateandtime .timemode .field_wrap .input_wrap.radiobuttons label:focus, .journeyplannerwrap-form .location-dateandtime .timemode .field_wrap .input_wrap.radiobuttons label:active, .journeyplannerwrap-form .location-dateandtime .timemode .field_wrap .input_wrap.radiobuttons label.__focused {
  border-color: #ae1c0f;
  cursor: pointer;
}
.journeyplannerwrap-form .location-dateandtime .timemode .field_wrap .input_wrap.radiobuttons label.checked::before {
  opacity: 1;
}

.journeyplannerwrap-form .location-dateandtime .time .field_wrap .label_wrap label {
  opacity: 0;
  font-size: 0;
}

.journeyplannerwrap-form .location-dateandtime .time .field_wrap .label_wrap::before {
  background-image: url(/images/Pin.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  content: "";
  position: absolute;
  top: 9px;
  left: 0;
  width: 100%;
  height: 20px;
}

.journeyplannerwrap-form .location-dateandtime .time .field_wrap .input_wrap.dateselect {
  margin-left: 10px;
  width: 80%;
}

.journeyplannerwrap-form .more_options_wrap {
  padding-bottom: 20px;
  border-bottom: 1px solid #e8e8e8;
  cursor: pointer;
  position: relative;
}

.journeyplannerwrap-form .more_options_toggle {
  color: #333333;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 21px;
  border: 0;
  border-bottom: 1px solid #333333;
  background-color: white;
  text-align: left;
  display: inline;
  padding: 0;
}
.journeyplannerwrap-form .more_options_toggle:focus {
  outline: none;
}
.journeyplannerwrap-form .more_options_toggle i {
  font-size: 20px;
  position: absolute;
  right: 0;
  top: calc(50% - 10px);
  transform: translateY(-50%) rotate(90deg);
}
.journeyplannerwrap-form .more_options_toggle.__active i {
  transform: translateY(-50%) rotate(270deg);
}
.journeyplannerwrap-form .more_options_toggle:hover, .journeyplannerwrap-form .more_options_toggle:focus, .journeyplannerwrap-form .more_options_toggle:active {
  color: #ae1c0f;
  border-bottom: 1px solid transparent;
}
.journeyplannerwrap-form .more_options_toggle:hover i, .journeyplannerwrap-form .more_options_toggle:focus i, .journeyplannerwrap-form .more_options_toggle:active i {
  color: #ae1c0f;
}

.journeyplannerwrap-form .more_options {
  display: none;
  padding: 20px 15px;
  background: #F0F0F0;
}
@media (min-width: 992px) {
  .journeyplannerwrap-form .more_options {
    padding: 20px 25px;
  }
}

.journeyplannerwrap-form .more_options .location-wrap {
  padding: 20px 0;
}

.journeyplannerwrap-form .more_options.__active {
  display: block;
}

.journeyplannerwrap-form .more_options .location-changes {
  border-bottom: 1px solid #e8e8e8;
}

.journeyplannerwrap-form .more_options .location-changes .field_wrap {
  background: white;
}

.journeyplannerwrap-form .more_options .location-changes .field_wrap .label_wrap label {
  opacity: 0;
  font-size: 0;
}

.journeyplannerwrap-form .more_options .location-changes .field_wrap .input_wrap {
  width: 80%;
}

.journeyplannerwrap-form .more_options .location-changes .field_wrap .label_wrap::before {
  background-image: url(/images/Sign.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  top: 10px;
  left: 13px;
  width: 100%;
  height: 20px;
}

.journeyplannerwrap-form .more_options .location-distance .field_wrap .label_wrap::after,
.journeyplannerwrap-form .more_options .location-changes .field_wrap .label_wrap::after {
  right: 0;
}

.journeyplannerwrap-form .more_options .location-changes .field_wrap .input_wrap select {
  border: none;
}

.journeyplannerwrap-form .more_options .location-distance {
  border-bottom: 1px solid #e8e8e8;
}

.journeyplannerwrap-form .more_options .location-distance .field_wrap {
  background: white;
}

.journeyplannerwrap-form .more_options .location-distance .field_wrap .label_wrap label {
  opacity: 0;
  font-size: 0;
}

.journeyplannerwrap-form .more_options .location-distance .field_wrap .input_wrap {
  width: 80%;
}

.journeyplannerwrap-form .more_options .location-distance .field_wrap .label_wrap::before {
  background-image: url(/images/Walkone.png);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  top: 10px;
  left: 10px;
  width: 100%;
  height: 20px;
}

.journeyplannerwrap-form .more_options .location-distance .field_wrap .input_wrap select {
  border: none;
}

.journeyplannerwrap-form .more_options .location-mobility {
  border-bottom: 1px solid #e8e8e8;
}

.journeyplannerwrap-form .more_options .location-mobility .field_wrap {
  border: none;
  padding: 0;
}

.journeyplannerwrap-form .more_options .location-modes {
  border-bottom: 1px solid #e8e8e8;
}

.journeyplannerwrap-form .more_options .location-modes .field_wrap {
  border: none;
  padding: 0;
  display: block;
}

.journeyplannerwrap-form .more_options .location-modes .field_wrap .label_wrap::after {
  display: none;
}

.journeyplannerwrap-form .more_options .location-modes .field_wrap .label_wrap {
  width: unset;
  padding-bottom: 10px;
}

.journeyplannerwrap-form .more_options .location-modes .field_wrap .input_wrap.radiobuttons {
  display: flex;
  align-items: flex-start;
}

.journeyplannerwrap-form .more_options .location-modes .field_wrap .input_wrap.radiobuttons label {
  position: relative;
  cursor: pointer;
  height: 72px;
  display: inline-block;
  width: 30%;
  border-radius: 4px;
  border: 2px solid #e8e8e8;
  margin: 0px 0px 7px 0px;
  background-color: white;
  font-size: 12px;
  float: unset;
  padding: 5px;
  font-weight: medium;
  z-index: 1;
  text-align: center;
  flex: 1 0 30%;
}

.journeyplannerwrap-form .more_options .location-modes .field_wrap .input_wrap.radiobuttons label.checked {
  border: 2px solid #ae1c0f;
}

.journeyplannerwrap-form .more_options .location-modes .field_wrap .input_wrap.radiobuttons label input {
  opacity: 0;
  margin: 0 -9px 0 0;
  position: absolute;
}

.journeyplannerwrap-form .more_options .location-modes .field_wrap .input_wrap.radiobuttons label::before {
  z-index: 0;
}

.journeyplannerwrap-form .more_options .location-modes .field_wrap .input_wrap.radiobuttons label:first-child::before {
  content: "";
  background-image: url(/images/allmodesbutton.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: 24px;
  left: 0;
  width: 100%;
  height: 36px;
}

.journeyplannerwrap-form .more_options .location-modes .field_wrap .input_wrap.radiobuttons label:nth-child(2)::before {
  content: "";
  background-image: url(/images/radiobuttonbus.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: 24px;
  left: 0;
  width: 100%;
  height: 36px;
}

.journeyplannerwrap-form .more_options .location-modes .field_wrap .input_wrap.radiobuttons label:nth-child(3)::before {
  content: "";
  background-image: url(/images/radiobuttontrain.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: 24px;
  left: 0;
  width: 100%;
  height: 36px;
}

.journeyplannerwrap-form .journey-planner-form .location-switch {
  background-image: url(/images/Refresh.png);
  background-repeat: no-repeat;
  background-size: contain;
  transition: all 0.3s ease;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

#walk-plan .field_wrap .input_wrap input,
#cycle-plan .field_wrap .input_wrap input {
  height: 49px;
}

.journeyplannerwrap-form .location-wrapblock .location-switch {
  position: absolute;
  bottom: -22px;
  right: 5px;
  z-index: 1;
  height: 35px;
  width: 35px;
  border: 0;
  background-color: transparent;
  border: 2px solid transparent;
  border-radius: 100px;
  margin: 0;
}
.journeyplannerwrap-form .location-wrapblock .location-switch:focus, .journeyplannerwrap-form .location-wrapblock .location-switch:active {
  border: 2px solid #ae1c0f;
}

.journeyplannerwrap-form .journey-planner-form .location-enquire {
  display: none;
}

/*=======================================
JOURNEY PLANNER FORM
=======================================*/
.journey-planner-form .input_wrap.dateselect {
  margin-right: -15px;
}

.journey-planner-form .input_wrap.dateselect select {
  width: 47%;
  padding: 5px 5px;
  border: 0;
}

.journey-planner-form .picker__input {
  width: 100% !important;
  background-color: white !important;
}

.journey-planner-form .picker__frame {
  transition: 1s ease all;
}

@media (min-width: 992px) {
  .journey-planner-form .locationwrapper {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 30px;
  }

  .journey-planner-form .locationwrapper .location-wrap {
    width: 50%;
  }

  .journey-planner-form .locationwrapper .location-switch {
    position: absolute;
    bottom: -28px;
    width: 300px;
    left: 0;
  }
}
.journey-planner-form .location-wrap {
  position: relative;
}

.journey-planner-form .location-link {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 9;
  color: #ae1c0f;
  text-decoration: underline;
  font-weight: medium;
}

.journey-planner-form .location-wrap i {
  position: absolute;
  top: 0;
  right: -33px;
  width: 30px;
  line-height: 37px;
  z-index: 99;
  color: #333333;
  text-align: center;
}

.journey-planner-form .location-enquire {
  display: block;
  margin: -4px -35px 15px -20px;
  padding: 10px 50px 10px 23px;
  font-size: 0.85em;
  border-bottom: 1px solid #bebebe;
  position: relative;
}

.journey-planner-form .location-enquire a {
  font-weight: 500;
  color: #C31D36;
  position: relative;
}

.journey-planner-form .location-enquire a:hover::before {
  width: 100%;
}

.journey-planner-form .location-enquire a::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 2px;
  background-color: #C31D36;
  transition: all 0.3s ease;
}

.journey-planner-form .location-enquire i {
  display: none;
}

@media (min-width: 992px) {
  .journey-planner-form .location-enquire i {
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 10px;
    color: #333333;
  }
}
.journey-planner-form .location-switch {
  background-image: url("/images/icons/traveline_arrows_small_grey.png");
  background-repeat: no-repeat;
  background-size: contain;
  padding-left: 27px;
  color: #333333;
  font-size: 1em;
  font-weight: 500;
  line-height: normal;
  transition: all 0.3s ease;
  border: 0;
  background-color: transparent;
  margin-bottom: 10px;
}
.journey-planner-form .location-switch:hover, .journey-planner-form .location-switch:focus, .journey-planner-form .location-switch:active {
  color: white;
  text-decoration: underline;
  -webkit-text-decoration-color: white;
          text-decoration-color: white;
}

.journey-planner-sidebar-update .journey-planner-form {
  position: relative;
}
.journey-planner-sidebar-update .journey-planner-form .location-switch {
  background-color: #ffcccc;
  background-image: url(/images/Refresh.png);
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: 100px;
  border: 2px solid transparent;
  bottom: -22px;
  height: 35px;
  margin: 0;
  overflow: hidden;
  position: absolute;
  right: 5px;
  text-indent: 100%;
  transition: all 0.3s ease;
  white-space: nowrap;
  width: 35px;
  z-index: 1;
}
.journey-planner-sidebar-update .journey-planner-form .location-switch:hover, .journey-planner-sidebar-update .journey-planner-form .location-switch:focus, .journey-planner-sidebar-update .journey-planner-form .location-switch:active {
  border-color: #ae1c0f;
}
.journey-planner-sidebar-update .journey-planner-form .input_wrap.dateselect select {
  border: 1px solid #cccccc;
}

.journey-planner-form .journey-advanced {
  display: block;
  margin: 5px -20px 10px -20px;
  padding: 10px 20px;
  max-width: none;
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
  text-align: center;
}

.journey-planner-form .journey-advanced:hover {
  background: #d6d6d6;
  cursor: pointer;
}

.journey-planner-form .journey-advanced input {
  position: absolute;
  top: -9999px;
}

.journey-planner-sidebar-update .visible-advanced .label_wrap {
  display: block !important;
}

.journey-planner-sidebar-update .journey-advanced {
  margin: 0 -15px 20px -15px;
  border-top: 1px solid #1ab3aa;
  border-bottom: 1px solid #1ab3aa;
  color: white;
}

.journey-planner-sidebar-update .journey-advanced:hover {
  background: #ae1c0f;
}

@media (max-width: 767px) {
  .journey-planner-form .location-wrap i {
    display: none;
  }
}
/*=======================================
JOURNEY PLANNER TOP BAR
=======================================*/
.page-banner + .journey-planner-bar {
  margin-top: -52px;
}

.journey-planner-bar {
  background: #DEDEDE;
  margin-bottom: 35px;
}

.journey-planner-bar .field_wrap {
  margin: 0;
  padding: 7px 15px;
  height: 47px;
  overflow: hidden;
  border-left: 1px solid #c2c2c2;
  text-align: center;
  display: flex;
  align-items: center;
}
@media (min-width: 1200px) {
  .journey-planner-bar .field_wrap {
    padding: 7px 25px;
  }
}

.journey-planner-bar .field_wrap.__alt {
  background: #e5e5e5;
}

.journey-planner-bar .input_wrap.radiobuttons &gt; label {
  float: none;
  margin: 0;
}

.journey-planner-bar .submit_wrap {
  margin: 0;
}
.journey-planner-bar .submit_wrap button {
  padding-top: 5px;
  padding-bottom: 5px;
}

.journey-planner-bar label {
  margin: 0;
}

@media (max-width: 767px) {
  .journey-planner-bar {
    display: none;
  }
}
/*=======================================
JOURNEY PLANNER BLOCK
=======================================*/
.journey-planner-block {
  margin: 20px 0 40px 53px;
  min-height: 78px;
  background: #DEDEDE;
  border-bottom: 1px solid #cccccc;
}

.journey-planner-block h4 {
  padding: 17px 10px;
  margin: 0;
  line-height: 1.3em;
  font-size: 1em;
  font-weight: 500;
  text-align: center;
}

.journey-planner-block .journey-planner-bar-toggle {
  display: block;
  min-height: 77px;
  padding: 10px 10px;
  line-height: 1.3em;
  color: #333333;
  text-align: center;
}

.journey-planner-block .journey-planner-bar-toggle img {
  display: block;
  margin: 0 auto;
}

.journey-modes {
  background-color: white;
  position: relative;
  text-align: center;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.journey-modes .journey-planner-mode-item {
  position: relative;
  margin-right: 30px;
  flex: 0 0 auto;
}
@media (min-width: 768px) {
  .journey-modes .journey-planner-mode-item {
    margin-right: 50px;
  }
}
.journey-modes .journey-planner-mode-item::before {
  content: "";
  width: 26px;
  height: 3px;
  border-top: 3px dotted #626262;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 100%;
}
@media (min-width: 768px) {
  .journey-modes .journey-planner-mode-item::before {
    width: 46px;
  }
}
.journey-modes .journey-planner-mode-item:last-child {
  margin-right: 0;
}
.journey-modes .journey-planner-mode-item:last-child::before {
  content: none;
}

.journey-planner-block .journey-planner-block-favourites {
  border-left: 1px solid #cccccc;
  display: block;
  min-height: 77px;
  padding: 18px 7px;
  line-height: 1.3em;
  color: #333333;
  font-weight: 500;
  text-align: center;
}

.journey-planner-block .journey-planner-block-favourites i {
  color: #F99D16;
  font-size: 20px;
}

.journey-planner-block .journey-planner-block-favourites:hover {
  background: #cccccc;
}

.journey-planner-block .journey-planner-block-favourites div {
  margin-bottom: 5px;
}

.journey-planner-block .col-sm-2 .journey-planner-block-favourites {
  border: none;
}

@media (max-width: 1199px) {
  .journey-planner-block h4,
.journey-planner-block .journey-planner-block-favourites {
    padding: 17px 10px;
  }
}
@media (max-width: 991px) {
  .journey-planner-block .journey-planner-block-favourites {
    padding: 17px 14px;
  }
}
@media (max-width: 767px) {
  .journey-planner-block {
    display: none;
  }

  .journey-planner-block h4 {
    min-height: 39px;
    padding: 10px;
  }

  .journey-planner-block .journey-planner-block-favourites,
.journey-planner-block .journey-planner-block-toggle {
    min-height: 39px;
    padding: 10px;
  }
}
/*=======================================
JOURNEY PLANNER SIDEBAR CHOICES
=======================================*/
.journey-planner-sidebar-choices {
  background: white;
  margin: 0 0 30px 0;
}

.choices-title {
  margin: 0;
  padding: 26px 15px 18px 15px;
  color: white;
  font-weight: 500;
  font-size: 22px;
  line-height: 27px;
  background-color: #ae1c0f;
}

.edit-journey {
  font-size: 1.1em;
  color: white;
  background-color: #C61F14;
  font-weight: medium;
  text-align: left;
  width: 100%;
  display: flex;
  align-items: center;
  padding: 14px 15px;
  border: 0;
}
.edit-journey .icon {
  padding-right: 12px;
  font-size: 15px;
  margin-right: 8px;
}
.edit-journey:hover, .edit-journey:focus, .edit-journey:active {
  text-decoration: none;
  color: white;
}
.edit-journey:hover .underline, .edit-journey:focus .underline, .edit-journey:active .underline {
  text-decoration: underline;
}

#choices-later {
  border-bottom: 2px solid #B6B6B6;
}

.choices-prevnext {
  display: block;
  padding: 8px 15px;
  color: #333333;
  background: #e8e8e8;
  font-weight: 500;
}
.choices-prevnext:hover, .choices-prevnext:focus, .choices-prevnext:active {
  color: #333333;
  text-decoration: none;
}
.choices-prevnext:hover .underline, .choices-prevnext:focus .underline, .choices-prevnext:active .underline {
  text-decoration: underline;
}

.choices-journey {
  display: flex;
  padding: 6px 0;
  background: white;
  border-top: 1px solid #cccccc;
  color: #333333;
}
.choices-journey:after {
  content: "";
  display: table;
  clear: both;
}
.choices-journey-deparr {
  display: block;
  width: 35%;
  border-right: 1px solid #cccccc;
  padding: 0 5px 0 12px;
  display: flex;
  justify-content: center;
  flex-direction: column;
}
@media (min-width: 576px) {
  .choices-journey-deparr {
    padding: 0 5px 0 12px;
  }
}
.choices-journey-deparr .arrive,
.choices-journey-deparr .depart {
  margin: 0;
}
.choices-journey-modes {
  width: 10%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
@media (min-width: 576px) {
  .choices-journey-modes {
    width: 15%;
    flex-direction: row;
  }
}
.choices-journey-modes:after {
  content: "";
  display: table;
  clear: both;
}
.choices-journey-mode {
  max-width: 20px;
  margin: 0 auto;
}
.choices-journey-changes {
  display: block;
  width: 24%;
  padding: 0 5px;
  border-left: 1px solid #cccccc;
  border-right: 1px solid #cccccc;
  line-height: 1.5;
  text-align: center;
  display: flex;
  justify-content: center;
  flex-direction: column;
  margin: 0;
}
@media (min-width: 576px) {
  .choices-journey-changes {
    padding: 0 5px;
  }
}
.choices-journey-mins {
  display: block;
  width: 25%;
  margin: 0;
  padding: 0 0 0 5px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
@media (min-width: 576px) {
  .choices-journey-mins {
    padding: 0 5px;
  }
}
.choices-journey-mins .hours {
  display: block;
  padding: 0 5px;
}
.choices-journey-mins .minutes {
  display: block;
  padding: 0 5px;
}
.choices-journey:hover, .choices-journey.selected {
  background: #D7D7D7;
  color: #333333;
  text-decoration: none;
  font-weight: 500;
}

.welsh .choices-journey-changes {
  font-size: 0.75em;
}

.journey-choices {
  padding: 10px 0;
  background-color: white;
}

.choices-startend,
.choices-view-return,
.choices-view-favourite {
  display: flex;
  align-items: center;
  background-color: white;
  color: #003da6;
  font-size: 1rem;
  font-weight: 500;
  margin: 0 !important;
  margin-top: 20px;
  padding-bottom: 25px;
  padding: 15px 18px;
  text-align: left;
  border-radius: 0;
  box-shadow: none;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
}
.choices-startend a,
.choices-view-return a,
.choices-view-favourite a {
  text-decoration: underline;
  margin-left: 5px;
}
.choices-startend .icon,
.choices-view-return .icon,
.choices-view-favourite .icon {
  margin-right: 11px;
  font-size: 15px;
  display: inline-block;
}
.choices-startend .underline,
.choices-view-return .underline,
.choices-view-favourite .underline {
  text-decoration: underline;
}
.choices-startend:hover, .choices-startend:focus, .choices-startend:active,
.choices-view-return:hover,
.choices-view-return:focus,
.choices-view-return:active,
.choices-view-favourite:hover,
.choices-view-favourite:focus,
.choices-view-favourite:active {
  color: #003da6;
  text-decoration: none;
  background-color: transparent;
}
.choices-startend:hover .underline, .choices-startend:focus .underline, .choices-startend:active .underline,
.choices-view-return:hover .underline,
.choices-view-return:focus .underline,
.choices-view-return:active .underline,
.choices-view-favourite:hover .underline,
.choices-view-favourite:focus .underline,
.choices-view-favourite:active .underline {
  text-decoration: none;
}
.choices-startend:hover svg path, .choices-startend:focus svg path, .choices-startend:active svg path,
.choices-view-return:hover svg path,
.choices-view-return:focus svg path,
.choices-view-return:active svg path,
.choices-view-favourite:hover svg path,
.choices-view-favourite:focus svg path,
.choices-view-favourite:active svg path {
  fill: #333333;
}

.choices-help,
.choices-phone {
  color: white;
  text-align: center;
  font-weight: 500;
  background-color: #333333;
}

.choices-phone a {
  color: white;
}

.choices-help {
  margin: 0;
  font-size: 16px;
  padding: 15px 0 5px 0px;
}

.choices-phone {
  font-size: 22px;
  padding: 5px 0 15px 0;
}

.choices-none {
  margin: 0 0 20px 0;
  padding: 20px 15px;
  background: white;
  text-align: center;
}

.choices-none p {
  margin: 0;
}

.choices-destination {
  border-bottom: 1px solid #CCCCCC;
}

.choices-destination,
.choices-date {
  background: #ffe7e8;
  padding: 8px 15px 8px 15px;
  font-weight: 500;
  position: relative;
  line-height: 1.5;
}

.choices-date span.date_label {
  font-weight: 400;
  margin-right: 5px;
}

.journeys-none {
  margin: 20px 0;
  padding: 20px 15px;
  text-align: center;
}

.journeys-none p {
  margin: 0;
  font-size: 1.2em;
}

.choices-loader {
  background: white;
  padding: 20px 0;
}

.choices-loader img {
  display: block;
  margin: 0 auto;
}

@media (max-width: 992px) {
  .choices-phone {
    margin: 0;
    font-size: 1.7em;
  }
}
@media (max-width: 991px) {
  .edit-journey,
.choices-view-return.button,
.choices-view-return.timetable-disruption-button,
.choices-view-return.modalblock-close,
.choices-view-return.modalblock-submit,
.traveline_plus_content form button.choices-view-return,
.bus-stop-search button.choices-view-return,
.journey-planner-bar .submit_wrap button.choices-view-return,
.choices-view-favourite.button,
.choices-view-favourite.timetable-disruption-button,
.choices-view-favourite.modalblock-close,
.choices-view-favourite.modalblock-submit,
.traveline_plus_content form button.choices-view-favourite,
.bus-stop-search button.choices-view-favourite,
.journey-planner-bar .submit_wrap button.choices-view-favourite {
    font-size: 1em;
  }

  .journey-planner-sidebar-choices {
    margin: 0;
  }

  .choices-journey-mode {
    max-width: 20px;
  }

  .choices-help {
    font-size: 1em;
  }
}
/* Medium devices (desktops, 992px and up) */
@media (max-width: 1199px) {
  .journey-planner-sidebar-choices {
    margin: 0;
  }
}
/*=======================================
JOURNEY PLANNER SIDEBAR UPDATE
=======================================*/
.journey-planner-sidebar-update {
  display: none;
  padding: 20px 35px 20px 15px;
  background: white;
}
.journey-planner-sidebar-update .location-switch {
  color: white;
  bottom: -22px;
}
.journey-planner-sidebar-update .label_wrap {
  position: absolute;
  left: -999999px;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  transition: none;
}
.journey-planner-sidebar-update .submit_wrap {
  width: 100%;
}
.journey-planner-sidebar-update .checkboxes {
  margin-top: 20px;
}
.journey-planner-sidebar-update .checkboxes label {
  width: 49%;
}

.choices-journey {
  position: relative;
  font-size: 0.875rem;
}
@media (min-width: 1200px) {
  .choices-journey {
    font-size: 1rem;
  }
}

.choices-journey:hover,
.choices-journey.selected {
  background: #ffe7e8;
  color: #333333;
  border-top-color: transparent;
}
.choices-journey:hover + .choices-journey,
.choices-journey.selected + .choices-journey {
  border-top-color: transparent;
}

.choices-journey::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 0%;
  width: 3px;
  background-color: #ae1c0f;
  transition: all 0.3s ease;
}

.choices-journey:hover::before,
.choices-journey.selected::before {
  height: 100%;
}

.choices-journey:hover .choices-journey-deparr,
.choices-journey.selected .choices-journey-deparr {
  border-right: 1px solid #cccccc;
}

.choices-journey:hover .choices-journey-changes,
.choices-journey.selected .choices-journey-changes {
  border-left: 1px solid #cccccc;
  border-right: 1px solid #cccccc;
}

.previous-results {
  display: block;
  margin: 0 auto 20px auto;
  padding: 10px 16px;
  width: 330px;
  background: #006231;
  border-radius: 3px;
  color: white;
  text-align: center;
  font-size: 1.1em;
}

.previous-results:hover {
  background: #004924;
  color: white;
}

/*=======================================
JOURNEY PLANNER SIDEBAR
=======================================*/
.journey-planner-sidebar-wrap {
  color: #333333;
  margin: 0 0 30px 0;
}

.journey-planner-sidebar-wrap.edit .journey-planner-sidebar-update {
  display: block;
}

/*=======================================
JOURNEY PLANNER LIST
=======================================*/
#journeys-wrap .tabbar {
  padding: 0;
}

.journey-summary {
  margin: 0 0 20px 0;
  background: white;
  display: flex;
  flex-wrap: wrap;
}
@media (min-width: 992px) {
  .journey-summary {
    margin: 0 0 20px 53px;
  }
}

.journey-summary-points,
.journey-summary-view {
  display: block;
  float: left;
}

.journey-summary-points {
  border-right: 1px solid #DEDEDE;
  width: 70%;
}

.journey-summary-points.__cycle {
  min-height: 96px;
  float: none;
  width: auto;
}

.journey-summary-from,
.journey-summary-to,
.journey-summary-admin {
  display: block;
  padding: 10px;
  font-weight: 500;
}

.journey-summary-to {
  border-top: 1px solid #DEDEDE;
}

.journey-summary-admin {
  border-top: 1px solid #DEDEDE;
}

.journey-summary-view {
  text-align: center;
  font-weight: 500;
  color: #333333;
  display: block;
  width: 30%;
  padding: 12px;
  border: 0;
  background-color: transparent;
}

.journey-summary-view.__cycle {
  width: auto;
  padding: 10px 30px;
  position: relative;
}
@media (min-width: 576px) {
  .journey-summary-view.__cycle {
    height: 96px;
    padding: 0;
  }
}

.journey-summary-view i {
  display: block;
  margin: 0 0 5px 0;
  color: #ae1c0f;
  font-size: 25px;
  line-height: 1em;
}

@media (min-width: 576px) {
  .journey-summary-view.__cycle i {
    transform: translateX(-15%);
    line-height: 96px;
  }
}
@media (min-widht: 768px) {
  .journey-summary-view.__cycle i {
    transform: translateX(-50%);
  }
}
@media (min-width: 992px) {
  .journey-summary-view.__cycle i {
    transform: translateX(-100%);
  }
}
@media (min-width: 1200px) {
  .journey-summary-view.__cycle i {
    transform: translateX(-50%);
  }
}
.journey-summary-view:hover {
  color: #333333;
}

.journey-summary-coord {
  padding: 18px;
  font-weight: 500;
  color: #333333;
  font-size: 14px;
  position: relative;
  padding: 25px 30px;
  border-right: 1px solid #DEDEDE;
  display: block;
}

@media (min-width: 576px) {
  .journey-summary-coord {
    height: 96px;
    padding: 25px 30px;
  }
}
.journey-summary-coord i {
  display: inline-block;
  margin: 0 10px 5px 0;
  color: #ae1c0f;
  font-size: 25px;
}

@media (min-width: 576px) {
  .journey-summary-coord i {
    margin: 0 0 5px 0;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }
}
.journey-summary-print {
  display: block;
  font-weight: 500;
  border-right: 1px solid #DEDEDE;
  padding: 25px 30px;
  position: relative;
}

@media (min-width: 576px) {
  .journey-summary-print {
    height: 96px;
    padding: 0;
  }
}
.journey-summary-print i {
  display: block;
  color: #ae1c0f;
  font-size: 25px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

@media (min-width: 576px) {
  .journey-summary-print i {
    transform: translate(190%, -50%);
  }
}
@media (min-width: 768px) {
  .journey-summary-print i {
    transform: translate(150%, -50%);
  }
}
@media (min-width: 992px) {
  .journey-summary-print i {
    transform: translate(-50%, -50%);
  }
}
.journey-summary-map {
  display: none;
  height: 600px;
  width: 100%;
}

.journey-summary.open .journey-summary-map {
  display: block;
}

.journey-legs {
  list-style: none;
  margin: 0 0 20px 10px;
  padding: 20px 0;
}

.journey-leg {
  position: relative;
  display: block;
  padding: 0 0 24px 40px;
  border-left: 3px dotted #30383B;
  margin-left: -11.5px;
}
@media (min-width: 576px) {
  .journey-leg {
    margin-left: -1.5px;
  }
}
.journey-leg.fares-area-main {
  border-left: 0;
  margin-left: 13px;
}
.journey-leg.fares-area-main .tabbar ul li:first-child a {
  padding: 1px 23px;
}
.journey-leg.fares-area-main .tabbar ul li:first-child a::before {
  top: 0;
}

.journey-leg-row {
  padding-bottom: 3px;
  display: flex;
  flex-direction: row;
}
@media (min-width: 768px) {
  .journey-leg-row {
    padding-bottom: 10px;
  }
}
.journey-leg-row.__first {
  min-height: 40px;
  display: flex;
  align-items: flex-start;
  padding-bottom: 3px;
  width: 100%;
  flex: 0 0 100%;
}
@media (min-width: 768px) {
  .journey-leg-row.__first {
    padding-bottom: 30px;
  }
}
.journey-leg-row.__first::before {
  font-family: "icomoon";
  left: -28px;
  top: 15px;
  position: absolute;
  color: #ae1c0f;
  font-size: 21px;
}
@media (min-width: 768px) {
  .journey-leg-row.__first::before {
    top: 25px;
    left: -46px;
  }
}
.bus .journey-leg-row.__first::before, .coach .journey-leg-row.__first::before {
  content: "\E90E";
}
.walk .journey-leg-row.__first::before {
  content: "\E90A";
}
.rail .journey-leg-row.__first::before {
  content: "\E915";
}
.cycle .journey-leg-row.__first::before {
  content: "\E909";
}
.ferry .journey-leg-row.__first::before {
  content: "\E909";
}
.air .journey-leg-row.__first::before {
  content: "\E909";
}
.journey-leg-row:last-child {
  padding: 0;
}
.journey-leg-row .journey-leg-title span, .journey-leg-row .journey-leg-value span {
  width: 100%;
}
.journey-leg-row .journey-leg-title {
  width: 110px;
  flex: 0 0 110px;
  margin-right: 10px;
}
.journey-leg-row .journey-leg-value {
  width: 100%;
  flex: 1 1 auto;
}

.journey-leg-header {
  position: relative;
  display: block;
  border-left: 3px dotted transparent;
  margin: 20px 0 0 0;
}
@media (min-width: 768px) {
  .journey-leg-header {
    margin: 20px 0 0 53px;
  }
}
.journey-leg-header-title {
  margin: 10px 0 0 0;
  font-size: 22px;
  font-weight: 500;
  color: #333333;
}

.journey-leg.alternate {
  border-left: 3px solid #333333;
}

.journey-leg .journey-leg-badge {
  position: absolute;
  left: -9px;
  top: -7px;
  display: block;
  width: 16px;
  height: 16px;
  background: white;
  border: 2px solid #ae1c0f;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateX(-0.5px);
}
.journey-leg.first .journey-leg-badge, .journey-leg.last .journey-leg-badge {
  border: 2px solid #333333;
}
.journey-leg-heading {
  position: relative;
  min-height: 44px;
  padding: 20px 0;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .journey-leg-heading {
    padding: 30px 0;
  }
}
.journey-leg-disruptions {
  padding-bottom: 30px;
  margin-left: -30px;
}
.journey-leg-info {
  width: 100%;
  flex: 1 1 auto;
}
.journey-leg-info-wrap {
  display: flex;
  flex-wrap: wrap;
}
@media (min-width: 1200px) {
  .journey-leg-info-wrap {
    flex-wrap: nowrap;
  }
}
.journey-leg-meta {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  width: 100%;
  flex: 0 0 100%;
  padding-top: 15px;
}
@media (min-width: 1200px) {
  .journey-leg-meta {
    align-items: flex-end;
    padding-top: 0;
    width: 200px;
    flex: 0 0 200px;
  }
}
.journey-leg-accessibility {
  display: flex;
  align-items: center;
}
.journey-leg-accessibility .icon {
  font-size: 27px;
  color: #003da6;
  margin-right: 10px;
}
.journey-leg-accessibility .icon.__red {
  color: #ae1c0f;
}
.journey-leg-accessibility + .button, .journey-leg-accessibility + .timetable-disruption-button, .journey-leg-accessibility + .modalblock-close,
.journey-leg-accessibility + .modalblock-submit, .traveline_plus_content form .journey-leg-accessibility + button, .bus-stop-search .journey-leg-accessibility + button, .journey-planner-bar .submit_wrap .journey-leg-accessibility + button {
  margin-top: 30px;
}

.journey-leg .journey-leg-panel {
  background: white;
}

.journey-leg.no_journeys .journey-leg-panel {
  padding: 20px;
}

.journey-leg .journey-leg-body {
  padding: 0 15px 0 0;
  margin: 0 0 0 40px;
}
@media (min-width: 768px) {
  .journey-leg .journey-leg-body {
    padding: 0 30px 0 0;
    margin: 0 0 0 62px;
  }
}

.journey-mode-icon {
  position: absolute;
  left: 66px;
  top: 25px;
}

.journey-leg .journey-leg-duration {
  margin: 0 0 0 20px;
  font-size: 0.9em;
}

.journey-leg.first .journey-leg-badge,
.journey-leg.last .journey-leg-badge {
  width: 20px;
  height: 20px;
  padding: 0;
  text-align: center;
  font-weight: 500;
  font-size: 14px;
  left: -10.5px;
}
@media (min-width: 768px) {
  .journey-leg.first .journey-leg-badge,
.journey-leg.last .journey-leg-badge {
    left: -14px;
    width: 26px;
    height: 26px;
  }
}

.journey-leg.last {
  border-left: 3px solid transparent;
}

.journey-leg .journey-leg-footer {
  background: #e8e8e8;
}

.journey-leg .googlemap {
  height: 300px;
}

.journey-leg .googlemap-load {
  width: 100%;
  height: 100%;
}

.journey-leg .tabbar {
  overflow: hidden;
}

.journey-leg .tabbar ul {
  padding: 0;
}

.journey-leg .tabbar ul li {
  display: inline;
}
.journey-leg .tabbar ul li:first-child a {
  padding: 1px 10px 1px 30px;
}
@media (min-width: 768px) {
  .journey-leg .tabbar ul li:first-child a {
    padding: 1px 20px 1px 62px;
  }
}

.journey-leg .tabbar ul li a {
  display: flex;
  align-items: center;
  font-weight: 500;
  float: left;
  margin: 0;
  padding: 1px 10px;
  line-height: 30px;
  font-size: 1rem;
  color: #333333;
}
@media (min-width: 768px) {
  .journey-leg .tabbar ul li a {
    padding: 1px 20px;
  }
}
.journey-leg .tabbar ul li a .underline {
  text-decoration: none;
}
.journey-leg .tabbar ul li a:hover, .journey-leg .tabbar ul li a:focus, .journey-leg .tabbar ul li a:active {
  text-decoration: none;
}
.journey-leg .tabbar ul li a:hover .underline, .journey-leg .tabbar ul li a:focus .underline, .journey-leg .tabbar ul li a:active .underline {
  text-decoration: underline;
}
.journey-leg .tabbar ul li a .icon {
  margin-left: 10px;
}

.journey-leg .tabbar ul li a:hover {
  background: #e8e8e8;
}

.journey-leg .tabbar ul li.active a {
  background: #333333;
  color: white;
}
.journey-leg .tabbar ul li.active a::before {
  color: white;
}
.journey-leg .tabbar ul li.active a .underline {
  text-decoration: underline;
}

.journey-leg .tab-pane.fares {
  padding: 5px 10px;
}

/* new occupancy stuff */
.journey-occupancy {
  padding: 16px 30px;
  border-top: solid 1px #d7d7d7;
  margin: 30px 0 0 0;
}

/* __quiet modifier */
.journey-occupancy.__quiet .journey-occupancy-body-status-inner &gt; span {
  background: #cccccc;
}

.journey-occupancy.__quiet .journey-occupancy-body-status-inner &gt; span::before {
  background: #41c75f;
}

.journey-occupancy.__quiet .journey-occupancy-body-status-inner &gt; span::after {
  background: #cccccc;
}

/* __moderate modifier */
.journey-occupancy.__moderate .journey-occupancy-body-status-inner &gt; span::after {
  background: #cccccc;
}

/* __busy modifier */
.journey-occupancy.__busy .journey-occupancy-body-status-inner &gt; span {
  background: #eb2929;
}

.journey-occupancy.__busy .journey-occupancy-body-status-inner &gt; span::before,
.journey-occupancy.__busy .journey-occupancy-body-status-inner &gt; span::after {
  background: #eb2929;
}

.journey-occupancy-head p {
  display: inline-block;
  margin: 1px 0 0 7px;
  color: #555;
  font-weight: 500;
}

.journey-occupancy-body {
  margin: 20px 0;
  border: solid 1px #e2e2e2;
  display: flex;
  flex-wrap: nowrap;
  border-radius: 2px;
}

.journey-occupancy-body-status {
  padding: 0 20px 0 40px;
}

.journey-occupancy-body-status-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.journey-occupancy-body-status-inner &gt; span {
  display: block;
  position: relative;
  width: 12px;
  height: 25px;
  background: #f97218;
  transform: translate(0, 5px);
}

.journey-occupancy-body-status-inner &gt; span::before,
.journey-occupancy-body-status-inner &gt; span::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 12px;
  background: #f97218;
}

.journey-occupancy-body-status-inner &gt; span::before {
  transform: translate(-23px, 0);
  height: 15px;
}

.journey-occupancy-body-status-inner &gt; span::after {
  transform: translate(10px, 0);
  height: 35px;
}

.journey-occupancy-body-status-inner &gt; p {
  margin: 0 0 0 30px;
  font-weight: 500;
  color: #555;
}

.journey-occupancy-body-statustext {
  position: relative;
  padding: 20px;
  color: #555;
}

.journey-occupancy-body-statustext::before {
  content: "";
  position: absolute;
  background: #d0d0d0;
  width: 1px;
  height: calc(100% - 10px);
  top: 5px;
  left: 0;
}

.main-loader {
  display: none;
  padding: 50px 20px;
  text-align: center;
}

.main-loader img {
  display: inline-block;
}

.journey-disruption-button {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 10px 20px 10px 48px;
  color: white;
  font-size: 1.125rem;
  font-weight: 400;
  background: #333333;
  width: 100%;
  position: relative;
}
.journey-disruption-button .plus,
.journey-disruption-button .minus {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 24px;
}
.journey-disruption-button .minus {
  display: none;
}
.journey-disruption-button.open .plus {
  display: none;
}
.journey-disruption-button.open .minus {
  display: block;
}
.journey-disruption-button i {
  color: #FFCB31 !important;
}
.journey-disruption-button .icon-warning {
  margin: 0 13px 0 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 20px;
}
.journey-disruption-button:hover, .journey-disruption-button:focus, .journey-disruption-button:active {
  color: white;
}

.disruption-content {
  padding: 15px 30px 30px;
  background-color: #333333;
  position: relative;
}
.disruption-content::before {
  content: "";
  display: block;
  height: 1px;
  background-color: white;
  position: absolute;
  top: 0px;
  left: 20px;
  right: 20px;
}
.disruption-article {
  display: block;
  margin: 0 0 15px 0;
  color: white;
}
.disruption-article:last-child {
  margin: 0;
}
.disruption-article:hover, .disruption-article:focus, .disruption-article:active {
  color: white;
}

@media (max-width: 767px) {
  .journey-leg {
    padding: 0 0 20px 20px;
  }

  .journey-leg .tabbar ul li a {
    border: none;
  }
}
.view-map::before {
  content: "P ";
  font-family: "icomoon";
}

.view-fares::before {
  content: "\A3   ";
}

.view-map::before,
.view-fares::before {
  font-size: 1rem;
  color: #333333;
}

.view-map::before,
.view-fares::before {
  position: absolute;
  top: 1px;
}

.view-map::before {
  font-size: 0.875rem;
  left: 10px;
}
@media (min-width: 768px) {
  .view-map::before {
    left: 38px;
  }
}

.view-fares::before {
  left: 7px;
}

.view-map,
.view-fares {
  position: relative;
}

/*=======================================
SIDEBAR JOURNEY PLANNER
=======================================*/
.sidebar-journeyplanner {
  max-width: 410px;
  padding: 15px;
  margin-bottom: 30px;
  border-radius: 3px;
  background: #E3E3E3;
}

.sidebar-journeyplanner i {
  display: none;
}

.sidebar-journeyplanner label {
  color: #555;
}

.sidebar-journeyplanner button {
  width: 100%;
  font-size: 16px;
}

.sidebar-journeyplanner input[type=text],
.sidebar-journeyplanner input[type=password],
.sidebar-journeyplanner input[type=email],
.sidebar-journeyplanner input[type=number],
.sidebar-journeyplanner textarea,
.sidebar-journeyplanner select {
  font-size: 0.8em;
}

/*=======================================
CYCLE JOURNEY PLANNER
=======================================*/
.cycle-journey {
  list-style: none;
  margin: 0;
  padding: 10px;
  background: white;
}

.cycle-journey li {
  margin: 0 0 5px 0;
}

/*=======================================
JOURNEY PLANNER INFO
=======================================*/
.journey-info {
  margin: 20px 0 0;
  overflow: hidden;
  background: white;
}

.journey-info-modes {
  font-size: 1em;
  font-weight: 500;
  color: #333333;
  padding: 10px;
  width: 100%;
  padding: 25px 17px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
}
@media (min-width: 1200px) {
  .journey-info-modes {
    justify-content: flex-start;
    align-items: center;
    flex-direction: row;
  }
}

.welsh .journey-info-modes {
  font-size: 14px;
}

.journey-info-modes-title {
  width: 100%;
  margin: 0 0 15px 0;
}
@media (min-width: 1200px) {
  .journey-info-modes-title {
    width: 33%;
    margin: 0;
  }
}

.journey-planner-modes-wrap {
  width: 100%;
}
@media (min-width: 1200px) {
  .journey-planner-modes-wrap {
    width: 60%;
  }
}

.journey-planner-bar-toggle &gt; img {
  padding: 0 5px;
}

.journey-info-buttons {
  width: 100%;
  display: flex;
  justify-content: flex-start;
}
@media (min-width: 768px) {
  .journey-info-buttons {
    padding: 0 10px;
    justify-content: flex-end;
  }
}
.journey-info-buttons &gt; button,
.journey-info-buttons &gt; a {
  padding: 10px 15px;
  text-align: center;
  color: #003da6;
  font-weight: 500;
  border: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  transition: 0.3s ease all;
  max-width: 120px;
}
.journey-info-buttons &gt; button .underline,
.journey-info-buttons &gt; a .underline {
  text-decoration: underline;
}
.journey-info-buttons &gt; button .icon,
.journey-info-buttons &gt; a .icon {
  margin-bottom: 5px;
}
.journey-info-buttons &gt; button:hover, .journey-info-buttons &gt; button:focus, .journey-info-buttons &gt; button:active,
.journey-info-buttons &gt; a:hover,
.journey-info-buttons &gt; a:focus,
.journey-info-buttons &gt; a:active {
  text-decoration: none;
  background-color: transparent;
}
.journey-info-buttons &gt; button:hover .underline, .journey-info-buttons &gt; button:focus .underline, .journey-info-buttons &gt; button:active .underline,
.journey-info-buttons &gt; a:hover .underline,
.journey-info-buttons &gt; a:focus .underline,
.journey-info-buttons &gt; a:active .underline {
  text-decoration: none;
}

#del-favourite .icon {
  color: #ED9900;
}

.journey-date {
  background: white;
  padding: 21px 15px;
  color: #333333;
}
@media (min-width: 768px) {
  .journey-date {
    padding: 21px 17px;
  }
}
.journey-date-item {
  height: 100%;
  border-right: 1px solid #cccccc;
  display: flex;
  flex-direction: column;
  padding: 0 10px;
}
.journey-date-item.__center {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.journey-date-items [class^=col-]:first-child .journey-date-item {
  padding-left: 0;
}
.journey-date-items [class^=col-]:last-child .journey-date-item {
  border-right: 0;
  padding-right: 0;
}
.journey-date .button, .journey-date .timetable-disruption-button, .journey-date .modalblock-close,
.journey-date .modalblock-submit, .journey-date .traveline_plus_content form button, .traveline_plus_content form .journey-date button, .journey-date .bus-stop-search button, .bus-stop-search .journey-date button, .journey-date .journey-planner-bar .submit_wrap button, .journey-planner-bar .submit_wrap .journey-date button {
  font-size: 1.125rem;
}
@media (min-width: 1200px) {
  .journey-date .button, .journey-date .timetable-disruption-button, .journey-date .modalblock-close,
.journey-date .modalblock-submit, .journey-date .traveline_plus_content form button, .traveline_plus_content form .journey-date button, .journey-date .bus-stop-search button, .bus-stop-search .journey-date button, .journey-date .journey-planner-bar .submit_wrap button, .journey-planner-bar .submit_wrap .journey-date button {
    margin-right: 35px;
  }
}

@media (min-width: 768px) {
  .journey-info {
    margin: 20px 0 0;
  }
}
@media (min-width: 992px) {
  .journey-planner-bar-favourites span {
    font-size: 16px;
  }

  .journey-summary {
    margin-left: 0;
  }
}
@media (min-width: 992px) and (min-width: 1200px) {
  .journey-summary {
    margin-left: 53px;
  }
}
@media (min-width: 992px) {
  .journey-date,
.journey-info {
    margin: 20px 0 0 0;
  }
}
@media (min-width: 992px) and (min-width: 1200px) {
  .journey-date,
.journey-info {
    margin: 20px 0 0 53px;
  }
}
/* search by oper button*/
.plansearch-oper {
  display: block;
  color: #003da6;
  font-weight: 500;
  margin: 20px 0 0 0;
  transition: all 0.3s;
  border: 0;
  background-color: transparent;
}
.plansearch-oper:hover, .plansearch-oper:focus, .plansearch-oper:active {
  outline: none;
  text-decoration: underline;
  -webkit-text-decoration-color: #003da6;
          text-decoration-color: #003da6;
}
.plansearch-oper:hover::after, .plansearch-oper:focus::after, .plansearch-oper:active::after {
  color: #003da6;
  transform: translateX(20px);
}
.plansearch-oper:after {
  content: "&gt;";
  font-family: icomoon;
  vertical-align: middle;
  display: inline-block;
  transform: translateX(10px);
  transition: all 0.3s;
}

/* SIDEBAR JOURNEY PLANNER */
.journey-planner-sidebar-wrap .searchoper-hr {
  border-color: #cccccc;
  margin: 20px 0;
}

@media (min-width: 768px) {
  .journey-planner-sidebar-wrap .searchoperhold {
    right: -295px;
    top: 0px;
  }
}
@media (min-width: 992px) {
  .journey-planner-sidebar-wrap .searchoperhold {
    right: -450px;
  }
}
/* SIDEBAR JOURNEY PLANNER */
/* BLOG JOURNEY PLANNER */
.sidebar-journeyplanner {
  position: relative;
}

.sidebar-journeyplanner .plansearch-oper {
  color: #ae1c0f;
}

.sidebar-journeyplanner .plansearch-oper:after {
  color: #ae1c0f;
}

.sidebar-journeyplanner .plansearch-oper:hover,
.sidebar-journeyplanner .plansearch-oper:focus {
  color: #1ab3aa;
}

.sidebar-journeyplanner .plansearch-oper:hover:after,
.sidebar-journeyplanner .plansearch-oper:focus:after {
  color: #1ab3aa;
  transform: translateX(20px);
}

.sidebar-journeyplanner .searchoper-hr {
  border-color: #cccccc;
  margin: 20px 0;
}

.sidebar-journeyplanner .searchoper-closetab {
  width: 60px;
  height: 60px;
  background: #f89e16;
  display: inline-block;
  position: relative;
  right: 20px;
}

@media (min-width: 1200px) {
  .sidebar-journeyplanner .searchoper-closetab {
    position: absolute;
    top: 0;
    left: initial;
    right: -60px;
    margin: initial;
  }
}
@media (min-width: 768px) {
  .sidebar-journeyplanner .searchoperhold {
    top: initial;
    left: initial;
    right: initial;
    position: relative;
    width: 100%;
    margin: 20px 0 0 0;
  }
}
@media (min-width: 1200px) {
  .sidebar-journeyplanner .searchoperhold {
    position: absolute;
    top: 40px;
    right: -500px;
    width: 500px;
    background: #e8e8e8;
  }
}
/* BLOG JOURNEY PLANNER */
.customer-panel p,
.customer-panel-checkboxes label {
  display: inline-block;
  vertical-align: top;
  width: 49%;
}

.customer-panel p label {
  width: 90%;
}

.customer-panel p input,
.customer-panel p textarea {
  width: 90%;
}

.customer-panel p textarea {
  height: 200px;
}

.customer-panel .submit_wrap {
  margin-top: 10px;
}

.customer-panel-checkboxes {
  padding: 15px;
  margin: 0 0 10px;
  width: 96%;
  background: #cccccc;
}

.customer-panel-checkboxes label {
  width: 24%;
  margin-right: 0;
}

.customer-panel-checkboxes label.main-label {
  display: block;
  width: 100%;
  margin-right: 0;
  font-weight: medium;
}

.customer-panel-checkboxes input[type=checkbox] {
  position: unset;
  margin-left: 0;
}

.customer-panel-checkboxes .indent,
.customer-panel-checkboxes p {
  display: none;
}

.usercontent a.disruptions-back {
  color: white;
}

.journey-planner-form .checkboxes label {
  position: relative;
  display: block;
  margin: 15px 0 !important;
  padding-left: 30px;
  cursor: pointer;
  color: #333333;
  width: 100% !important;
  font-weight: 500;
}

.journey-planner-form .checkboxes label::before {
  content: "";
  border: 1px solid #C7C7C7;
  border-radius: 3px;
  background: #EAEAEA;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 2px;
  left: 0;
  color: transparent;
}

.journey-planner-form .checkboxes label::after {
  display: inline-block;
  text-transform: none;
  vertical-align: middle;
  font-family: "icomoon";
  font-size: 22px;
  color: #000000;
  font-weight: normal;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  speak: none;
  transition: all 0.3s;
  content: "\E913";
  font-size: 12px;
  font-weight: 900;
  color: white;
  position: absolute;
  top: 3px;
  left: 4px;
  opacity: 0;
}

.journey-planner-form .checkboxes label.__checked::before {
  background: #ae1c0f;
  border-color: #ae1c0f;
}

.journey-planner-form .checkboxes label.__checked::after {
  opacity: 1;
}

.journey-planner-form .checkboxes input[type=checkbox] {
  position: absolute;
  left: -9999px;
  margin: 0;
}

/* SEARCH OPS */
.searchoperhold {
  width: 100%;
  background: #e8e8e8;
  margin: 20px 0 0 0;
  display: none;
  z-index: 5000;
  border-radius: 20px;
  position: relative;
}

@media (min-width: 768px) {
  .searchoperhold {
    min-height: 365px;
  }
}
.searchActive {
  display: block;
}

@media (min-width: 768px) {
  .searchoperhold {
    margin: 0;
    position: absolute;
    bottom: 0;
    right: -325px;
    width: 310px;
    background: #f0f0f0;
  }
}
@media (min-width: 992px) {
  .searchoperhold {
    right: -405px;
    width: 390px;
  }
}
.searchoper-closetab {
  width: 30px;
  height: 30px;
  display: inline-block;
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 0;
  border: 0;
  transition: 0.3s ease all;
  background-color: transparent;
  z-index: 1;
}
@media (min-width: 768px) {
  .searchoper-closetab {
    width: 40px;
    height: 40px;
    left: initial;
    right: 10px;
    top: 10px;
    margin: initial;
    z-index: 999;
  }
}
.searchoper-closetab:after {
  content: "\D7";
  font-family: icomoon;
  font-size: 37px;
  color: #000000;
  vertical-align: middle;
  font-weight: 100;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.searchoper {
  padding: 15px 30px;
  position: relative;
}

@media (min-width: 992px) {
  .searchoper {
    padding: 25px;
    position: relative;
  }
}
.searchoper-title {
  color: #333333;
  font-weight: 500;
  margin: 0 0 6px 0;
}

.searchoper-form form .field_wrap {
  margin: 0 0 20px 0;
}

.searchoper-hr {
  border-color: #cccccc;
  margin: 20px 0;
}

.searchoper-operselect {
  display: block;
  font-size: 16px;
  color: #333333;
  font-weight: 500;
  padding: 10px 0;
  position: relative;
  margin: 0 20px 0 0;
}

.searchoper-operselect:hover,
.searchoper-operselect:focus {
  color: #003da6;
}

.searchoper-operselect:hover:after,
.searchoper-operselect:focus:after {
  color: #003da6;
}

.searchoper-operselect:after {
  content: "\D7";
  font-family: icomoon;
  font-size: 20px;
  color: #333333;
  vertical-align: middle;
  display: inline-block;
  font-weight: 100;
  position: absolute;
  right: -20px;
  top: 50%;
  margin: -10px 0 0 0;
}

.searchoperhold.results_page {
  top: 0px;
  right: -485px;
}

@media (min-width: 768px) {
  .searchoper {
    min-height: 365px;
  }
}
.journeyplanner-header {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
}

table.fares_table th,
table.fares_table td {
  text-align: left;
}

.typeahead-localitiesinput[type=text] {
  padding: 5px 12px;
  background-color: white !important;
}
.typeahead-localities-category {
  position: relative;
  display: block;
  padding-right: 40px;
  color: #6C6C6C;
  font-size: 15px;
  line-height: 1.466;
}
.typeahead-localities-category::before {
  font-family: "icomoon";
  font-size: 16px;
  position: absolute;
  right: 5px;
  top: 0;
  color: #6C6C6C;
}
.typeahead-localities-category.UKRail::before, .typeahead-localities-category.ukrail::before {
  content: "\E91E";
}
.typeahead-localities-category.naptan::before {
  content: "\E921";
}
.typeahead-localities-category.uklocality::before, .typeahead-localities-category.locality::before {
  content: "\E922";
}
.typeahead-localities-category.ParkAndRide::before, .typeahead-localities-category.parkandride::before {
  content: "\E920";
}
.typeahead-localities-category.NextBike::before, .typeahead-localities-category.nextbike::before {
  content: "\E91F";
}

#journey-plan input[type=text] {
  background-color: white !important;
}

/*=======================================
MODAL
=======================================*/
.modal-dialog {
  margin: 135px auto 30px auto;
  z-index: 9999;
}

.modal-content {
  border-radius: 0;
}

.modal-header {
  padding: 15px 25px;
  background: #ae1c0f;
  border-radius: 0;
}

.modal-title {
  color: white;
  font-size: 1.2em;
  font-weight: 500;
  line-height: 1.4;
  padding-right: 40px;
}

.modal-body {
  padding: 30px 20px;
}
@media (min-width: 768px) {
  .modal-body {
    padding: 50px 60px;
  }
}

.modal-slider .slick-slide {
  height: auto;
}

.modal-footer {
  border: none;
}

.modal-header .close {
  margin: 0;
}

.modal .close {
  align-items: center;
  background-color: #97180d;
  border-radius: 100px;
  border: 2px solid transparent;
  color: white;
  display: flex;
  float: none;
  font-size: 35px;
  font-weight: 500;
  height: 40px;
  justify-content: center;
  opacity: 1;
  position: absolute;
  right: 12px;
  top: 7px;
  transition: 0.3s ease all;
  width: 40px;
}
.modal .close:hover, .modal .close:focus, .modal .close:active {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid white;
}

#myModal .modal-body {
  text-align: center;
  padding: 20px 20px 0;
}

#myModal .modal-footer a {
  width: 100%;
}

.modal-content .field_wrap {
  margin: 0 0 25px 0;
}

.modal-content .label_wrap {
  display: block;
  vertical-align: middle;
}

.modal-content .input_wrap {
  display: block;
  vertical-align: middle;
}

.modal-content .submit_wrap {
  margin: 10px 0 30px 0;
  text-align: center;
}

.modal-content button {
  display: inline-block;
  font-size: 1.2em;
  font-weight: 400;
}

.modal-register {
  margin: 8px 0 0 0;
  text-align: center;
}

.modal-register a {
  font-weight: 500;
  text-decoration: underline;
  color: #003da6;
}
.modal-register a:hover, .modal-register a:focus, .modal-register a:active {
  text-decoration: none;
}

#loginModal input {
  background: #e8e8e8;
  border: none;
  height: 50px;
  border-radius: 0;
}

.modal-backdrop {
  opacity: 0.5;
}

.custom-modal-wrap {
  display: none;
  position: fixed;
  z-index: 200;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.8);
}

.custom-modal {
  background: white;
  width: 200px;
  height: 200px;
  margin: 50px auto;
}

.disurption-modal {
  background: white;
  width: 400px;
  height: 400px;
  margin: 50px auto;
}

.custom-modal-wrap.showModal {
  display: block;
}

@media (max-width: 991px) {
  .modal-register {
    margin: 12px 0 0 0;
  }

  .modal-dialog {
    margin: 60px auto 30px auto;
  }
}
@media (max-width: 767px) {
  .modal-dialog {
    margin: 120px 15px;
  }

  .modal-content .label_wrap {
    display: block;
    width: 100%;
  }

  .modal-content .input_wrap {
    display: block;
    width: 100%;
  }
}
body.modal-open {
  overflow: visible;
}
body.modal-open .modal {
  z-index: 9999 !important;
}

/* Login Modal */
.login-modal .modal-body {
  padding: 30px 20px;
}
@media (min-width: 768px) {
  .login-modal .modal-body {
    padding: 35px 60px 50px 60px;
  }
}

.login-modal .modal-text {
  padding-bottom: 25px;
  margin-bottom: 25px;
  border-bottom: 1px solid #cccccc;
}

/* Survey Modal */
#myModal {
  width: 100%;
}

#myModal .modal-dialog {
  width: 90%;
  background: #ae1c0f;
}

#myModal .modal-body.survey {
  width: 100%;
  padding: 0;
  margin: 0 0px;
  text-align: left;
}

.modal-body.survey {
  width: 100%;
  background: rgba(224, 51, 77, 0.8);
}

.survey-close {
  position: absolute;
  top: -25px;
  left: -50px;
  display: block;
  padding: 16px 23px;
  font-weight: medium;
  z-index: 9;
  font-size: 20px;
  color: #000000;
  width: 60px;
  height: 60px;
  background: #f8cd5f;
}

.survey-left {
  background: #e8e8e8;
  min-height: 429px;
  height: auto !important;
  color: white;
  padding: 56px 63px 56px 58px;
}

.survey-left p {
  color: #3d3d3d;
  font-size: 17px;
  margin-bottom: 20px;
}

.survey-left h2 {
  font-size: 30px;
  color: #3d3d3d;
  font-family: "Wales Sans Body", Arial, sans-serif;
  font-weight: 700;
}

.survey-right {
  min-height: 429px;
  height: auto !important;
  color: white;
}

.survey-right hr {
  border-color: #026130;
}

.row-image {
  background: url("/images/survey-right.png") #d6424e no-repeat right bottom;
  position: relative;
}

.lower-image {
  background: url(/images/busstop-middle-bg.png) no-repeat right bottom;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0px;
  right: -40px;
  z-index: 10000;
}

.survey-button {
  background: #42b1aa;
  color: white;
  border: 0px;
  float: left;
  clear: both;
  display: block;
  padding: 16px 25px 15px 30px;
  border-radius: 0;
  font-size: 20px;
  font-family: "Wales Sans Body", Arial, sans-serif;
  font-weight: 700;
}

.survey-button span {
  display: none;
}

.survey-button:hover {
  background: #42B1D3;
  color: white;
}

.right-wrap {
  padding: 22px;
}

@media (min-width: 1790px) and (max-width: 2004px) {
  #myModal .modal-dialog {
    width: 46%;
  }
}
@media (min-width: 1416px) and (max-width: 1789px) {
  #myModal .modal-dialog {
    width: 55%;
  }
}
@media (min-width: 901px) and (max-width: 1415px) {
  #myModal .modal-dialog {
    width: 75%;
  }
}
@media (min-width: 760px) and (max-width: 900px) {
  #myModal .modal-dialog {
    width: 95%;
  }

  .survey-left {
    min-height: 340px;
  }
}
@media (min-width: 90px) and (max-width: 759px) {
  #myModal .modal-dialog {
    width: 100%;
  }

  .survey-left {
    min-height: 600px;
    height: auto !important;
    padding-bottom: 115px;
  }

  .survey-right {
    display: none;
  }

  #myModal .modal-dialog {
    width: 100%;
  }
}
/*=======================================
DISRUPTIONS MODAL
=======================================*/
.disruptions.modal .modal-body {
  padding: 10px;
}

.disruption-modal-item {
  display: block;
  padding: 10px 15px;
  border-top: 1px solid #cccccc;
  color: #333333;
}

.disruption-modal-item:first-child {
  border: none;
}

.disruption-modal-item:hover {
  background: #cccccc;
  color: #333333;
}

/*New Modal Block for Home*/
.modalblock {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background: rgba(0, 0, 0, 0.6);
  z-index: 9999;
  transition: all 2.3s;
}

.modalblock.__active {
  display: block;
}

.modalblock-container {
  background-color: white;
  margin: 120px auto;
  width: 95%;
  position: relative;
}

.modalblock .modalblock-close.__incorner {
  height: 40px;
  width: 40px;
  font-size: 0;
  position: absolute;
  border-radius: 0;
  top: 0;
  left: 0;
  transform: translate(-50%, -50%);
  background: #ae1c0f;
  color: white;
  padding: 0;
  opacity: 1;
  transition: all 0.3s ease;
  border: none;
}
.modalblock .modalblock-close.__incorner:hover, .modalblock .modalblock-close.__incorner:focus, .modalblock .modalblock-close.__incorner:active {
  background: #97180d;
}

.modalblock .modalblock-close.__incorner i {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.modalblock .modalblock-close.__incorner i::before {
  color: white;
  font-size: 24px;
}

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

.modal-slider-content-text {
  padding: 30px 20px;
}

.modal-slider-content-text h2 {
  font-size: 1.3em;
}

.modal-slider-content-image {
  width: 100%;
  height: 200px;
  -o-object-fit: cover;
     object-fit: cover;
}

.modal-body.__slider {
  padding: 0 0 30px 0;
}

.modal-slidercontrols {
  margin: 0 0 10px 0;
  text-align: center;
}

.modal-slideropts {
  position: relative;
}

.modal-slideropts-slidercount {
  position: absolute;
  right: 30px;
  bottom: 0;
}

.modalblock .slick-dots {
  display: block;
  width: auto;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  position: relative;
  left: 0;
  text-align: center;
  transform: none;
  top: 0;
}

.modalblock .slick-dots li.slick-active button {
  border: none;
}

.modalblock .slick-dots li {
  position: relative;
  display: inline-block;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
  vertical-align: middle;
}

.modalblock .slick-dots li.slick-active button {
  background: #E00037;
}

.modalblock .slick-dots button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 8px;
  height: 8px;
  padding: 0;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  background: #d8d8d8;
  transition: all 0.3s;
}

.modalblock .slick-dots button:hover,
.modalblock .slick-dots button:focus {
  opacity: 0.6;
}

@media (min-width: 768px) {
  .modalblock-container {
    width: 95%;
  }

  .modal-slider-content-image {
    height: 300px;
  }

  .modal-slider-content-text {
    padding: 60px 20px 40px 20px;
  }

  .modal-slider-content-text h2 {
    font-size: 1.6em;
  }
}
@media (min-width: 992px) {
  .modalblock-container {
    width: 80%;
  }
}
@media (min-width: 1200px) {
  .modalblock-container {
    width: 50%;
  }
}
.modalblock-content {
  padding: 60px;
}

.modalblock-content p {
  width: 65%;
  color: #333333;
  font-size: 1rem;
}

.modalblock .mapblock {
  height: 430px;
  margin: 0 0 40px 0;
}

.modalblock-title {
  color: #333333;
  font-size: 2rem;
  font-weight: 500;
  padding: 0 0 20px 0;
}

.modalblock-buttons {
  text-align: right;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  gap: 15px;
}

.modalblock-close,
.modalblock-submit {
  padding-left: 22px;
  padding-right: 22px;
  cursor: pointer;
  display: inline-block;
}
.modalblock-close:hover, .modalblock-close:focus, .modalblock-close:active,
.modalblock-submit:hover,
.modalblock-submit:focus,
.modalblock-submit:active {
  -webkit-text-decoration-color: white;
          text-decoration-color: white;
}

.modalblock-close {
  background: #e3e3e3;
  color: #333333;
}
.modalblock-close:hover, .modalblock-close:focus, .modalblock-close:active {
  background: #d6d6d6;
  color: #333333;
  -webkit-text-decoration-color: #333333;
          text-decoration-color: #333333;
}

/*=======================================
NEWSLETTER SIGNUP
=======================================*/
.newsletter {
  margin: 0 0 -100px 0;
  padding: 50px 0;
  background: #30383b;
}

.newsletter-title {
  margin: 0 0 5px 0;
  font-weight: 500;
  font-size: 1.4em;
  color: white;
  text-align: center;
}

.newsletter-subtitle {
  margin: 0 0 30px 0;
  font-size: 1.1em;
  font-weight: 300;
  color: white;
  text-align: center;
}

.newsletter .field_wrap {
  margin: 0 0 30px 0;
}

.newsletter input,
.newsletter select {
  height: 50px;
  border-radius: 0;
}

.newsletter .submit_wrap {
  display: block;
  margin: 0 auto;
  width: 25%;
}

.newsletter button {
  width: 100%;
}

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

.g-recaptcha {
  display: inline-block;
}

@media (min-width: 768px) {
  .newsletter .col-sm-6.marginright {
    padding-right: 8px;
  }

  .newsletter .col-sm-6.marginleft {
    padding-left: 8px;
  }

  .newsletter-captcha {
    margin: 0 0 20px 0;
  }
}
@media (max-width: 767px) {
  .newsletter .input_wrap {
    display: block;
    float: none;
    width: 100%;
  }

  .newsletter .submit_wrap {
    display: block;
    margin: 10px 0 0 0;
    float: none;
    width: 100%;
  }
}
/* Newsletter 2021 AA */
.newscta {
  width: 100%;
  padding: 30px 15px;
  height: auto;
  background: coral;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin-bottom: -100px;
}

@media (min-width: 768px) {
  .newscta {
    height: 344px;
    padding: 0;
  }
}
.newscta-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.newscta-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.newscta-imageleft {
  position: absolute;
  bottom: 0;
  left: 10%;
  display: none;
}

.newscta-imageleft img {
  width: auto;
}

.newscta-imageright {
  position: absolute;
  bottom: 0;
  right: 10%;
  display: none;
}

.newscta-imageright img {
  width: auto;
}

@media (min-width: 992px) {
  .newscta-imageleft {
    left: 1%;
    display: block;
  }

  .newscta-imageright {
    right: 1%;
    display: block;
  }
}
@media (min-width: 1300px) {
  .newscta-imageleft {
    left: 5%;
  }

  .newscta-imageright {
    right: 5%;
  }
}
@media (min-width: 1500px) {
  .newscta-imageleft {
    left: 10%;
  }

  .newscta-imageright {
    right: 10%;
  }
}
.newscta-box {
  width: 100%;
  background-color: #E3D7EC;
  padding: 30px 15px;
  text-align: center;
  z-index: 1;
}

@media (min-width: 768px) {
  .newscta-box {
    width: 596px;
    height: 213px;
    padding: 43px 42px 38px 42px;
  }
}
.newscta-box h2 {
  color: #2E3638;
  line-height: 34px;
  font-weight: 700;
  font-size: 21px;
  margin-bottom: 30px;
}

@media (min-width: 768px) {
  .newscta-box h2 {
    font-size: 24px;
  }
}
.newscta-box .buttonnew {
  display: inline-block;
}

/*=======================================
PAGINATION
=======================================*/
.pagination {
  float: right;
}

.pagination &gt; li:last-child &gt; a,
.pagination &gt; li:last-child &gt; span,
.pagination &gt; li &gt; a,
.pagination &gt; li &gt; span {
  border-radius: 0 !important;
  border: 2px solid transparent;
  color: #2E3638;
  font-weight: 700;
  font-size: 15px;
  padding: 10px 18px;
}

.pagination li:first-child a,
.pagination li:last-child a,
.pagination &gt; .active &gt; a,
.pagination &gt; .active &gt; a:focus,
.pagination &gt; .active &gt; a:hover,
.pagination &gt; .active &gt; span,
.pagination &gt; .active &gt; span:focus,
.pagination &gt; .active &gt; span:hover {
  background: #1ab3aa;
  color: #2E3638;
  border: 2px solid #1ab3aa;
}

.pagination &gt; li &gt; a:focus,
.pagination &gt; li &gt; a:hover,
.pagination &gt; li &gt; span:focus,
.pagination &gt; li &gt; span:hover {
  background: transparent;
  color: #2E3638;
  border: 2px solid #2E3638;
}

/*=======================================
REGISTRATION
=======================================*/
.registration-header {
  margin: 0 0 40px 0;
  padding: 10px 0 25px 0;
  border-bottom: 1px solid #cccccc;
}

.registration-header .h1, .registration-header .timetable-results-title {
  display: block;
  margin: 0 0 15px 0;
}

.registration-form {
  margin: 0 100px 0 0;
}

.registration-form .field_wrap,
.registration-form .submit_wrap {
  display: block;
  width: 50%;
  margin: 0 auto 30px auto;
}

.registration-form .submit_wrap {
  text-align: right;
}

.registration-form .submit_wrap button {
  padding: 0 40px;
  font-size: 1.3em;
  font-weight: 700;
}

@media (max-width: 991px) {
  .registration-form .field_wrap,
.registration-form .submit_wrap {
    width: 65%;
  }
}
@media (max-width: 767px) {
  .registration-form {
    margin: 0;
  }

  .registration-form .field_wrap,
.registration-form .submit_wrap {
    width: 100%;
  }
}
/*=======================================
SERVICEBOX
=======================================*/
.servicebox-wrap {
  margin: 15px 0 0 0;
}

.servicebox {
  display: flex;
  flex-direction: column;
  margin: 0 0 30px 0;
}

.servicebox:hover .underline,
.servicebox:focus .underline {
  background-size: 100% 10%;
}

.servicebox:hover .servicebox-title,
.servicebox:focus .servicebox-title {
  color: #C31D36;
}

.servicebox img {
  margin-bottom: 8.5px;
  height: 224px;
}

.servicebox-title {
  font-weight: 500;
  color: #2E3638;
  font-size: 16px;
  line-height: 22px;
  text-align: left;
  position: relative;
}

.servicebox-title:hover,
.servicebox-title:focus {
  color: #C31D36;
}

.servicebox-title:hover .underline,
.servicebox-title:focus .underline {
  background-size: 100% 10%;
}

.underline {
  /* I don't know why this is needed, I just added it and it worked in IE Edge. If we remove this width, the gradient breaks in IE Edge */
  width: 100%;
  background-image: linear-gradient(transparent calc(100% - 50px), #C31D36 0px);
  background-repeat: no-repeat;
  background-size: 0% 10%;
  background-position: left bottom;
  transition: background-size 0.5s;
}

/* updatesslider mobile */
.updatesslider {
  background: #f5f5f5;
  color: #000000;
  padding: 30px 0 0 0;
  position: relative;
}

.updatesslider-items {
  max-height: 300px;
  overflow: hidden;
}

@media (min-width: 768px) {
  .updatesslider {
    text-align: center;
  }
}
@media (min-width: 992px) {
  .updatesslider {
    display: none;
  }
}
.slideritem {
  position: relative;
  padding-bottom: 70px;
}

.slideritem-title {
  font-size: 18px;
  font-weight: 500;
  line-height: 20px;
}

.slideritem-article {
  opacity: 0.8;
  font-size: 16px;
  padding: 10px 0 25px 0;
}

.slideritem-link .button, .slideritem-link .timetable-disruption-button, .slideritem-link .traveline_plus_content form button, .traveline_plus_content form .slideritem-link button, .slideritem-link .bus-stop-search button, .bus-stop-search .slideritem-link button, .slideritem-link .journey-planner-bar .submit_wrap button, .journey-planner-bar .submit_wrap .slideritem-link button, .slideritem-link .modalblock-close,
.slideritem-link .modalblock-submit {
  display: inline-block;
}

.slick-dots {
  position: absolute;
  bottom: 20px;
  left: 50%;
  display: block;
  width: auto;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  transform: translateX(-50%);
}

.slick-dots li {
  position: relative;
  display: inline-block;
  margin: 0 8px;
  padding: 0;
  cursor: pointer;
  vertical-align: middle;
}

.slick-dots li.slick-active button {
  background: #ae1c0f;
  width: 8px;
  height: 8px;
  border: 2px solid #ae1c0f;
}

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 8px;
  height: 8px;
  padding: 0;
  border-radius: 50%;
  cursor: pointer;
  background: #30383B;
  border: 2px solid #30383B;
  transition: all 0.3s;
}

/*=======================================
WEBSYMBOLS
=======================================*/
i {
  position: relative;
  top: -1px;
  display: inline-block;
  font-family: icomoon;
  font-weight: normal;
  font-style: normal;
  text-transform: none;
  font-size: 16px;
  line-height: 0;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  speak: none;
}

i.green {
  color: green;
}

i.red {
  color: red;
}

/*=======================================
SOCIALMEDIA
=======================================*/
.socialmedia a:hover {
  opacity: 0.6;
}

.socialmedia i {
  font-size: 32px;
  line-height: 32px;
}

i.socialmedia-facebook:before {
  content: "\E60C";
}

i.socialmedia-twitter:before {
  content: "\E60B";
}

i.socialmedia-googleplus:before {
  content: "\E60D";
}

i.socialmedia-linkedin:before {
  content: "\E60F";
}

i.socialmedia-youtube:before {
  content: "\E625";
}

i.socialmedia-flickr:before {
  content: "\E609";
}

i.socialmedia-vimeo:before {
  content: "\E60A";
}

i.socialmedia-pinterest:before {
  content: "\E60E";
}

i.socialmedia-instagram:before {
  content: "\E618";
}

i.socialmedia-tumblr:before {
  content: "\E624";
}

i.socialmedia-email:before {
  content: "@";
}

i.socialmedia-facebook.circular:before {
  content: "\E605";
}

i.socialmedia-twitter.circular:before {
  content: "\E604";
}

i.socialmedia-googleplus.circular:before {
  content: "\E606";
}

i.socialmedia-linkedin.circular:before {
  content: "\E601";
}

i.socialmedia-youtube.circular:before {
  content: "\E602";
}

i.socialmedia-flickr.circular:before {
  content: "\E607";
}

i.socialmedia-vimeo.circular:before {
  content: "\E608";
}

i.socialmedia-pinterest.circular:before {
  content: "\E603";
}

i.socialmedia-instagram.circular:before {
  content: "\E618";
}

i.socialmedia-tumblr.circular:before {
  content: "\E619";
}

i.socialmedia-email.circular:before {
  content: "\E600";
}

i.socialmedia-facebook.branded {
  color: #3B5998;
}

i.socialmedia-twitter.branded {
  color: #00B0ED;
}

i.socialmedia-googleplus.branded {
  color: #DF4A32;
}

i.socialmedia-linkedin.branded {
  color: #0977B5;
}

i.socialmedia-youtube.branded {
  color: #CC181E;
}

i.socialmedia-vimeo.branded {
  color: #1AB7EA;
}

i.socialmedia-pinterest.branded {
  color: #CE2029;
}

i.socialmedia-tumblr.branded {
  color: #34465D;
}

/* Header social media icons */
.headersocial {
  padding: 0 12px;
  color: white;
}

.headersocial a {
  padding: 10px !important;
  display: inline-block !important;
  font-size: 0;
}

@media (min-width: 768px) {
  .headersocial {
    border-left: 1px solid white;
    border-right: 2px solid white;
  }
}
.tabblock .tabblock-content-wrap {
  display: none;
}
.tabblock .tabblock-content-wrap .timetablewrap {
  margin: 40px 0;
}
.tabblock .tabblock-content-wrap.__active {
  display: block;
}
.tabblock-head {
  display: flex;
  justify-content: space-between;
  text-align: center;
}
.tabblock-tab {
  font-weight: 500;
  font-size: 15px;
  padding: 11px 15px;
  width: 50%;
  border: 0;
  position: relative;
  color: #003da6;
  transition: 0.3s ease all;
  background-color: white;
}
.tabblock-tab::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 2px;
  background-color: #ae1c0f;
  width: 0%;
  transition: 0.3s ease all;
  z-index: 1;
}
.tabblock-tab:hover, .tabblock-tab:focus {
  text-decoration: underline;
  z-index: 1;
}
.tabblock-tab.__active {
  background-color: #fff4f4;
  color: #333333;
}
.tabblock-tab.__active::before {
  width: 100%;
}
.tabblock.__timetable .tabblock-head {
  border-bottom: 2px solid #cccccc;
  width: 100%;
  margin-bottom: 28px;
  overflow: auto;
}
@media (min-width: 576px) {
  .tabblock.__timetable .tabblock-head {
    overflow: visible;
  }
}
.tabblock.__timetable .tabblock-head .container {
  display: flex;
  justify-content: flex-start;
  padding: 0;
}
@media (min-width: 576px) {
  .tabblock.__timetable .tabblock-head .container {
    padding: 0 15px;
  }
}
.tabblock.__timetable .tabblock-tab {
  width: auto;
  color: #003da6;
  white-space: pre;
}
.tabblock.__timetable .tabblock-tab.__active {
  color: #ae1c0f;
}
.tabblock.__timetable .tabblock-tab::before {
  content: none;
}
.tabblock.__border .tabblock-tab::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background-color: #cccccc;
  width: 100%;
  transition: 0.3s ease all;
  z-index: 0;
}

.tabbar {
  padding: 30px 0;
}
.tabbar-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin: 0 0 30px 0;
  padding: 0 0 30px 0;
  border-bottom: 1px solid #e8e8e8;
}
.tabbar-tab {
  border: 0;
  font-size: 12px;
  font-weight: 500;
  background-color: white;
  color: #000000;
  position: relative;
  flex: 0 0 auto;
  width: 25%;
  display: flex;
  align-items: center;
  flex-direction: column;
}
.tabbar-tab:focus {
  outline: none;
}
.tabbar-tab:focus::before {
  background-color: #e8e8e8;
}
.tabbar-tab::before {
  aspect-ratio: 1;
  content: "";
  width: 100%;
  border: 2px solid #e8e8e8;
  border-radius: 4px;
  display: block;
  margin-bottom: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 35px;
  transition: 0.3s ease all;
}
@supports not (aspect-ratio: 1) {
  .tabbar-tab::before::before {
    content: "";
    float: left;
    padding-top: calc((1 / 1) * 100%);
  }
  .tabbar-tab::before::after {
    content: "";
    display: block;
    clear: both;
  }
}
.tabbar-tab.__publictransport::before {
  content: "\E90E";
}
.tabbar-tab.__walk::before {
  content: "\E90A";
}
.tabbar-tab.__cycle::before {
  content: "\E90B";
}
.tabbar-tab.__flight::before {
  content: "\E909";
}
.tabbar-tab.__active::before {
  border-color: #ae1c0f;
}

/*=======================================
TIMETABLE SEARCH
=======================================*/
.timetable-service {
  padding-bottom: 30px;
}
@media (min-width: 768px) {
  .timetable-service {
    padding-bottom: 115px;
  }
}
.timetable-service input[type=text] {
  height: 56px;
  padding: 18px 12px;
  border-radius: 4px;
  font-size: 16px;
}
.timetable-title {
  color: #ae1c0f;
  font-size: 28px;
  line-height: 1.14;
  margin: 0 0 30px 0;
}
@media (min-width: 768px) {
  .timetable-title {
    margin: 0 0 70px 0;
  }
}
.timetable-text {
  padding-top: 30px;
}
@media (min-width: 768px) {
  .timetable-text {
    padding-top: 70px;
  }
}
.timetable-text h1,
.timetable-text h2,
.timetable-text h3,
.timetable-text h4,
.timetable-text h5,
.timetable-text h6 {
  font-size: 1rem;
  line-height: 1.55;
  font-weight: 500;
  color: #ae1c0f;
  margin: 0 0 21px 0;
}
.timetable-text-call {
  padding-top: 30px;
}
@media (min-width: 768px) {
  .timetable-text-call {
    padding-top: 50px;
  }
}

/*=======================================
TIMETABLE RESULTS
=======================================*/
.timetable-warning {
  font-size: 1rem;
  line-height: 1.5;
  display: flex;
  justify-content: flex-start;
}
@media (min-width: 992px) {
  .timetable-warning {
    justify-content: flex-end;
  }
}
.timetable-warning-text {
  padding-left: 40px;
  position: relative;
  text-align: left;
}
.timetable-warning-text::before {
  content: "!";
  color: #ffcd00;
  font-size: 22px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
.timetable-results {
  position: relative;
  margin: 10px 0 50px 0;
  padding: 0;
  list-style: none;
}
.timetable-results-title {
  margin: 0 0 30px 0;
}
.timetable-results li {
  padding: 20px 0;
  border-bottom: 1px solid #e8e8e8;
  color: #003da6;
  font-weight: 500;
}
.timetable-results li a {
  padding: 0 50px 0 0;
  display: block;
  font-size: 19.7px;
  position: relative;
}
.timetable-results li a::before {
  content: "&gt;";
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 22px;
  transition: 0.3s ease all;
}
.timetable-results li a:hover::before, .timetable-results li a:focus::before, .timetable-results li a:active::before {
  right: 16px;
}
.timetable-result.__changing {
  position: relative;
}
.timetable-result.__changing a {
  padding-left: 35px;
}
.timetable-result.__changing a::after {
  content: "!";
  color: #FF9800;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 22px;
}
.timetable-result-servicexinfo {
  display: block;
  font-size: 14px;
  padding-top: 5px;
}

/*=======================================
TIMETABLE DETAIL
=======================================*/
.timetable-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin: 0 0 22px 0;
  flex-direction: column;
}
@media (min-width: 992px) {
  .timetable-row {
    align-items: center;
    flex-direction: row;
  }
}
.timetable-row.__message {
  margin: 0;
}

.routevia {
  text-align: right;
}
.routevia strong {
  font-weight: 500;
}

.timetable-summary {
  padding: 40px 0;
  background-color: #f5f5f5;
}
@media (min-width: 768px) {
  .timetable-summary {
    padding: 64px 0 40px 0;
  }
}
.timetable-summary-option {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  color: #3364b8;
  font-weight: 500;
  position: relative;
  border: 0;
  background-color: transparent;
}
@media (min-width: 992px) {
  .timetable-summary-option {
    align-items: center;
  }
}
.timetable-summary-option::before {
  transform: translateY(2px);
  margin: 0 10px 0 0;
}
.timetable-summary-option.timetable-disruption-button:hover {
  background: #e6b900;
}
.timetable-summary-options {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  -moz-column-gap: 30px;
       column-gap: 30px;
  row-gap: 10px;
}
@media (min-width: 992px) {
  .timetable-summary-options {
    flex-wrap: nowrap;
  }
}
.timetable-summary-options .changedirection::before {
  content: url("../images/icons/logo_direction.svg");
}
.timetable-summary-options .download-timetable::before {
  content: url("../images/icons/logo_pdf.svg");
}
.timetable-summary-options .favourite-timetable::before {
  content: url("../images/icons/logo_favourite.svg");
}
.timetable-summary-options .routemap::before {
  content: url("../images/icons/logo_routeicon.svg");
}

.timetable-summary-service {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ae1c0f;
  color: white;
  font-weight: 500;
  font-size: 14px;
  text-align: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  flex: 0 0 30px;
}
@media (min-width: 768px) {
  .timetable-summary-service {
    font-size: 20px;
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
  }
}
.timetable-summary-route {
  display: inline-block;
  list-style: none;
  margin: 0 0 0 10px;
}
.timetable-summary-route li {
  display: inline-block;
  vertical-align: middle;
  font-weight: 500;
  font-size: 20px;
  color: #000000;
}
.timetable-summary-route li:not(:first-child)::before {
  content: "&gt;";
  position: relative;
  top: -2px;
  display: inline-block;
  vertical-align: middle;
  width: 21px;
  height: 21px;
  margin: 0;
  border-radius: 999px;
  font-size: 16px;
  line-height: 21px;
  color: #ae1c0f;
  text-align: center;
}
@media (min-width: 768px) {
  .timetable-summary-route li:not(:first-child)::before {
    margin: 0 10px;
    font-size: 26px;
  }
}

.timetable-disruption-button {
  color: #333333;
  background: #ffcd00;
  max-width: 341px;
  width: 100%;
  font-size: 14px;
  font-weight: 500;
}
.timetable-disruption-button:hover, .timetable-disruption-button:focus, .timetable-disruption-button:active {
  background: #e6b900;
  color: #333333;
  -webkit-text-decoration-color: #333333;
          text-decoration-color: #333333;
}
.timetable-disruption-button-wrap {
  width: 100%;
  padding: 40px 0 0 0;
}

.timetable-wrap {
  position: relative;
  margin: 0;
  padding: 30px 0;
  background: #FFF;
}

.timetable-horscrollbar,
.timetable-vertscrollbar {
  position: absolute;
  bottom: 0;
  background: #ececec;
  overflow: hidden;
  border-radius: 5px;
}

.timetable-horscrollbar.__alt {
  bottom: auto;
  top: 0;
}

/* hiding ALLLL custom scrollbars untl i get time to fix them properly */
.timetable-horscrollbar,
.timetable-vertscrollbar {
  display: none;
}

.timetable-horscrollbar span,
.timetable-vertscrollbar span {
  position: absolute;
  top: 0;
  left: 0;
  background: #ae1c0f;
  cursor: pointer;
  border-radius: 5px;
}

.timetable-horscrollbar {
  height: 10px;
  left: 0;
  right: 0px;
}

.timetable-vertscrollbar {
  width: 10px;
  right: 0;
  top: 0;
  bottom: 40px;
}

.timetable-horscrollbar span {
  height: 100%;
  width: 0;
}

.timetable-vertscrollbar span {
  width: 100%;
  height: 0;
}

.service-no {
  font-size: 18px;
}

.timetable-toggle {
  display: block;
  font-size: 1em;
  font-weight: 500;
  color: #333333;
}

.timetable-toggle:hover,
.timetable-toggle:focus {
  color: #333333;
}

.timetable-toggle-all,
.timetable-filter {
  position: relative;
  display: inline-block;
  margin: 0 0 10px 0;
  padding: 5px 10px;
  font-size: 1em;
  font-weight: 400;
  text-align: left;
  color: #333333;
}

.timetable-filter {
  padding: 5px 10px 5px 30px;
}

.timetable-filter::before {
  content: url("../images/icons/logo_filter.svg");
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}

.timetable-toggle-all {
  padding: 5px 10px 5px 30px;
}

.timetable-toggle-all::before {
  content: url("../images/icons/logo_list.svg");
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}

.top-scrollbar-wrap {
  display: none;
  width: 100%;
  height: 20px;
  overflow-x: auto;
  overflow-y: hidden;
}

.top-scrollbar {
  height: 20px;
}

.timetable.tab-content {
  margin: 0 0 80px 0;
}

.timetable .tab-pane {
  padding: 40px 0 0 0;
  background: #FFF;
}

.timetable .tab-pane h2,
.timetable .tab-pane h3 {
  padding: 0 30px;
  text-align: center;
}

.timetable .tab-pane h2 {
  font-size: 1.3em;
  font-weight: 400;
}

.timetable .tab-pane h3 {
  margin: 0 0 30px 0;
  font-size: 1.1em;
  font-weight: 400;
}

.timetable-map-wrap {
  margin: 0 0 80px 0;
  background: #EEE;
}

.timetable-map {
  height: 360px;
}

.timetable-options {
  list-style: none;
  margin: 0;
  padding: 0;
}
.timetable-options li {
  display: block;
  float: left;
  width: 25%;
}
.timetable-options li:first-child a {
  border-left: none;
}
.timetable-options li a {
  display: block;
  padding: 15px 15px 12px 15px;
  border-bottom: 3px solid #FFF;
  border-left: 1px solid #EDEDED;
  text-align: center;
  color: #333333;
}
.timetable-options li a:hover, .timetable-options li a:focus, .timetable-options li a:active {
  border-bottom: 3px solid #F99D16;
}

.timetable-footnotes {
  padding: 40px;
  font-weight: 500;
}

.timetable-footnote {
  display: block;
  font-size: 1.1em;
}

.timetable-footnote-code {
  font-weight: 500;
}

.toggle-filter tbody tr {
  display: none !important;
}

.toggle-filter tbody tr.selected {
  display: table-row !important;
}

.timetable-row-options {
  padding: 0 30px 0 0;
  display: none;
}

@media (min-width: 768px) {
  .timetable-row-options {
    display: block;
  }
}
.timetable-more {
  text-align: right;
  padding: 10px;
  display: none;
}

@media (max-width: 991px) {
  .timetable .timetable-map-wrap {
    margin: 40px 20px 0 20px;
  }
}
/*=======================================
TIMETABLE LOADER
=======================================*/
.timetable-loader {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.6);
  display: none;
}

.timetable-loader img {
  position: absolute;
  top: 10%;
  right: 0;
  left: 0;
  display: block;
  margin: 0 auto;
}

/*=======================================
TWEET FEED
=======================================*/
.tweet-feed-wrap {
  margin: 30px 0 40px 0px;
}

.tweet-feed-wrap a.tweet-feed-user {
  color: #888888;
  font-weight: normal !important;
}

.tweet-feed-wrap h2 {
  padding-bottom: 2px;
}

.tweet-feed-wrap h2 i {
  margin-right: 10px;
  font-size: 23px;
  color: #C31D36;
}

.tweet-feed-wrap h2 span {
  margin-right: 10px;
  font-weight: 500;
  color: #C31D36;
  text-decoration: underline;
  font-size: 20px;
}

.tweet-feed {
  max-height: 350px;
  overflow-y: auto;
}

.tweet-feed-wrap hr {
  margin-top: 0px;
  margin-bottom: 10px !important;
}

.tweet-feed-item {
  display: block;
  padding: 0px 0 25px;
  position: relative;
}

.tweet-feed-item::before {
  content: "";
  background: #888;
  width: 30px;
  height: 1px;
  position: absolute;
  top: -12px;
  left: 0;
}

.tweet-feed-item:first-child::before {
  border: none;
}

.tweet-feed-title,
.tweet-feed-text {
  display: block;
}

.tweet-feed-item a {
  color: #ae1c0f;
}

.tweet-feed-item a:hover {
  text-decoration: underline;
}

.tweet-feed-title {
  margin: 0 0 0em 0;
}

.tweet-feed-time {
  font-weight: 400;
}

/* Mobile timetable */
.stoplistheader {
  background: #333333;
  color: white;
  padding: 15px;
  font-weight: 400;
  position: relative;
}

.stoplistheader {
  margin-left: 48px;
}

.stoplistheader-icon {
  background: #666666;
  position: absolute;
  left: -48px;
  top: 0;
  width: 48px;
  height: 100%;
}

.stoplistheader-icon::before {
  font-family: "icomoon";
  content: "\E903";
  position: absolute;
  font-size: 20px;
  top: 49%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.stoplistheader-icon.__active::before {
  cursor: pointer;
  font-family: "icomoon";
  content: "\E901";
  position: absolute;
  font-size: 20px;
  top: 49%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.stoptr {
  width: 100%;
}

/*
.stoplist {
    max-height: 600px;
    overflow-y:scroll;
}*/
.stoplist-item {
  position: relative;
  padding: 18px 40px 17px 15px;
  list-style: none;
  font-weight: 500;
  border-bottom: 1px solid #eee;
  transition: all 200ms;
  cursor: pointer;
}

.stoplist-item:hover {
  background: #ae1c0f;
  color: white;
}

.stoplist-item:hover::after {
  color: white;
}

.stoplist-item::after {
  content: "&gt;";
  font-family: "icomoon";
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}

.stoplisttimes {
  padding: 18px 18px 18px 8px;
  overflow: auto;
  display: none;
}

.mobiletimetable.__alt .stoplist-item {
  padding: 18px 17px 0 15px;
  border: none;
}

.mobiletimetable.__alt .stoplistheader-icon::before {
  content: "\E904";
}

.mobiletimetable.__alt .stoplist-item::after {
  display: none;
}

.mobiletimetable.__alt .stoplist-item:hover {
  background: none;
  color: #333333;
}

.mobiletimetable.__alt .stoplistwrapper:nth-child(even) {
  background: #f0f0f0;
}

.stoplisttimes.__alt {
  display: block;
  overflow-x: scroll;
  width: 100%;
  padding: 0;
  padding: 5px 0 0 5px;
}

.stoplisttimes.__alt .stoplisttimes-wrap {
  float: left;
  margin-right: -30000px;
}

.stoplisttimes.__alt .stoplisttimes-time {
  width: auto;
  padding: 7px 12px;
  text-align: center;
  border-right: 1px solid #e1e1e1;
  float: left;
  display: inline-block;
}

.stoplisttimes-time {
  width: 20%;
  float: left;
  color: #333333;
  font-weight: 200;
  padding: 10px;
}

@media (max-width: 779px) {
  .routevia {
    font-size: 1em !important;
    font-weight: 200 !important;
    padding: 10px 20px !important;
  }

  .routevia strong {
    display: block;
    font-size: 1.2em;
    padding: 5px 0;
  }
}
.__nopadding {
  padding: 0;
}

/*=======================================
HOME TWITTER
=======================================*/
.home-twitter {
  padding: 30px 0 0 0;
  background: #e8e8e8;
}

.twitter-title {
  font-family: "Wales Sans Body", Arial, sans-serif;
  font-weight: 500;
  font-size: 25px;
  line-height: 30px;
  color: #333333;
}

.twitter-title i {
  font-size: 30px;
}

.tweets {
  margin: 15px 13px 0 13px;
}

.tweets-image {
  display: none;
}

.tweets-tweet {
  margin: 0 0 20px 0;
  /* padding: 15px; */
  padding: 30px 17px;
  background: white;
  border-radius: 20px;
}

.tweets-tweet-title {
  display: block;
  text-decoration: none;
  margin: 0;
}
.tweets-tweet-title:hover, .tweets-tweet-title:focus, .tweets-tweet-title:active {
  text-decoration: none;
}

.tweets-tweet-title .socialmedia-twitter {
  color: #ae1c0f;
  padding: 0 20px 0 0;
}

.tweets-tweet-body {
  font-size: 1.125rem;
  line-height: 1.33;
  font-weight: 400;
  color: #003da6;
  display: block;
  margin: 0 0 30px 0;
}
.tweets-tweet-body a {
  text-decoration: underline;
}
.tweets-tweet-body a:hover, .tweets-tweet-body a:focus, .tweets-tweet-body a:active {
  text-decoration: none;
}

.tweets-tweet-link {
  color: #2E383B;
  font-family: "Wales Sans Body", Arial, sans-serif;
  font-size: 14px;
  font-weight: medium;
  letter-spacing: 0;
  line-height: 20px;
  text-align: center;
}

@media (min-width: 768px) {
  .home-twitter {
    padding: 60px 0;
  }

  .tweets-tweet {
    padding: 33px 40px;
  }

  .tweets-image {
    display: block;
  }
}
/*=======================================
WELSH
=======================================*/
.welsh .journey-planner-bar .journey-planner-bar-favourites {
  padding: 18px 7px;
}

.welsh .journey-planner-bar h4 {
  padding: 28px 10px;
}

/*.welsh .bus-stop-search .submit_wrap { margin-top:47px; }*/
.welsh .favourites-panel-option:last-child {
  font-size: 0.85em;
}

.nopic-margin {
  margin-bottom: 60px;
}

.street-view-toggle {
  color: #003da6;
  font-weight: 500;
  background: rgba(0, 0, 0, 0) url("../images/icon-street-view.png") no-repeat scroll 16px 0;
  padding: 3px 0 2px 55px;
  text-decoration: none;
  position: relative;
  border: 0;
}
.street-view-toggle:hover, .street-view-toggle:focus, .street-view-toggle:active {
  text-decoration: underline;
}

.close-street-button {
  display: none;
}

.bus-stop-finder-map .close-street-button {
  display: block;
  padding: 5px 12px;
  margin-right: 20px;
  font-size: 1.875rem;
  line-height: 1em;
  background-color: #ae1c0f;
  color: white;
  border: none;
}

table {
  border-collapse: collapse;
  margin-bottom: 0;
  width: 100%;
  background: white;
}
table td {
  padding: 0.75em 1em;
  text-align: center;
}
table td.err {
  background-color: #e992b9;
  color: white;
  font-size: 0.75em;
  text-align: center;
  line-height: 1;
}
table th {
  padding: 0.75em 1em;
  text-align: left;
  font-weight: 400;
  white-space: nowrap;
}
table th:not(:first-child) {
  text-align: center;
}
table tbody th {
  width: 300px;
  background-color: white;
  border-right: 1px solid white;
  text-align: left;
}
table tbody tr {
  background-color: white;
  transition: all 0.125s ease-in-out;
}
table tbody tr:hover {
  background-color: #e8e8e8;
}
table tbody tr.alternate {
  background-color: #f5f5f5;
}
table tbody tr.alternate:hover {
  background-color: #e8e8e8;
}
table tbody tr.alternate th {
  background-color: #f5f5f5;
  transition: all 0.125s ease-in-out;
}
table tbody tr.normal-sub {
  background-color: #f5f5f5;
}
table tbody tr.normal-sub:hover {
  background-color: #e8e8e8;
}
table tbody tr.normal-sub th {
  background-color: #f5f5f5;
  transition: all 0.125s ease-in-out;
}
table tbody tr.alternate-sub {
  background-color: #ffcccc;
}
table tbody tr.alternate-sub:hover {
  background: #ae1c0f;
  color: white;
}
table tbody tr.alternate-sub:hover th {
  background: #ae1c0f;
  color: white;
}
table tbody tr.alternate-sub th {
  background-color: #ffcccc;
  transition: all 0.125s ease-in-out;
}
table tbody tr.selected td {
  background: #ae1c0f !important;
  color: white;
}
table tbody tr.selected th {
  background: #ae1c0f !important;
  color: white;
}
table tbody tr.selected th .timetable-toggle {
  color: white;
}

/*=======================================
ANIMATIONS
=======================================*/
@-webkit-keyframes spin {
  100% {
    -webkit-transform: rotate(360deg);
  }
}
@keyframes spin {
  100% {
    transform: rotate(360deg);
  }
}
.fade-down-box .fade-down {
  position: relative;
  top: -10px;
  transition: all 0.3s;
  -moz-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
}

.fade-down-box:hover .fade-down {
  top: 0px;
}

.fade-right-box .fade-right {
  position: relative;
  padding-left: 0;
  transition: all 0.3s;
  -moz-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
}

.fade-right-box:hover .fade-right {
  padding-left: 15px;
}

.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: normal;
  line-height: 1.42857143;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  white-space: normal;
  filter: alpha(opacity=0);
  opacity: 0;
  line-break: auto;
}

.tooltip.in {
  filter: alpha(opacity=90);
  opacity: 0.9;
}

.tooltip.top {
  padding: 5px 0;
  margin-top: -3px;
}

.tooltip.right {
  padding: 0 5px;
  margin-left: 3px;
}

.tooltip.bottom {
  padding: 5px 0;
  margin-top: 3px;
}

.tooltip.left {
  padding: 0 5px;
  margin-left: -3px;
}

.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 4px;
}

.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}

.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}

.tooltip.top-left .tooltip-arrow {
  right: 5px;
  bottom: 0;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}

.tooltip.top-right .tooltip-arrow {
  bottom: 0;
  left: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}

.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #000;
}

.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #000;
}

.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}

.tooltip.bottom-left .tooltip-arrow {
  top: 0;
  right: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}

.tooltip.bottom-right .tooltip-arrow {
  top: 0;
  left: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}

.notification {
  margin-top: 10px;
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .notification {
    margin-top: 40px;
    margin-bottom: 20px;
  }
}
.notification-wrap {
  background-color: #ffcd00;
  color: #000000;
  padding: 12px 15px;
  border: 2px solid #000000;
  padding-left: 35px;
  position: relative;
}
@media (min-width: 768px) {
  .notification-wrap {
    padding-left: 55px;
  }
}
.notification-link {
  color: #000000;
  display: block;
  position: relative;
  text-align: left;
}
@media (min-width: 768px) {
  .notification-link {
    text-align: center;
  }
}
.notification-link::before {
  content: "!";
  font-size: 18px;
  position: absolute;
  top: 2px;
  left: -25px;
  color: #ae1c0f;
}
@media (min-width: 576px) {
  .notification-link::before {
    left: -20px;
  }
}
.notification-link:hover, .notification-link:focus, .notification-link:active {
  text-decoration: none;
  color: #000000;
}
.notification-link:hover .notification-linktext, .notification-link:focus .notification-linktext, .notification-link:active .notification-linktext {
  text-decoration: underline;
}
.notification + #Main .homebannerwrap {
  padding-top: 20px;
}

/*=======================================
ACCESSIBILITY
=======================================*/
.accessibility-wrap {
  display: none;
  background: #ae1c0f;
  text-align: right;
}

.accessibility,
#browsealoud,
.contrast {
  display: inline-block;
  vertical-align: middle;
  padding: 0 8px;
  height: 40px;
}

.accessibility-title,
.browsealoud-title,
.contrast-title {
  color: white;
  margin: 0 7px 0 0;
  line-height: 45px;
}

.accessibility-small {
  display: inline-block;
  line-height: 40px;
  font-family: arial, sans-serif;
  color: white;
  font-weight: medium;
  font-size: 14px;
}
.accessibility-small:hover, .accessibility-small:focus {
  color: #e8e8e8;
}

.accessibility-medium {
  display: inline-block;
  line-height: 40px;
  font-family: arial, sans-serif;
  color: white;
  font-weight: medium;
  font-size: 18px;
}
.accessibility-medium:hover, .accessibility-medium:focus {
  color: #e8e8e8;
}

.accessibility-large {
  display: inline-block;
  line-height: 40px;
  font-family: arial, sans-serif;
  color: white;
  font-weight: medium;
  font-size: 24px;
}
.accessibility-large:hover, .accessibility-large:focus {
  color: #e8e8e8;
}

.accessibility-large.selected,
.accessibility-medium.selected,
.accessibility-small.selected {
  text-decoration: underline;
}

.sronly {
  position: absolute;
  left: -999999px;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  transition: none;
}

.sronly-focusable {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  left: -999999px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  transition: none;
  width: 1px;
}
.sronly-focusable:focus {
  border: auto;
  clip: auto;
  height: auto;
  left: auto;
  margin: auto;
  overflow: auto;
  padding: auto;
  position: relative;
  width: auto;
}
.sronly-focusable:focus.skiptomain {
  background: white;
  clip: auto;
  color: black;
  height: auto;
  left: 5px;
  margin: 0;
  position: absolute;
  top: 5px;
  width: auto;
  z-index: 10000;
}

#coronaUpdate {
  display: none;
}

/*=======================================
GOOGLE MAPS
=======================================*/
.gm-style img {
  max-width: none;
}

/*=======================================
GOOGLE MAPS INFO WINDOW
=======================================*/
.infobox:before,
.infobox:after {
  border-color: transparent transparent transparent #212121;
  border-style: solid;
  border-width: 20px 20px 0;
  bottom: -1px;
  content: "";
  display: block;
  height: 0;
  left: -1px;
  position: absolute;
  width: 0;
  z-index: 2;
}

.infobox:after {
  border-color: transparent transparent transparent white;
  border-width: 24px 24px 0;
  z-index: 1;
}

.infobox .close {
  background: none repeat scroll 0 0 #212121;
  cursor: pointer;
  float: right;
  font-size: 17px;
  height: 25px;
  line-height: 22px;
  position: relative;
  right: -25px;
  text-align: center;
  top: 0;
  width: 25px;
}

.infobox .content {
  margin: 15px 15px 15px 15px;
}

.departure-iw {
  overflow-x: hidden;
}

.timetable-stop-departures {
  display: block;
  width: 276px;
}

.timetable-stop-departures-detail {
  padding: 10px;
  background: #ae1c0f;
}

.timetable-stop-departures-detail i {
  top: 4px;
  color: white;
  font-size: 20px;
}

.timetable-stop-departures-detail .col-10 {
  padding: 5px 30px 5px 0;
}

.timetable-stop-departures-title {
  padding: 0 !important;
  color: white;
  text-align: left !important;
  font-size: 1.5em !important;
  margin: 0;
  line-height: 1em;
}

.timetable-stop-departures-header {
  padding: 5px 0;
  background: #ae1c0f;
  border-top: 1px solid #ff9999;
  border-bottom: 1px solid #ff9999;
}

.timetable-stop-departures-header p {
  min-height: 30px !important;
  color: white;
}

.timetable-stop-departures-header .timetable-stop-departures-name {
  border-left: 1px solid #ff9999;
  border-right: 1px solid #ff9999;
}

.timetable-stop-departures-results {
  text-align: center;
}

.timetable-stop-departures-result {
  display: block;
  padding: 5px 0;
  background: white;
  border-top: 1px solid #cccccc;
  color: #333333;
  font-size: 0.85em;
}

.timetable-stop-departures-result.odd {
  background: #ffcccc;
}

.timetable-stop-departures-result:first-child {
  border: none;
}

.timetable-stop-departures-result:hover {
  color: #333333;
}

.timetable-stop-departures-service {
  margin: 0;
  padding: 4px 5px;
  font-weight: 700;
  font-size: 1.4em;
  text-align: center;
}

.timetable-stop-departures-name {
  margin: 0 0 0 -30px;
  padding: 4px 15px;
  border-left: 1px solid #ff9999;
  border-right: 1px solid #ff9999;
  font-size: 1.4em;
  font-weight: 700;
  text-align: left;
}

.timetable-stop-departures-mins {
  margin: 0 0 0 -30px;
  text-align: center;
  padding: 4px 0;
  font-size: 1.4em;
  font-weight: 700;
}

.timetable-stop-departures-mins .block {
  display: block;
  line-height: 1em;
}

.timetable-departures-loader {
  display: block;
  width: 276px;
  background: white;
}

.timetable-departures-loader img {
  display: block;
  margin: 0 auto;
  padding: 40px 0;
}

/*=======================================
TYPEAHEAD
=======================================*/
.twitter-typeahead {
  display: block !important;
}

.tt-dropdown-menu {
  width: 100%;
  background: white;
  color: #6C6C6C;
  border: 1px solid #D9D9D9;
  max-height: 260px;
  overflow-y: auto;
}

.tt-suggestion {
  padding: 8px 12px;
}

.tt-suggestion p {
  margin: 0;
}

.tt-hint {
  color: #BBB !important;
}

.tt-suggestion.tt-cursor {
  background: #EDEDED;
}

.tt-highlight {
  color: #333333;
}

.tt-dropdown-menu:hover {
  cursor: pointer;
}

/*=======================================
ADD THIS
=======================================*/
.addthis_button {
  cursor: pointer;
  float: right;
  padding: 10px 5px;
  border: 2px solid #ae1c0f;
  border-radius: 16px;
  color: #2E3638;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 23px;
  margin: 15px 0;
}

.addthis_button i {
  color: #ae1c0f;
  margin: 0 5px;
}

@media (min-width: 768px) {
  .addthis_button {
    padding: 10px 25px;
  }

  .addthis_button i {
    margin: 0 10px;
  }
}
/*=======================================
TOOLTIP
=======================================*/
.tooltip-inner {
  min-width: 350px;
}

/*======================================
MOBILE CONTENT
/*======================================*/
.mobile-content {
  background-color: white;
}

.mobile-content .news-item-body {
  padding: 30px;
}

/*=======================================
APP BANNER
=======================================*/
.app-banner {
  background: white;
}
@media (min-width: 768px) {
  .app-banner {
    width: 50%;
  }
}
.app-banner .container,
.app-banner .container &gt; .row {
  height: 100%;
}

.app-banner-call {
  margin-top: 10px;
}

.app-banner-title {
  position: relative;
  margin: 0;
  color: #1D2527;
  font-size: 1.3em;
  font-weight: 500;
  font-size: 16px;
}

.app-banner-title .big {
  display: block;
  margin: 0;
  font-size: 24px;
  font-weight: 500;
  line-height: 32px;
}

.app-banner-download-bar {
  padding: 20px 0;
  display: flex;
  gap: 10px;
}
@media (min-width: 768px) {
  .app-banner-download-bar {
    padding: 30px 0 0 0;
  }
}

.app-banner-download {
  color: white;
}
.app-banner-download-wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  height: 100%;
  padding: 20px 0;
}

.app-banner-download-title {
  display: inline-block;
  font-size: 18px;
  vertical-align: middle;
  padding: 28px 0;
  margin: 0 45px 0 45px;
  color: white;
}

.welsh .app-banner-download-title {
  margin: 0 45px 0 0;
}

.app-banner-download-logo {
  display: inline-block;
  position: relative;
  vertical-align: middle;
  z-index: 9999999;
}

@media (min-width: 768px) {
  .app-banner-title {
    font-size: 20px;
  }

  .app-banner-title .big {
    font-size: 32px;
  }
}
@media (max-width: 1199px) {
  .app-banner-download-title {
    margin: 0 30px 0 0;
  }

  .welsh .app-banner-download-title {
    margin: 0 50px 0 0;
  }
}
@media (max-width: 991px) {
  .app-banner-download-bar {
    padding: 0;
  }

  .app-banner-download {
    margin: 0 0 30px 0;
    padding: 0 72px 0 0;
  }

  .app-banner-call {
    display: block;
    margin: 0 auto;
  }
}
@media (max-width: 767px) {
  .app-banner-download-logo img {
    width: auto;
  }
}
body {
  background: #2E3638;
  font-size: 16px;
  font-family: "Wales Sans Body", Arial, sans-serif;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body.__mobile {
  overflow: hidden;
}

.main {
  padding-top: 62px;
}

@media (min-width: 576px) and (max-width: 1200px) {
  .container {
    max-width: none;
  }
}

/*=======================================
GRID FIFTHS
=======================================*/
.col-sm-fifth {
  position: relative;
  min-height: 1px;
}

@media (min-width: 768px) {
  .col-sm-fifth {
    float: left;
    width: 20%;
    padding-left: 10px;
    padding-right: 10px;
  }
}
/*=======================================
PAGE WRAP
=======================================*/
.page-wrap {
  background: white;
  overflow: hidden;
}

.page-wrap.grey {
  background: #f5f5f5;
}

/*=======================================
ROW HORIZONTAL
=======================================*/
.row-horizontal {
  white-space: nowrap;
}

.row-horizontal div[class^=col-] {
  float: none;
  display: inline-block;
  vertical-align: middle;
  white-space: normal;
}

.row-horizontal div[class^=col-] + div[class^=col-] {
  margin-left: -3px;
}

/*=======================================
WIDGET BOX
=======================================*/
.widget-box {
  margin: 15px 0;
  padding: 15px;
  background: #f5f5f5;
  border: 1px dotted #e8e8e8;
  height: 130px;
  white-space: normal;
}

/*=======================================
OTHER
=======================================*/
.complaints-procedure-link {
  margin-top: 55px;
}

.complaints-procedure-link a {
  font-weight: 700;
  color: #ae1c0f;
}

.complaints-procedure-link a:hover,
.complaints-procedure-link a:focus {
  text-decoration: underline;
}

/* =====================================
STOP WATCH
======================================== */
.call-bar {
  text-align: right;
  background: #333333;
}

.callbar-button {
  display: inline-block;
  padding: 10px 25px;
  text-align: center;
  font-weight: 400;
  color: white;
  transition: background 0.3s;
}

#button-start {
  background: #1ab3aa;
}

#button-start:hover,
#button-start:focus {
  background: rgba(26, 179, 170, 0.8);
  color: white;
}

#button-stop {
  background: #ae1c0f;
}

#button-stop:hover,
#button-stop:focus {
  background: rgba(224, 51, 77, 0.8);
  color: white;
}

.callbar-button.disabled,
.callbar-button.disabled:hover,
.callbar-button.disabled:focus {
  background: #777 !important;
  color: #AAA !important;
  cursor: no-drop !important;
}

.stopwatch-wrap {
  display: inline-block;
  margin-left: 20px;
  font-weight: 400;
  color: white;
}

#stopwatch {
  display: inline-block;
}

/* =====================================
CONTACT CENTRE PAGE
======================================== */
.contactcentre-wrap {
  padding-top: 25%;
  overflow: hidden;
  margin-bottom: -100px;
  background-color: #ddd;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 100%;
  min-height: 450px;
  position: relative;
  width: 100%;
}

.contactcentre-wrap .col-sm-10 {
  background: white;
}

@media (max-width: 767px) {
  .contactcentre-wrap {
    padding: 0;
    background: none !important;
  }
}
/* Info popup */
.infopopupoverlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  z-index: 7;
  display: none;
}

.infopopup {
  position: fixed;
  background: white;
  box-shadow: 0px 0px 41px -10px rgba(0, 0, 0, 0.75);
  z-index: 8;
  width: 90%;
  left: 50%;
  top: -2000px;
  transform: translate(-50%, -50%);
  padding: 40px 25px 25px 25px;
  text-align: center;
  transition: all 150ms;
}

.infopopup.__active {
  top: 50%;
}

.infopopupoverlay.__active {
  display: block;
}

@media (min-width: 772px) {
  .infopopupoverlay,
.infopopup {
    display: none;
  }
}
.infopopup-title {
  padding-bottom: 20px;
  font-weight: 500;
  border-bottom: 1px solid #e8e8e8;
}

.infopopup-detail {
  margin: 0;
  color: #999999;
  font-weight: 400;
  line-height: 1.4;
  margin: 20px 0;
}

.infopopup-detail span {
  display: block;
  margin-bottom: 6px;
}

.infopopup-viewall {
  color: black;
  padding: 15px;
  border: 1px solid #999999;
  display: block;
  font-weight: 400;
  margin-bottom: 10px;
  transition: all 200ms;
}

.infopopup-viewall:hover {
  color: white;
  background: #999999;
}

.infopopup-viewall i {
  color: #FFC42E;
  margin-right: 10px;
}

/* skyscraper */
.skyscraper.__planner {
  margin: 20px 0 0 0;
}

@media (min-width: 768px) {
  .skyscraper.__planner {
    margin-left: 53px;
  }
}
.banner-fflecsi {
  cursor: pointer;
  display: block;
  width: 100%;
  max-width: 697px;
  height: auto;
  background-color: #2E3638;
  margin-bottom: 20px;
  margin-right: 0px;
  margin-top: 15px;
  position: relative;
  padding: 30px 15px;
}

.banner-fflecsi-col-text {
  color: white;
  font-size: 36px;
  font-weight: 400;
}

.banner-fflecsi-col-body {
  color: white;
  font-size: 16px;
  margin: 0;
}

.banner-fflecsi-col-body span {
  color: #FFCB31;
}

.banner-fflecsi-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

@media (min-width: 768px) {
  .banner-fflecsi {
    display: flex;
    margin-top: 0;
    padding: 0;
  }

  .banner-fflecsi-col {
    padding: 30px;
  }

  .banner-fflecsi-col:first-of-type {
    width: 40%;
  }

  .banner-fflecsi-col-text {
    font-size: 36px;
    margin: 0;
  }

  .banner-fflecsi-col:last-of-type {
    width: 60%;
  }
}
@media (min-width: 992px) {
  .banner-fflecsi-col-text {
    font-size: 43px;
  }

  .banner-fflecsi {
    margin-left: 53px;
    width: auto;
  }

  .banner-fflecsi-col-body {
    font-size: 18px;
  }
}
@media (min-width: 1200px) {
  .banner-fflecsi-col-text {
    font-size: 49px;
  }
}
.travelmapblock {
  background: #333333;
}
.travelmapblock-wrap {
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 20px;
  margin: 40px 0;
  padding: 22px;
}
.travelmapblock-wrap &gt; .row {
  display: flex;
  align-items: center;
}
@media (min-width: 768px) {
  .travelmapblock-wrap {
    padding: 50px;
  }
}
.travelmapblock-content {
  color: white;
}
.travelmapblock-image img {
  margin: -45px auto;
  margin: -17px auto 18px auto;
  height: auto;
}
@media (min-width: 768px) {
  .travelmapblock-image img {
    margin: -45px auto;
    height: auto;
  }
}
.travelmapblock-title {
  font-size: 26px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 20px;
  padding-bottom: 10px;
  text-transform: uppercase;
  color: white;
}
@media (min-width: 768px) {
  .travelmapblock-title {
    font-size: 26px;
  }
}
.travelmapblock-text {
  opacity: 0.8;
  font-size: 16px;
  letter-spacing: 0;
  line-height: 20px;
  margin: 6px 0;
}
@media (min-width: 768px) {
  .travelmapblock-text {
    font-size: 18px;
  }
}
.travelmapblock-link {
  margin: 18px 0;
}
.travelmapblock-link .button, .travelmapblock-link .traveline_plus_content form button, .traveline_plus_content form .travelmapblock-link button, .travelmapblock-link .bus-stop-search button, .bus-stop-search .travelmapblock-link button, .travelmapblock-link .journey-planner-bar .submit_wrap button, .journey-planner-bar .submit_wrap .travelmapblock-link button, .travelmapblock-link .modalblock-close,
.travelmapblock-link .modalblock-submit, .travelmapblock-link .timetable-disruption-button {
  padding: 15px 40px;
}
@media (min-width: 768px) {
  .travelmapblock-link .button, .travelmapblock-link .traveline_plus_content form button, .traveline_plus_content form .travelmapblock-link button, .travelmapblock-link .bus-stop-search button, .bus-stop-search .travelmapblock-link button, .travelmapblock-link .journey-planner-bar .submit_wrap button, .journey-planner-bar .submit_wrap .travelmapblock-link button, .travelmapblock-link .modalblock-close,
.travelmapblock-link .modalblock-submit, .travelmapblock-link .timetable-disruption-button {
    display: inline-block;
  }
}
/*# sourceMappingURL=style.css.map*/
</pre></body></html>