.at-view-fade-in.ng-enter {
  -webkit-transition-property: opacity;
  -moz-transition-property: opacity;
  -o-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: 0.5s;
  -moz-transition-duration: 0.5s;
  -o-transition-duration: 0.5s;
  transition-duration: 0.5s;
  opacity: 0;
}

.at-view-fade-in.ng-enter-active {
  -webkit-transition-delay: 0.75s;
  -moz-transition-delay: 0.75s;
  -o-transition-delay: 0.75s;
  transition-delay: 0.75s;
  opacity: 1;
}

.at-view-fade-out.ng-leave {
  -webkit-transition-property: opacity;
  -moz-transition-property: opacity;
  -o-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: 0.25s;
  -moz-transition-duration: 0.25s;
  -o-transition-duration: 0.25s;
  transition-duration: 0.25s;
  opacity: 1;
}

.at-view-fade-out.ng-leave-active {
  opacity: 0;
}

.autocomplete{
  width: 100%;
  position: relative;
}

.autocomplete input{
  /* font-size: 1.2em; */
  width: 100%;
}

.autocomplete ul{
  position: absolute;
  left: 0;
  width: 100%;
  border-left: 1px solid #888;
  border-right: 1px solid #888;
  border-bottom: 1px solid #888;
  z-index: 1;
  -webkit-padding-start: 0px;
}

.autocomplete li{
  text-align: left;
  list-style:none;
  width: 100%;
  padding:0.4em;
  background-color: #fff;

}

.autocomplete li.selectable{
  padding-left:2em;
}

.autocomplete li.active{
  width: 100%;
  background-color: #4bf;
}

.autocomplete .highlight {
  background-color: #E2E2E2;
}

.autocomplete li.active .highlight {
  background: #666;
  color: #fff;
}

.btn {
  white-space: normal;
}

.timepicker {
  margin-top: 1em;
  margin-bottom: 1em;
  margin-left: auto;
  margin-right: auto;
}

.col-centered{
  float: none;
  margin: 0 auto;
}

.clear-btn {
  position: absolute;
  top: .5em;
  right: 1.5em;
  cursor: pointer;
}

/*
 * Row with equal height columns
 * --------------------------------------------------
 */
.row-eq-height {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         flex;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -webkit-box-align: center;
  align-items: center;

}

.rounded-border {
  /*border-radius: 5px;*/
  border: 1px solid grey;
  margin-top: 10px;
  margin-bottom: 10px;
}

.row-eq-height [class*=col] {
  padding: 0px;
}

.truncate h1,
.truncate h2,
.truncate h3,
.truncate h4,
.truncate h5,
.truncate h6{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.confirm p { margin: 5px; }

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 5px 5px 5px 0;
}

.no_underline{
  text-decoration: none !important;
  color: inherit !important;

  padding:0.4em;}


@charset "utf-8";
/* CSS Document */
/* Smartphones (portrait and landscape) ----------- */
@media only screen
and (min-device-width : 320px)
and (max-device-width : 480px) {
  .fonts
  {
    font-size: 75%;
  }
  .dropdown-menu.pull-right {
    position: relative;
  }
}
/* Smartphones (landscape) ----------- */
@media only screen
and (min-width : 321px) {
  .fonts
  {
    font-size: 120%;
  }
}
/* Smartphones (portrait) ----------- */
@media only screen
and (max-width : 320px) {
  .fonts
  {
    font-size: 120%;
  }
}
/* iPads (portrait and landscape) ----------- */
@media only screen
and (min-device-width : 768px)
and (max-device-width : 1024px) {
  .fonts
  {
    font-size: 120%;
  }
}
/* iPads (landscape) ----------- */
@media only screen
and (min-device-width : 768px)
and (max-device-width : 1024px)
and (orientation : landscape) {
  .fonts
  {
    font-size: 150%;
  }
}
/* iPads (portrait) ----------- */
@media only screen
and (min-device-width : 768px)
and (max-device-width : 1024px)
and (orientation : portrait) {

  .fonts
  {
    font-size: 120%;
  }
}
/* Desktops and laptops ----------- */
@media only screen
and (min-width : 1224px) {
  .fonts
  {
    font-size: 156%;
  }
}
/* Large screens ----------- */
@media only screen
and (min-width : 1824px) {
  .fonts
  {
    font-size: 200%;
  }
}
/* iPhone 4 ----------- */
@media
only screen and (-webkit-min-device-pixel-ratio : 1.5),
only screen and (min-device-pixel-ratio : 1.5) {
  .fonts
  {
    font-size: 190%;
  }
}

.waypoint {
  z-index: 999;
  font-size: 2em; background: white;
  margin-top: 0.2em;
  margin-left: -13px;
}

.destination {
  margin-left: -13px !important;
}

.itin-logo-image {
  height: 20px;
  width: 20px;
  margin: 15% 0 0 35%;
}

.mode_walk .itinerary-logo-image {
  display: block;
  width: 20px;
  height: 20px;
  background-image: url(../images/modes/walk.png);
  background-size: contain;
  content: " ";
  position: absolute;
  margin-top: 10%;
  right: 50%;
}

.mode_bus .itinerary-logo-image {
  width: 20px;
  height: 20px;
  background-image: url(../images/modes/transit.png);
  background-size: contain;
  content: " ";
  position: absolute;
  margin-top: 10%;
  right: 50%;
}

.mode_rail .itinerary-logo-image {
  width: 22px;
  height: 22px;
  background-image: url(../images/modes/rail.png);
  background-size: contain;
  content: " ";
  position: absolute;
  margin-top: 10%;
  right: 50%;
}

.mode_subway .itinerary-logo-image {
  width: 17px;
  height: 20px;
  background-image: url(../images/modes/subway.png);
  background-size: contain;
  content: " ";
  position: absolute;
  margin-top: 10%;
  right: 50%;
}

.mode_tram .itinerary-logo-image {
  width: 20px;
  height: 20px;
  background-image: url(../images/modes/streetcar.png);
  background-size: contain;
  content: " ";
  position: absolute;
  margin-top: 10%;
  right: 50%;
}

.mode_wait .itinerary-logo-image {
  width: 20px;
  height: 20px;
  background-image: url(../images/clock.png);
  background-size: contain;
  content: " ";
  position: absolute;
  margin-top: 10%;
  right: 50%;
}

.mode_paratransit .itinerary-logo-image {
  width: 20px;
  height: 20px;
  background-image: url(../images/modes/paratransit.png);
  background-size: contain;
  background-repeat: no-repeat;
  content: " ";
  position: absolute;
  margin-top: 10%;
  right: 50%;
}

.mode_walk > .row > [class*='col-']:nth-child(2):before {
  width: 5px;
  background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAACACAYAAADDEqOOAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABESURBVEhL7c8xDgAgCEPR4sm9n94JF+LQycSkOvQtECZ+YGQHCczM2rdW843zly6PMi4iLhJwEXGRgIuIiwRcRL4rAhaEQCb9w6AeBAAAAABJRU5ErkJggg==) repeat;
  bottom: 0;
  content: " ";
  left: 8px;
  position: absolute;
  top: 10px;
  height: 100%;
  z-index: -1;
}

.mode_bus > .row > [class*='col-']:nth-child(2):before {
  width: 5px;
  background: #852303;
  bottom: 0;
  content: " ";
  left: 8px;
  position: absolute;
  top: 10px;
  height: 100%;
  z-index: -1;
}

.mode_rail > .row > [class*='col-']:nth-child(2):before {
  width: 5px;
  background: #852303;
  bottom: 0;
  content: " ";
  left: 8px;
  position: absolute;
  top: 10px;
  height: 100%;
  z-index: -1;
}

.mode_subway > .row > [class*='col-']:nth-child(2):before {
  width: 5px;
  background: #852303;
  bottom: 0;
  content: " ";
  left: 8px;
  position: absolute;
  top: 10px;
  height: 100%;
  z-index: -1;
}

.mode_tram > .row > [class*='col-']:nth-child(2):before {
  width: 5px;
  background: #852303;
  bottom: 0;
  content: " ";
  left: 8px;
  position: absolute;
  top: 10px;
  height: 100%;
  z-index: -1;
}

.mode_wait > .row > [class*='col-']:nth-child(2):before {
  width: 5px;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAB5CAYAAADxj+tfAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABCSURBVEhL7c8xCgAwCENR7cl7P71TXaTQTIVCuuQtipPfI2Ia8MxcvW+j5x/3Lz0eaVQEVESgIqAiAhUBFRGo6GBW+/EvVaeAm1YAAAAASUVORK5CYII=) repeat;
  bottom: 0;
  content: " ";
  left: 8px;
  position: absolute;
  top: 10px;
  height: 100%;
  z-index: -1;
}

.mode_paratransit > .row > [class*='col-']:nth-child(2):before {
  width: 5px;
  background-color: #0E5302;
  bottom: 0;
  content: " ";
  left: 8px;
  position: absolute;
  top: 10px;
  height: 100%;
  z-index: -1;
}

.no-pseudo:before {
  content: none !important;
}

.mode_icon {
  position: relative;
  top: calc(50%);
}

.row-same-height {
  /*width: 100%;
  table-layout: fixed;*/
}

.mode_icon {
  top: calc(50% + .5em);
  position: absolute;
  z-index: -1;
  left: -30px;
}

.start_time {
  position: absolute;
  left: -3em;
  top:2px;
}

.leg-header {
  padding: 0px;
  background-color: #F2F2F2;
  border: 1px solid #E4E4E4;
  border-right: 0px;
}

.transit-header {
  padding: 1em;
  background-color: #F2F2F2;
  z-index: auto;
  border-bottom: 1px solid #E4E4E4;
  margin-bottom: 1em;
}

.animate-show.ng-hide-add.ng-hide-add-active,
.animate-show.ng-hide-remove.ng-hide-remove-active {
  -webkit-transition: all linear 0.5s;
  transition: all linear 0.5s;
}

.animate-show.ng-hide {
  line-height: 0;
  opacity: 0;
  padding: 0 10px;
}

.timeline {
  margin: 0px;
}

.transit-container {
  border: 1px solid #E4E4E4;
  border-bottom: 0px;
}

.transit-body {
  border: 1px solid #E4E4E4;
  border-top: hidden;
  padding: 0;
  padding-bottom: 1em;
}

.paratransit-body {
  border: 1px solid #E4E4E4;
  padding: 0px;
  padding-top: 1em;
  padding-bottom: 1em;
}

.walk-body {
  border: 1px solid #E4E4E4;
  padding: 0;
  padding-top: 1em;
  padding-bottom: 1em;
}

.mode_walk i {
  color: #20C0FF;
}

.mode_bus i {
  color: #852303;
}

.mode_rail i {
  color: #852303;
}

.leg-info {
  padding-right: 0px;
}

.leg-info .row{
  margin: 0px;
}

.bus-info, .rail-info, .walk-info {
  display: table;
  width: 100%;
  /*padding-right:40px;*/
}

.wait-info {
  margin-top: 1em;
  margin-bottom: 1em;
}

.walk-arrow {
  position: absolute;
  left: 0em;
}

.even-height-row {
  display: table;
  width: 100%;
  margin-left: 0px !important;
}

.left-side {
  vertical-align: top;
  float: none;
  display: table-cell;
  width: 100%;
}

.right-side {
  vertical-align: top;
  float: none;
  display: table-cell;
}

.col-height-master {
  vertical-align: middle;
  float: none;
  display: table-cell;
  /*width: 100%;*/
}

.col-height-slave {
  vertical-align: middle;
  float: none;
  display: table-cell;
}

.route-badge {
  position: absolute;
  border-bottom: 1px grey solid;
  border-left: 1px grey solid;
  top: 0px;
  right: 0px;
  padding: 2px;
  margin-top: -6px;
  margin-right: -7px;
}

.no-padding  {
  padding: 0px;
}


/*.row {
  margin-left: -25px !important;
  margin-right: -25px !important;
}*/

.btn-back {
  color: #2884FF;
  cursor: pointer;
  background: none;
  text-decoration: underline;
  border: none;
}

.btn-next {
  color: #2884FF;
  cursor: pointer;
  background: none;
  text-decoration: underline;
  border: none;
}

.table-compact {
  margin: 0px !important;
  padding: 0px !important;
}

.table-compact > [class*='col-'] {
  margin: 0px !important;
  padding: 0px !important;
  padding-right: 5px !important;
}

.table-compact > [class*='col-'] > p {
  margin: 0px !important;
  padding: 0px !important;
}

.walk-time-icon {
  height: 1em;
  padding: 0px;
  margin-bottom: .2em;
}

.bus {
  padding: 1em;
}

.bus_options .row {
  margin-left: -1em;
  margin-right: -1em;
  cursor: pointer;
}

.rail {
  padding: 1em;
}

.rail_options .row {
  margin-left: -1em;
  margin-right: -1em;
  cursor: pointer;
}

.walk-step {
  border-bottom: 1px grey solid;
}

.discounts-body {
  background-color: #DDDDDD;
  padding: 2em;
  padding-top: 1em;
  padding-bottom: 0em;
}

.discounts-header {
  margin-left: -2.5em;
}

.discounts-body > .row {
  padding-bottom: .3em;
}

.discounts-row {
  background-color: white;
  border: 1px #BDBDBD solid;
  color: #878787;
  padding: 0px;
  padding-top: .5em;
  padding-bottom: .5em;
}

.or-less {
  position: absolute;
  width: auto;
  right: 0.5em;
  top: 1.8em;
}

.discounts-row > [class*='col-'] {
  padding: 0px;
}

.discounts-row > [class*='col-']:nth-child(1) {
  text-align: left;
}

.discounts-row > [class*='col-']:nth-child(2) {
  text-align: right;
}

.myride {
  margin-top: .5em;
  border: 1px #BDBDBD solid;
  padding: .5em;
}

.blue-text {
  color: #2884FF;
}

.myride > .row > [class*='col-'] {
  padding: 0px;
}

.myride > .row {
  padding: 0px;
  margin: 0px;
}

.nav-tabs {
  border: hidden;
  display: -webkit-inline-box;
}

.nav-tabs > li {
  float: none;
  display: block;
  display: -moz-inline-box;
}

.discounts div.ng-isolate-scope { text-align: center; }
.discounts div.tab-content {
  text-align: left;
  display: flex;
  justify-content: center;
}

.nav-tabs > li.active {
  border-bottom: 5px #002469 solid;
  outline-width: 0;
}

li.active a {
  border: hidden !important;
  outline-width: 0;
}

html {
  position: relative;
  min-height: 100%;
}
body {
  margin: 0px; /* bottom = footer height */
}

.navbar {
  background-color: white !important;
}

.navbar, .navbar-inverse {
  border-radius: 0;
  border: none;
  margin-bottom: 0;
}


@media only screen
and (min-device-width : 320px)
and (max-device-width : 480px) {
  .sticky-footer {
    background-color: #ffffff;
    border: 1px #BDBDBD solid;
    border-bottom: hidden;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    height: 50px;
  }

  .row {
    margin-left: -10px;
    margin-right: -10px;
  }
}


.btn-success, .btn-success:active, .btn-success:hover {
  background-color: #2884FF !important;
  border-color: #2884FF !important;
  box-shadow: none !important;
}

.navbar i {
  font-size: 3em;
  color: #03763a;
}

.dropdown-menu.pull-right {
  right: auto;
  left: auto;
}


.myride:hover {
  background-color: #EAEAEA;
}


.col-xs-2.right-side {
  max-width: 16.6666666667%;
  min-width: 90px;
}

.autocomplete {
  line-height: 2.2em;
}

.cs-time-input input.cs-ampm:focus + .cs-ampmspan::after {
  border-color: #3366FF !important;
  box-shadow: 0 0 5px #99CCFF !important;
}

.cs-time-input input.cs-ampm:hover + .cs-ampmspan::after {
  color: #F5F5F5 !important; 
  background: #0000FF !important;
}