@use "sass:string";
@use "sass:map";
@use "sass:math";
@use "../settings" as *; // for spacing, breakpoints, and if columns are defined.

@if map.get($modules, "components/timeline") {
  // The actual timeline (the vertical ruler)
  #{$parent-selector} .timeline {
    position: relative;
    max-width: 100%;
    margin: 0 auto;

    &::after {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 50%;
      width: 6px;
      margin-left: -3px;
      background-color: var(#{$css-var-prefix}timeline-line-color);
      content: "";
    }

    // Point around content
    > .point {
      position: relative;
      width: 50%;
      padding: 10px 25px;
      background-color: inherit;

      // circle
      &::after {
        z-index: 1;
        position: absolute;
        top: 13px;
        right: -13px;
        width: 25px;
        height: 25px;
        border: 4px solid var(#{$css-var-prefix}timeline-dot-border-color);
        border-radius: 50%;
        background-color: var(#{$css-var-prefix}timeline-dot-background-color);
        content: "";
      }

      // Place the container to the left
      &.left {
        left: 0;

        &::before {
          z-index: 1;
          position: absolute;
          top: 15px;
          right: 15px;
          width: 0;
          height: 0;
          border: medium solid var(#{$css-var-prefix}timeline-arrow-color);
          border-width: 10px 0 10px 10px;
          border-color: transparent
            transparent
            transparent
            var(#{$css-var-prefix}timeline-arrow-color);
          content: " ";
        }
      }

      // Place the container to the right
      &.right {
        left: 50%;

        &::before {
          z-index: 1;
          position: absolute;
          top: 15px;
          left: 15px;
          width: 0;
          height: 0;
          border: medium solid var(#{$css-var-prefix}timeline-arrow-color);
          border-width: 10px 10px 10px 0;
          border-color: transparent
            var(#{$css-var-prefix}timeline-arrow-color)
            transparent
            transparent;
          content: " ";
        }

        &::after {
          left: -13px;
        }
      }
    }
  }
  // Media queries - Responsive timeline on screens less than 600px wide
  @media screen and (max-width: 600px) {
    // Place the timelime to the left
    #{$parent-selector} .timeline {
      // the line
      &::after {
        left: 13px;
      }

      // after = dot
      // before = arrow
      > .point {
        // Full-width containers
        width: 100%;
        padding-right: 25px;
        padding-left: 40px;

        // Make all right containers behave like the left ones
        &.right {
          left: 0;
        }

        // after = dot
        &::after,
        &.left::after,
        &.right::after {
          left: 0;
        }

        // before = arrow
        // Make sure that all arrows are pointing leftwards
        // &::before,
        &.left::before,
        &.right::before {
          //left: 60px;
          top: 16px;
          left: 30px;
          border-width: 10px 10px 10px 0;
          border-color: transparent var(#{$css-var-prefix}timeline-arrow-color) transparent
            transparent;
        }
      }
    }
  }
}
