/* find a stop */
.findastop-controls,
.summary-holder {
  overflow: hidden;
}
.findastop-search {
  background-color: #fafafa;
  padding: 15px;
  margin-bottom: 20px;
}
.findastop-search,
.findastop-search input[type="text"],
.findastop-search button,
.ui-menu-item {
  font-size: 16px;
}
.findastop-search input[type="text"],
.findastop-search button {
  line-height: 1.125em;
}
.searchcol-main {
  padding-bottom: 10px;
}
.choose-dir {
  float: left;
  width: 55%;
  position: relative;
  padding-top: 16px;
  padding-bottom: 6px;
  margin-right: 0;
}
.choose-dir.choose-outbound {
  width: 45%;
}
.wide-route .choose-dir,
.wide-route .choose-dir.choose-outbound {
  width: 50%;
}
.findastop-search input[type="text"],
.findastop-search button {
  padding: 0 15px;
  height: 48px;
}
.ui-autocomplete li.ui-menu-item {
  padding: 10px 15px;
}
.findastop-search input[type="text"] {
  border: 1px solid #b6b6b6;
  background-color: #fff;
  color: #252525;
}
.findastop-search input[type="text"]:focus {
  outline: none;
  border-color: #888;
}
.findastop-search button,
.findastop-search button:visited {
  border: none;
  background-color: #ee3124;
  color: #fff;
}
.findastop-search button:hover {
  border: none;
  background-color: #404040;
  color: #fff;
}
.findastop-search .subtle,
.findastop-search .subtle:visited {
  border: 1px solid #bbb;
  background-color: #fff;
  color: #252525;
}
.btn.subtle:hover {
  background: #404040;
  border: none;
}
.findastop-search button.disabled,
.findastop-search button.disabled:visited,
.findastop-search button.disabled:hover {
  border-color: #ccc;
  background-color: #ccc;
  color: #888;
}
.findastop-search input[type="radio"] {
  position: absolute;
  left: 5px;
  top: 20px;
  z-index: -1;
}
.findastop-search input[type="radio"]:focus {
  outline: none;
}
.findastop-search label {
  cursor: pointer;
  line-height: 24px;
}
.findastop-search input[type="radio"] + label:before {
  cursor: pointer;
  display: block;
  float: left;
  content: "";
  width: 24px;
  height: 24px;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  margin-right: 5px;
  border: 2px solid #b6b6b6;
}
.findastop-search input[type="radio"] + label:after {
  cursor: pointer;
  display: block;
  content: "";
  width: 12px;
  height: 12px;
  position: absolute;
  left: 6px;
  top: 22px;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background: #e4e4e4;
}
.findastop-search input[type="radio"]:checked + label:before {
  border-color: #ee3124;
}
.findastop-search input[type="radio"]:checked + label:after {
  background: #ee3124;
}
.ui-autocomplete {
  max-width: 100%;
}
.ui-autocomplete-category {
  font-weight: bold;
  padding: 0.2em 0.4em;
  margin: 0.8em 0 0.2em;
  line-height: 1.5;
}

.findastop-stop-location {
  background-color: #fafafa;
  margin-bottom: 20px;
  position: relative;
}
label.fit-lbl {
  padding-bottom: 0;
  width: auto;
  float: left;
  padding-right: 10px;
}
.icon-col {
  position: relative;
  min-height: 1px;
  float: left;
  width: 22px;
}
.after-icon-col {
  margin-left: 22px;
}
.icon-col i {
  font-size: 18px;
  color: #ee3124;
}
.stop-loc-varies {
  padding-bottom: 8px;
}
.findastop-holder h4 {
}
.multi-service .findastop-stop-location {
  background-color: transparent;
  margin-bottom: 0;
  position: relative;
}
.stop-location-nearest {
  padding: 20px;
  background-color: #fafafa;
  margin-bottom: 20px;
  position: relative;
}
@media (min-width: 768px) {
  .searchcol-main {
    float: left;
    width: 100%;
    margin-right: -120px;
    padding-bottom: 0;
  }
  .searchcol-main-inner {
    margin-right: 120px;
  }
  .searchcol-aside {
    width: 100px;
    float: right;
  }
  .choose-address-holder,
  .has-direction .choose-hotel-holder {
    float: left;
    width: 100%;
    margin-right: -250px;
  }
  .choose-address,
  .has-direction .choose-hotel {
    margin-right: 250px;
  }
  .choose-route {
    width: 230px;
    float: right;
  }
  .wide-route .searchcol-main,
  .wide-route .searchcol-main-inner {
    margin-right: 0;
  }
  .wide-route .searchcol-aside {
    width: 100%;
    float: none;
  }
  .wide-route .btn {
    margin-top: 15px;
    max-width: 100%;
  }
  .wide-route .choose-address-holder {
    margin-right: -350px;
  }
  .wide-route .choose-address {
    margin-right: 350px;
  }
  .wide-route .choose-route {
    width: 325px;
  }
  .choose-dir {
    padding-top: 14px;
  }
  .findastop-search input[type="radio"] + label:after {
    top: 20px;
  }
  .choose-dir.spacer-rdo {
    width: 40%;
    margin-left: 5%;
  }
}
@media (min-width: 992px) {
  .findastop-search {
    padding: 20px;
  }
  .findastop-search,
  .findastop-search input[type="text"],
  .findastop-search button,
  .ui-menu-item {
    font-size: 18px;
  }
  .findastop-search input[type="text"],
  .findastop-search button {
    padding: 0 20px;
    height: 44px;
  }
  .ui-autocomplete li.ui-menu-item {
    padding-left: 20px;
    padding-right: 20px;
  }
  .choose-dir {
    padding-top: 8px;
    padding-bottom: 0;
    width: auto;
  }
  .findastop-search label {
    line-height: 28px;
  }
  .findastop-search input[type="radio"] + label:before {
    width: 28px;
    height: 28px;
    margin-right: 8px;
  }
  .findastop-search input[type="radio"] + label:after {
    width: 12px;
    height: 12px;
    left: 8px;
    top: 16px;
  }
  .searchcol-main,
  .wide-route .searchcol-main {
    margin-right: -150px;
  }
  .searchcol-main-inner,
  .wide-route .searchcol-main-inner {
    margin-right: 150px;
  }
  .searchcol-aside,
  .wide-route .searchcol-aside {
    width: 130px;
    float: right;
  }
  .choose-address-holder,
  .has-direction .choose-hotel-holder {
    margin-right: -340px;
  }
  .choose-address,
  .has-direction .choose-hotel {
    margin-right: 340px;
  }
  .choose-route {
    width: 320px;
  }
  .wide-route .choose-address-holder {
    margin-right: -440px;
  }
  .wide-route .choose-address {
    margin-right: 440px;
  }
  .wide-route .choose-route {
    width: 400px;
  }
  .wide-route .btn {
    margin-top: 0;
  }
}
@media (min-width: 1200px) {
  .searchcol-main {
    margin-right: -200px;
  }
  .searchcol-main-inner {
    margin-right: 200px;
  }
  .searchcol-aside {
    width: 180px;
  }
}

/* directions to stop */
.findastop-panels {
  position: relative;
}
.findastop-results {
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 100%;
  overflow: hidden;
}
@media (max-width: 767px) {
  .findastop-results.showing {
    position: relative;
    width: 100%;
    height: auto;
  }
}
@media (max-width: 991px) {
  .map-panel-half .findastop-results.showing {
    position: relative;
    width: 100%;
    height: auto;
  }
}
.route-steps {
  padding: 10px 0;
}
.route-stage {
  padding: 0 0 20px 0;
  position: relative;
}
.route-steps h3,
.content-panel .route-steps h3:first-child {
  margin: 0 0 20px 0;
}
.route-steps h4 {
  margin: 0 20px 20px 0;
}
.route-steps h5 {
  margin-top: 22px;
  margin-bottom: 0;
  color: #252525;
}
.route-steps p {
  margin-top: 8px;
  margin-bottom: 0;
}
.route-steps .journey-note {
  margin-top: 0;
  color: #707070;
}
.route-steps .stage-btn {
  margin-top: 15px;
}
.route-steps .btn,
.route-steps .btn:visited {
  border-color: #bbb;
  background: #fff;
}
.route-steps .btn {
  width: 100px;
}
.route-steps .btn.fillw {
  width: 100%;
  margin-bottom: 10px;
}
.stop-info,
.stop-tt {
  display: block;
  padding-top: 4px;
  padding-bottom: 5px;
}
.stop-tt {
  padding-top: 14px;
}
.stop-travel-time {
  display: block;
  color: #707070;
  padding-top: 10px;
}
.hotel-travel-time {
  color: #707070;
}
.stage-desc h5 {
  margin-top: 22px;
}
.route-stage .btn.full {
  width: 100%;
  max-width: 100%;
  background: #fafafa;
  border: 1px solid #bbb;
}
.route-stage .btn:hover {
  background: #404040;
  color: #fff;
  border: 1px solid #404040;
}
.route-stage a.btn,
.route-stage button.btn {
  padding-top: 8px;
  padding-bottom: 8px;
  height: auto;
  line-height: 1.3;
}
.stop-moved {
  margin-top: 14px;
}
@media (min-width: 768px) {
  .route-steps {
    padding-top: 0;
    padding-bottom: 0;
    width: 260px;
  }
  .map-panel-half .route-steps {
    padding-top: 10px;
    padding-bottom: 10px;
    width: 100%;
  }
  .route-stage {
    padding: 0 20px 20px 0;
  }
}
@media (min-width: 992px) {
  .route-steps {
    width: 380px;
  }
  .route-stage {
    padding-bottom: 25px;
  }
  .route-stage:last-child {
    padding-bottom: 0;
  }
}
.stage-icon {
  width: 60px;
  height: 60px;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  border: 2px solid #ee3124;
  background-color: #ee3124;
  float: left;
  display: none;
}
.stage-icon.bg-reverse {
  background-color: #fff;
}
.stage-icon-marker,
.stage-icon-bus,
.stage-icon-airport {
  background-image: url(images/skybus-route-icon.png);
  background-repeat: no-repeat;
}
.stage-icon-hotel,
.stage-icon-fare,
.stage-icon-hub {
  background-image: url(images/x2/skybus-step-icon-with-SXS.png);
  background-repeat: no-repeat;
  background-size: 180px 120px;
}
.stage-icon-themeparks {
  background-image: url(images/x2/skybus-route-icon-gctp.png);
  background-repeat: no-repeat;
  background-size: 60px 120px;
}
.stage-icon-gcas,
.stage-icon-gctp {
  background-image: url(images/x2/skybus-step-icon-GC.png);
  background-repeat: no-repeat;
  background-size: 240px 120px;
}
.stage-icon-marker {
  background-position: -2px -62px;
}
.stage-icon-marker.bg-reverse {
  background-position: -2px -2px;
}
.stage-icon-bus {
  background-position: -122px -62px;
}
.stage-icon-bus.bg-reverse {
  background-position: -122px -2px;
}
.stage-icon-airport {
  background-position: -62px -62px;
}
.stage-icon-airport.bg-reverse {
  background-position: -62px -2px;
}
.stage-icon-hotel {
  background-position: -122px -62px;
}
.stage-icon-hotel.bg-reverse {
  background-position: -122px -2px;
}
.stage-icon-fare {
  background-position: -62px -62px;
}
.stage-icon-fare.bg-reverse {
  background-position: -62px -2px;
}
.stage-icon-hub {
  background-position: -2px -62px;
}
.stage-icon-hub.bg-reverse {
  background-position: -2px -2px;
}
.stage-icon-gcas {
  background-position: -2px -62px;
}
.stage-icon-gcas.bg-reverse {
  background-position: -2px -2px;
}
.stage-icon-gctp {
  background-position: -182px -62px;
}
.stage-icon-gctp.bg-reverse {
  background-position: -182px -2px;
}
.stage-icon-themeparks {
  background-position: -2px -62px;
}
.stage-icon-themeparks.bg-reverse {
  background-position: -2px -2px;
}
.stage-desc {
  position: relative;
}
@media (min-width: 320px) {
  .stage-icon {
    display: block;
  }
  .stage-desc {
    margin-left: 75px;
    padding-right: 55px;
  }
  .stage-join {
    background: url(images/join-line.png) repeat-y 29px 62px;
  }
  .stage-join-dash {
    background: url(images/join-line-dashed.png) repeat-y 29px 62px;
  }
}
@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
  .stage-icon-marker,
  .stage-icon-bus,
  .stage-icon-airport {
    background-image: url(images/x2/skybus-route-icon.png);
    background-size: 180px 120px;
  }
  .stage-icon-gcas,
  .stage-icon-gctp {
    background-image: url(images/x2/skybus-step-icon-GC.png);
    background-size: 240px 120px;
  }
}

@media (min-width: 992px) {
  /* directions button */
  .stage-btn.icon-directions,
  .stage-btn.icon-view {
    margin-top: 0;
    position: absolute;
    right: 0;
    top: 0;
  }
  .icon-directions .btn,
  .icon-directions a.btn,
  .icon-view .btn,
  .icon-view a.btn {
    width: 35px;
    height: 35px;
    padding: 0;
    border-color: #ccc;
    text-indent: -99999px;
  }
  .icon-directions .btn,
  .icon-directions a.btn {
    background: #fff url(images/icon-direction-light.png) no-repeat center
      center;
  }
  .icon-directions .btn:hover,
  .icon-directions a.btn:hover {
    background: #ee3124 url(images/icon-direction-white.png) no-repeat center
      center;
    border-color: #ee3124;
  }
  .icon-view .btn,
  .icon-view a.btn {
    background: #fff url(images/icon-loc-light.png) no-repeat center center;
  }
  .icon-view .btn:hover,
  .icon-view a.btn:hover {
    background: #ee3124 url(images/icon-loc-white.png) no-repeat center center;
    border-color: #ee3124;
  }
}

/* map infowin */
.stop-infowin {
  min-width: 160px;
  max-width: 220px;
  padding: 10px 0 0 5px;
}
.stop-infowin h4 {
  padding-bottom: 5px;
  margin-top: 0;
  margin-bottom: 15px;
  border-bottom: 2px solid #ee3124;
}
.stop-infowin p {
  margin: 10px 0;
}
.stop-infowin .addr {
  font-family: "HelveticaNeueW01-65Medi", Arial, Helvetica, sans-serif;
}
.stop-infowin .btn {
  width: 100px;
  margin-top: 10px;
}
@media (min-width: 768px) {
  .stop-infowin {
    min-width: 200px;
    max-width: 300px;
  }
}

/* map sizes */
.map-md .locmap {
  height: 420px;
}
@media (min-height: 800px) {
  .map-md .locmap {
    height: 500px;
  }
}
@media (min-height: 1100px) {
  .map-md .locmap {
    height: 520px;
  }
}
.map-lg .locmap {
  height: 450px;
}
@media (min-width: 992px) {
  .map-lg .locmap {
    height: 550px;
  }
}
@media (min-height: 800px) {
  .map-lg .locmap {
    height: 550px;
  }
}
@media (min-height: 1100px) {
  .map-lg .locmap {
    height: 600px;
  }
}

/* map buttons */
.map-btn {
  width: 25px;
  text-align: center;
  padding: 7px 0;
  margin: 10px 14px 0 0;
  font-size: 11px;
  line-height: 12px;
  font-family: Arial, sans-serif;
  color: #606060;
  background: #fff;
  border: none;
  -moz-border-radius: 1px;
  -webkit-border-radius: 1px;
  border-radius: 1px;
}
.map-btn:hover {
  cursor: pointer;
  background: #ebebeb;
  color: #252525;
}
.map-btn span {
  display: none;
}
@media (min-width: 768px) {
  .map-btn {
    width: auto;
    padding: 8px 10px;
    margin-right: 10px;
    -webkit-box-shadow: 1px 2px 4px -1px rgba(102, 102, 102, 0.4);
    -moz-box-shadow: 1px 2px 4px -1px rgba(102, 102, 102, 0.4);
    box-shadow: 1px 2px 4px -1px rgba(102, 102, 102, 0.4);
  }
  .map-btn span {
    display: inline;
  }
}

/* stop indicators */
.stop-indicator {
  margin-right: 5px;
}
.indicator {
  display: inline-block;
  line-height: 1em;
  background: #ee3124;
  color: #fff;
  margin-top: -5px;
  margin-bottom: -5px;
  margin-left: 5px;
  width: 28px;
  height: 28px;
  line-height: 28px;
  text-align: center;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
}
.duo .indicator:first-child {
  -webkit-border-top-right-radius: 0;
  -webkit-border-bottom-right-radius: 0;
  -moz-border-radius-topright: 0;
  -moz-border-radius-bottomright: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  padding-right: 7px;
  border-right: 1px solid #fff;
}
.duo .indicator:last-child {
  -webkit-border-top-left-radius: 0;
  -webkit-border-bottom-left-radius: 0;
  -moz-border-radius-topleft: 0;
  -moz-border-radius-bottomleft: 0;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-bottom-left-radius: 0;
  padding-left: 7px;
}

/* new or moved stops */
.tt-stop-moved {
  padding-left: 5px;
  color: #ee3124;
}
