.video-timeline {
  display: flex;
  flex-direction: column;
  padding: 50px 0;

  @media screen and (min-width: 991px) {
    padding: 80px 0 50px;
  }

  .video-timeline__heading {
    font-size: 2rem;
    line-height: 35.2px;
    letter-spacing: -0.96px;
    margin: auto;
    margin-bottom: 32px;
    padding: 0 20px;

    @media screen and (min-width: 991px) {
      font-size: 40px;
      max-width: 674px;
      text-align: center;
      line-height: 44px;
    }
  }

  .video-timeline__wrapper {
    position: relative;

    .video-timeline__navigation {
      display: none;
      height: 120px;
      margin: auto;


      .video-timeline__navigation-overlay {
        position: absolute;
        height: 100%;
        max-width: 51.25rem;
        width: 100%;
        left: 50%;
        transform: translateX(-50%);
        top: -5rem;

        .video-timeline__navigation-graphic {
          width: 100%;
          height: 100%;
          opacity: 0.3;
          pointer-events: none;
        }

        .video-timeline__navigation-button {
          height: 104px;
          width: 104px;
          font-weight: 600;
          border-radius: 50%;
          background-color: #F2EBEF;
          color: #81395F;
          position: absolute;
          left: var(--x-pos); 
          bottom: var(--y-pos);
          transform: translateX(-20%);
          text-align: center;
          z-index: 1;
          pointer-events: auto;
          cursor: pointer;
  
          &.is-active {
            color: #fff;
            background-color: #81395F;
          }
        }
      }

      @media screen and (min-width: 991px) { display: flex; }

    }

    .video-timeline__content {
      max-width: 700px;
      margin: auto;
      place-content: center;


      > * {
        grid-area: 1 / 1;
      }

      .video-timeline__slide-wrapper {
        margin: auto;
        display: flex;
        padding: 0 20px;
        


        @media screen and (min-width: 991px) { 
          width: 90%;
          max-width: 300px;
          padding: 0;
          margin: 0 auto; /* Only horizontal centering, allow vertical stretch */
          align-self: stretch; /* Stretch to fill the grid row height */
        }


        .left-column {
          position: relative;
          width: 40px;

          &::before {
            content: '';
            position: absolute;
            top: 0;
            left: 50%;
            transform: translateX(-50%);
            background-color: #81395F;
            opacity: 0.3;
            height: 100%;
            width: 2px;
          }

          .video-timeline__slide-button {
            font-weight: 600;
            border-radius: 50%;
            width: 40px;
            height: 40px;
            background-color: #F2EBEF;
            position: relative;

            &::before { transform: translate(-50%, -50%); }
            &::after { transform: translate(-50%, -50%) rotateZ(-90deg); }
            &::before, &::after {
              content: '';  
              position: absolute;
              top: 50%;
              left: 50%;
              width: 10px;
              height: 2px;
              background-color: #81395F;
            }
          }

          @media screen and (min-width: 991px) { display: none; }
        }

        &:last-child {
          .left-column::before { display: none; }
        }

        .right-column {
          padding-left: 1rem;
          margin-bottom: 27px;
          width: 90%;

          .video-timeline__slide-title {
            font-size: 1rem;
            line-height: 25.6px;
            font-weight: 600;
            @media screen and (min-width: 991px) { display: none; }
          }
          
          .video-timeline__slide-heading {
            font-size: 1rem;
            line-height: 25.6px;
            font-weight: 500;
            @media screen and (min-width: 991px) { display: none; }

            &.is-desktop {
              font-size: 1.25rem;
              line-height: 2rem;
              font-weight: 600;
              display: none;
              @media screen and (min-width: 991px) { display: block; }

            }
          }

          .video-timeline__slide-content {
            max-height: 0px;
            transition: 0.6s;
            overflow: hidden;

            .video-timeline__slide-media {
              height: 132px;
              width: 100%;
              max-width: 176px;
              border-radius: 9px;
              background-color: #F2EBEF;
              margin-top: 13px;
              margin-bottom: 14px;
              overflow: hidden;
              /* @media screen and (min-width: 991px) { order: 1; } */

              .video-timeline__video,
              .video-timeline__image {
                width: 100%;
                height: 100%;
                object-fit: cover;
              }

            }

            .video-timeline__slide-title {
              /* display: none; */
            }
            .video-timeline__slide-body {
              line-height: 22.4px;
              /* margin-bottom: 34px; */
              /* @media screen and (min-width: 991px) { order: 3; } */
              @media screen and (min-width: 991px) {
                font-size: 1rem;
                line-height: 25.6px;
              }
            }

            @media screen and (min-width: 991px) { 
              max-height: 1000px; 
              display: flex;
              flex-direction: column;
              align-items: center;
              text-align: center;
              flex-grow: 1; /* Stretch to fill right-column height */
            }
            
          }

          @media screen and (min-width: 991px) { 
            width: 100%;
            display: flex;
            flex-direction: column;
            padding-left: 0;
            flex-grow: 1; /* Stretch to fill slide wrapper height */
          }

        }

        &.is-active {
          .right-column { 
            margin-bottom: 34px;
            @media screen and (min-width: 991px) { margin-bottom: 27px; } /* Keep consistent on desktop */
          }
          .video-timeline__slide-button {
            background-color: #81395F;
            &::after { display: none; }
            &::after, &::before { background-color: #F2EBEF; }
          }

          .video-timeline__slide-content { max-height: 1000px; }
          @media screen and (min-width: 991px) { opacity: 1; }
        }

        @media screen and (min-width: 991px) {
          grid-row: 1;
          grid-column: 1;
          opacity: 0;
          transition: opacity 0.6s;
        }
      }

      @media screen and (min-width: 991px) {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        place-content: unset;
        align-items: stretch; /* Force all stacked items to stretch to row height */
      }
    }

  }

  .video-timeline__cta {
    margin: auto 20px;
    border-radius: 60px;
    padding: 15px 28px 13px 28px;
    text-align: center;
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    letter-spacing: initial;


    @media screen and (min-width: 991px) {
      max-width: 435px;
      font-size: 20px;
      margin: auto;
      /* font-style: normal; */
      /* font-weight: 600; */
      line-height: 32px; /* 160% */
      letter-spacing: 2px;
      /* text-transform: uppercase; */
    }

  }
}
