bb-journey-container {

  /*--- uib-accordion overrides ---*/
  .panel-group .panel-heading + .panel-collapse > .panel-body {
    border-top: 0;
  }

  .panel-group {
    margin: 0;

    .panel {
      border: 0;
      border-radius: 0;

      + .panel {
        margin-top: 0;
      }
    }
  }

  .panel-body {
    padding: 0;
  }

  .panel-heading {
    border-radius: 0;
    padding: 0;
  }

  a {
    font-weight: normal;

    &:hover {
      color: $studio-raven-pale-gray;
      text-decoration: none;
    }
  }

  /*--- UI Select overrides ---*/
  .ui-select-container {
    $text: #555;
    .ui-select-match span.btn, input {
      border: 1px solid #d1d4dc;
      border-radius: 3px;
      font-size: 15px;
      min-height: 42px;
      padding: 10px;
      width: 100%;
      padding-right: 40px;
    }
    .ui-select-placeholder {
      font-weight: normal;
      color: $text;
    }
    .ui-select-match-text span {
      color: $text;
      font-weight: normal;
    }
    .ui-select-toggle > a.btn {
      margin-top: 0;
    }
    i { color: $text  }
    i.pull-right { 
      border: none;
      &:after {
        content: '\F078';
        font-family: FontAwesome;
        font-size: 12px;
        pointer-events: none;
        border: none;
        font-style: normal;
        position: absolute;
        top: -5px;
        right: 0;
        color: #333;
        font-weight: normal;
      }
    }
    .dropdown-menu {
      border: 0;
      margin: 0;
      padding: 0;
      overflow-y: visible;
      width: 100%;
      max-height: 300px;
      border: {
        bottom: border(1);
        top: border(1);
      }
      border-radius: 0;
    }
    .ui-select-choices-row {
      width: 100%;
      border: {
        top: 0;
        right: border(1);
        bottom: border(1);
        left: border(1);
      }
      border-top: 0;
      cursor: pointer;
      font: {
        size: 15px;
      }
      > span {
        padding: 0px;
      }
      padding: spacing(10);
      &.active > span {
        color: inherit;
        background: inherit;
      }
      &.active {
        color: $white;
        background-color: $bb-secondary;
      }
    }
  }
    
  /*--- Typeahead overrides ---*/
  .typeahead {
    $wrapper: '.typeahead__results-wrapper';
    position: relative;

    input {
      border: 1px solid #d1d4dc;
      border-radius: 3px;
      font-size: 15px;
      min-height: 42px;
      padding: 10px;
      width: 100%;
      padding-right: 40px;
    }

    .dropdown-menu {
      border: 0;
      margin: 0;
      padding: 0;
      overflow-y: visible;
      width: 100%;
      & .active {
        color: inherit; 
        background: inherit;
      }
      & .active #{$wrapper}:not(#{$wrapper}--message):not(#{$wrapper}--button) {
        color: $white;
        background-color: $bb-secondary;
        * { color: inherit; }
      }
    }

    &__results-wrapper {
      width: 100%;
      border: {
        top: 0;
        right: border(1);
        bottom: border(1);
        left: border(1);
      }
      border-top: 0;
      cursor: pointer;
      font: {
        size: 15px;
      }
      padding: spacing(10);
      &--button {
        background-color: $bb-studio-solitude-gray;
        color: $studio-cyan-blue !important;
        font-size: 16px;
        text-align: center;
      }
      &--message {
        background-color: $bb-studio-solitude-gray;
        color: #454545;
        pointer-events: none;
        touch-action: none;
        user-select: none;
      }
      & > p {
        margin: 0;
      }
    }

    &__results {
      &--email,
      &--mobile,
      &--phone {
        color: $studio-raven-pale-gray;
      }
    }
  }

  /*-- Journey styles --*/
  .journey {

    @include column-flex-container;

    @media (min-width: $screen-sm-min) {
      @include flex-row;
    }

    background-color: white;
    height: 100%;
    overflow: hidden;

    &__finishing {
      color: $bb-dark-gray;
      margin-top: spacing(35);
      text-align: center;

      h1 {
        font: {
          size: 24px;
          weight: 600;
        }
      }
    }

    &__center-item {
      justify-content: center;
    }

    &__guide {
      @include column-flex-container;

      @media (min-width: $screen-sm-min) {
        border-right: border(1);
        flex: 0 0 auto;
        width: 270px;
      }

      flex-grow: 1;
      min-height: 0;
      transition: opacity 0.25s ease;
      
      &--loading {
        opacity: 0.75;
        cursor: not-allowed;
        pointer-events: none;
      }
    }

    &__header {
      @include flex-row;

      border-bottom: border(1);
      height: 60px;
      justify-content: space-between;
      padding: spacing(20) spacing(14);

      @media (min-width: $screen-sm-min) {
        border-bottom: border(1);
        justify-content: flex-start;
      }

      > h1 {
        @media (min-width: $screen-sm-min) {
          padding-left: spacing(20);
          order: 2;
        }

        color: $bb-dark-gray;
        font: {
          size: 15px;
          weight: 600;
        }
        margin: 0;
        text-transform: uppercase;
      }
    }

    &__close-journey {
      @include css-close-icon;

      @media (min-width: $screen-sm-min) {
        order: 1;
      }

      padding-top: 3px;
    }

    &__steps {
      @media (min-width: $screen-sm-min) {
        margin: spacing(20) 0;
      }

      flex-grow: 1;
      overflow: auto;
      min-height: 0;
    }

    &__step {
      @media (min-width: $screen-sm-min) {
        background-color: #fff;
        border: none;
        padding: {
          top: spacing(12);
          right: spacing(20);
          bottom: spacing(12);
          left: spacing(25);
        }
        &--active {
          background-color: $bb-studio-solitude-gray;
        }
      }

      background-color: $bb-studio-solitude-gray;
      border-bottom: border(1);
      display: flex;
      flex-direction: row;

      padding: spacing(12) spacing(14);

      transition: all 0.5s ease;
      position: relative;
      overflow: hidden;
      left: 0;
      max-height: 200px;
      
      &--hidden {
        left: -100px; 
        opacity: 0;
        max-height: 0;
        padding: 0;
      }

      &-tick {
        flex-basis: 5%;
        margin: 0;
        padding-top: 2px;
        max-width: spacing(13);

        i {
          width: 10px; 
          margin-top: 3px;
          text-align: center;
          color: $studio-green;
          display: flex;
          justify-content: center;
          align-items: center;
          &.invalid {
            color: #e87700;
          }
          &.loading {
            color: #333;
          }
        }
      }

      &-info {
        align-items: flex-start;
        display: flex;
        flex-direction: column;
        justify-content: center;

        font-size: 15px;
        line-height: 20px;
        margin-left: spacing(14);
        min-width: 0;
      }

      &-link {
        color: $bb-dark-gray;
        text-decoration: none;
      }

      &-title {
        font: {
          size: 15px;
        }
        margin: 0;
        padding: 0;
        font-weight: normal;

        display: block;
        color: $studio-cyan-blue;

        &[disabled] {
          opacity: 1;
        }

        &[disabled]:not(.journey__step-title--active) {
          color: #697180;
        }
      }

      &-summary {
        display: flex;
      }
    }

    &__footer {
      @media (min-width: $screen-sm-min) {
        @include column-flex-container;
        box-shadow: none;
        border-top: border(1);
      }

      @media (max-width: $screen-sm-min - 1) {
        display: flex;
        > * {
          display: block;
          width: 100%;
          margin: 0 5px;
          &:first-child { margin-left: 0; }
          &:last-child { margin-right: 0; }
        }
      }

      box-shadow: 0 spacing(-3) spacing(5) 0 rgba(0, 0, 0, 0.3);
      padding: spacing(10) spacing(14);
      z-index: 9999;
    }

    &__continue-button {
      margin: 0;
      min-height: 40px;
      width: 100%;

      font: {
        size: 15px;
      }

      &:not(:last-of-type) {
        margin-bottom: 10px;
      }
    }

    &__add-note-button {
      @media (min-width: $screen-sm-min) {
        display: initial;
        border: none;
        margin-top: spacing(10);
      }

      border: 1px solid $studio-raven-pale-gray;
      font-size: 15px;
      height: 40px;
    }

    &__facet {

      &-container {
        @include column-flex-container;
        //margin: 0 0 spacing(20);
        width: 100%;
        //height: calc(100% - 70px);
        overflow: auto;
        position: relative;
      }

      &-content {
        flex-grow: 1;
        min-height: 0;
      }

      &-alert {
        border: none;
        border-radius: 0;
        position: absolute;
        top: 0;
        right: 0;
        width: 100%;
        padding: {
          top: spacing(10);
          bottom: spacing(10);
        }
        text-align: center;
        @media (min-width: $screen-sm-min) {
          width: calc(100% - 270px);
        }

        .close {
          opacity: 1;
          color: inherit;
        }

        &-link {
          color: inherit;
          text-decoration: underline;
        }
      }
    }

    /*-- Loader styles --*/
    #journey__loader,
    #finishing-loader {
      .loader-service-new {
        position: relative;
        min-height: 300px;
      }
    }
  }
}
