.transport-timetable-title {
  font-size: $font-size-base;
  font-weight: $roboto-light;
  color:$brand-copy-light;
  text-transform: uppercase;
  padding: 0 15px;
}
.transport-timetable {
  background: #fff;
  margin: 0 auto;
  position: relative;
  .segment-step, .segment-info, .transport-scale {
    position: relative;
    clear: both;
    padding: 0;
    &:before {
      /* position */
      content: '';
      position: absolute;
      top: 16px;
      left: 37%;
      @media (min-width: $grid-float-breakpoint) {
        left: 25%;
      }
      margin-left: -4px;
      z-index: 2;
      /* form & size */
      border-radius: 50%;
      height: 8px;
      width: 8px;
    }
    &:after {
      /* position */
      content: '';
      position: absolute;
      top: 16px;
      left: 37%;
      @media (min-width: $grid-float-breakpoint) {
        left: 25%;
      }
      margin-left: -1px;
      z-index: 1;
      /* form & size */
      width: 0;
      height: 100%;
    }
  }
  .segment-step {
    display: flex;
    color: $brand-grey-dark;
    &:before {
      /* colors & text */
      background: $brand-primary;
      top: 16px;
    }
    &:after {
      /* colors & text */
      border-right: 2px solid $brand-primary;
      top: 16px;
    }
    &:last-child {
      &:after {
        border-right: 2px dotted $brand-brown-medium;
      }
    }
    .step-timedate, .step-station {
      padding: 10px 15px;
      position: relative;
    }
    .step-timedate {
      width: 37%;
      @media (min-width: $grid-float-breakpoint) {
        width: 25%;
      }
      text-align: right;
      .step-time {
        font-size: $font-size-base;
        line-height: 19px;
        .extraday {
          font-size: $font-size-base;
          font-weight: $roboto-regular;
          color:$brand-red;
        }
      }
      .step-date {
        line-height: 1.2;
        font-size: $font-size-base;
        font-weight: $roboto-light;
        color: $brand-copy-light;
      }
    }
    .step-station {
      width: 63%;
      @media (min-width: $grid-float-breakpoint) {
        width: 75%;
      }
      @media (min-width: $grid-float-breakpoint) {
        padding-right: 200px;
      }
      .station-type {
        float: left;
        width: 15px;
        height: 15px;
        &, & * {
          fill:$brand-brown-medium;
        }
        [dir="rtl"] & {
          transform: rotateY(180deg);
          transform-origin: center center;
        }
      }
      .station-data {
        margin-left: 20px;
      }
      .station-city {
        line-height: 19px;
        &, & strong, & span {
          color: $brand-grey-dark;
        }
        span {
          display: inline-block;
        }
      }
      .station-name {
        line-height: 1.5;
      }
    }
  }
  .segment-info {
    color: $brand-copy-light;
    padding-left: 37%;
    @media (min-width: $grid-float-breakpoint) {
      padding-left: 25%;
    }
    &:before {
      display: none;
    }
    &:after {
      /* colors & text */
      border-right: 2px solid $brand-primary;
    }
    .info-company, .info-stop {
      overflow: hidden;
      margin-left: 35px;
      padding: 0 15px 0 0;
      line-height: 1.2;
    }
    .info-company {
      @media (min-width: $grid-float-breakpoint) {
        position: absolute;
        top: 50%;
        transform: translate(0, -50%);
        right: 0;
        width: 165px;
        margin-left: 0;
      }
      img {
        width: 20px;
        height: auto;
        float: left;
      }
      .company-name, .info-special {
        padding-top: 2px;
        padding-left: 25px;
        font-size: $font-size-base;
        font-weight: $roboto-light;
        display: block;
      }
    }
    .info-stop {
      font-size: $font-size-base;
      font-weight: $roboto-light;
      padding: 2px 0;
      @media (min-width: $grid-float-breakpoint) {
        padding-right: 200px;
      }
    }
  }
  .segment-info + .segment-step {
    &:before {
      top: 16px;
    }
    &:after {
      top: 16px;
    }
  }
  .transport-scale {
    padding-left: 37%;
    padding-top: 10px;
    padding-bottom: 10px;
    @media (min-width: $grid-float-breakpoint) {
      padding-left: 25%;
    }
    &:before {
      /* colors & text */
      background: #fff;
      border: 1px solid $brand-brown-medium;
      top: 17px;
    }
    &:after {
      border-right: 2px dotted $brand-brown-medium;
      top: 14px;
    }
    .scale-text {
      padding: 0 30px;
      font-size: $font-size-base;
      line-height: 20px;
      font-weight: $roboto-light;
      display: inline-block;
      background: $brand-primary-light;
    }
  }
  .transport-segment {
    position: relative;
    &:last-child {
      .segment-step:last-child:after {
        border-right: 0;
      }
    }
  }
}