.route-booking-block{
  z-index:2;
  position:relative;
  margin-bottom:1.5rem;
}
@media (min-width:992px){
  .route-booking-block{
    border:0 solid #fff;
    background:#fff;
  }
}
.route-booking-block .top-section{
  display:flex;
  background-color:#004c45;
  padding:1rem;
  border-top-left-radius:5px;
  border-top-right-radius:5px;
}
@media (max-width:767.98px){
  .route-booking-block{
    margin-top:1rem;
  }
}
.route-booking-block .price-block{
  flex:1;
}
.route-booking-block .price-block .buy-text{
  font-size:1.5rem;
  line-height:1.5rem;
  color:#fff;
  margin-bottom:1rem;
}
.route-booking-block .price-block .fare{
  font-size:5rem;
  line-height:5rem;
  color:#00bf6f;
  margin-bottom:1rem;
}
.route-booking-block .price-block .note{
  font-size:1.75rem;
  line-height:1.5rem;
  color:#fff;
}
@media (max-width:579.98px){
  .route-booking-block .price-block.mobile .buy-text{
    margin-bottom:0;
  }
  .route-booking-block .price-block.mobile .fare{
    font-size:3rem;
    margin-right:1rem;
  }
}
.route-booking-block .from-to{
  flex:1.3;
  font-size:1.25rem;
  color:#37383c;
}
.route-booking-block .from-to .place{
  background-color:#fff;
  position:relative;
  display:flex;
  color:#37383c;
  line-height:normal;
}
.route-booking-block .from-to .place:first-child{
  margin-bottom:1rem;
}
.route-booking-block .from-to .place .type{
  width:5rem;
  display:inline-block;
  padding:1rem .3333333333rem 1rem 1rem;
  margin-right:1rem;
  background-color:#f0f0f0;
  text-align:right;
  flex:1;
}
.route-booking-block .from-to .place .text{
  padding:1rem 1rem 1rem 0;
  flex:4;
}
.route-booking-block .from-to .place .switch-places{
  position:absolute;
  border:.25rem solid #fff;
  margin:0;
  bottom:-1.7rem;
  right:-.4rem;
  z-index:1;
  border-radius:50%;
  padding:0;
  height:2.5rem;
  width:2.5rem;
}
.route-booking-block .from-to .place .switch-places i{
  transform:rotate(90deg);
}
.route-booking-block .bottom-section{
  display:flex;
  align-items:center;
  background-color:#24625d;
  padding:1rem;
  border-bottom-left-radius:5px;
  border-bottom-right-radius:5px;
}
.route-booking-block .bottom-section .message{
  flex:1;
}
.route-booking-block .bottom-section .button{
  flex:1.3;
}
.route-booking-block .bottom-section span{
  color:#fff;
  font-size:2rem;
  padding-right:1rem;
}
.route-booking-block .bottom-section button{
  margin:0;
  width:100%;
  font-size:1.5rem !important;
}

@media (max-width:1199.98px){
  .route-booking-block .top-section{
    flex-direction:column;
  }
  .route-booking-block .fare,.route-booking-block .note{
    display:inline-block;
    margin-bottom:1rem;
  }
}
@media (max-width:991.98px){
  .route-booking-block{
    margin-top:1rem;
  }
}
@media (max-width:767.98px){
  .route-booking-block{
    border:0;
    margin:1rem -.75rem;
  }
  .route-booking-block .top-section{
    border-radius:0;
  }
  .route-booking-block .bottom-section{
    border-radius:0;
    flex-direction:column-reverse;
    align-items:normal;
  }
  .route-booking-block .bottom-section button{
    margin-bottom:1rem;
  }
}
#routes-booking-two-steps .second-step{
  background:#004c45;
  color:#fff;
}
#routes-booking-two-steps .add-railcard,#routes-booking-two-steps .add-railcard i,#routes-booking-two-steps .second-step .two-step-header{
  color:#fff;
}
#routes-booking-two-steps .other-inputs{
  z-index:2;
  position:relative;
  margin-bottom:1.5rem;
}
@media (max-width:767.98px){
  #routes-booking-two-steps{
    margin:1rem -.75rem;
  }
  #routes-booking-two-steps .route-booking-block{
    margin-left:0;
    margin-right:0;
  }
}
#routes-booking-two-steps .message{
  margin-top:0;
}

/*# sourceMappingURL=routes-booking-form.css.map */