MetaPhase-Consulting/State-TalentMAP

View on GitHub
src/sass/_positionSearch.scss

Summary

Maintainability
Test Coverage
// ============= Global =============

.position-search {
  .section {
    background-color: $color-white;
    border: 3px solid $tm-gray;
    display: flex;
    flex-direction: column;
    margin-bottom: 1em;
    min-height: 200px;
    padding: 25px;
    box-shadow: rgba(0, 0, 0, 0.15) 3px 2px 10px 1px;
  }

  .padded-section {
    padding: 25px;
  }

  .no-padding {
    padding: 0;
  }

  .align-middle {
    margin: auto;
    text-align: center
  }

  .all-inline {
    display: flex;
    margin-bottom: 20px;
  }

  .main-selector {
    font-size: 2.5rem;
    margin: 0 0 20px -30px;
  }

  .usa-width-one-sixth {
    margin-bottom: 10px;
  }

  .xl-icon {
    .fa-lg {
      font-size: 28px;
    }
  }

  .position-search--header {
    background-color: $bg-blue-dark-1;
    box-shadow: 20px 20px 20px $bg-gray-medium-2;
    color: $color-white;
    padding: 20px 35px 30px;
  }

  .position-search-controls--right {
    display: flex;
    align-items: baseline;
    justify-content: center;
    padding-right: 30px;
  }

  .position-search-controls--results {
    align-items: baseline;
    display: flex;
    justify-content: flex-end;
    margin-top: 10px;
    padding: 0px 35px;

    &.padding-top {
      padding-top: 15px;
      padding-bottom: 10px;
    }

    div:first-child {
      margin-right: 10px;
      display: flex;
      gap: 3px;
    }

    div {
      display: flex;
      align-items: baseline;
    }
  }

  .position-search--results {
    padding: 0 35px 20px;

    .position-list {
      margin-top: 1em;
    }
  }

  .position-search-controls--pagination {
    padding-left: 35px;
  }
}

// ============= Cycle Management =============
.cycle-management-page {
  .cm-heading {
    display: flex;
    justify-content: space-between;
    width: 100%;
    align-items: center;
  }

  .cm-new-merge {
    display: flex;
    flex-direction: column;

    .fa {
      padding-right: 5px;
    }
  }

  .results-dropdown {
    display: flex;
    justify-content: flex-end;
    margin-right: 40px;
  }

  .cm-admin-button {
    display: flex;
    justify-content: flex-end;
  }

  .position-search--filters--cm {
    .react-daterange-picker__calendar--open {
      z-index: $daterange-z;
    }

    .react-daterange-picker {
      align-items: center;
      background: $color-white;
      font-size: 1.5rem;
      height: 28px;
      width: 240px;
      border: 1px solid $bg-gray-dark-2;

      .react-daterange-picker__wrapper {
        border: none;
      }

      .react-daterange-picker__inputGroup {
        align-items: center;
        display: flex;
        justify-content: center;
      }

      .react-daterange-picker__range-divider,
      .react-daterange-picker__inputGroup__leadingZero,
      .react-date-picker__inputGroup__divider {
        color: $color-black;
      }
    }
  }

  .cm-lower-section {
    padding: 0 35px 20px;
  }

  .cm-results {
    width: 50%;
  }

  .cm-results-dropdown {
    align-items: center;
    display: flex;
    justify-content: flex-end;
    margin-top: 10px;

    &.padding-top {
      padding-top: 15px;
      padding-bottom: 10px;
    }

    div:first-child {
      margin-right: 10px;
    }

    div {
      display: flex;
      align-items: baseline;
    }
  }

  .toggle-more-container {
    position: relative;
  }

  .toggle-more {
    bottom: 0;
    position: absolute;
    right: 0;

    >span:first-child {
      white-space: nowrap;
    }
  }

  .cps-lower-section {
    padding: 0 35px 20px 0;
  }

  .cps-content {
    margin-left: 35px;

    .cps-header {
      font-size: 25px;
      margin-top: 25px
    }

    .cps-subheader {
      display: flex;
      width: 550px;
      margin-top: 10px;
      justify-content: space-between;

      .cycle-dates {
        color: $color-gray;
        font-size: 14px;
      }
    }

    .cps-results {
      align-items: baseline;
      display: flex;
      justify-content: space-between;
      padding-top: 15px;
      width: 100%;
    }
  }
}

.cm-cycle-classes {
  border-bottom: 2px solid $primary-blue;

  .cm-cycle-classes-check {
    &.read-only {
      pointer-events: none;
      accent-color: darkorange;
    }
  }

  .position-content--subheader {
    margin: 20px 0px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;

    &::after {
      content: none;
    }

    &.no-space {
      justify-content: flex-start !important;
    }
  }

  .toggle-edit-mode {
    display: flex;
    flex-direction: row;
    background-color: transparent;
    color: $primary-blue;
    padding: 0px;
    margin: 0px;
    font-size: 16px;

    .fa {
      margin-right: 6px;
    }

    &:hover {
      div {
        text-decoration: underline;
      }
    }
  }
}

.cm-classifications-scroll-container {
  overflow: auto;
  height: 1000px;
  margin: 0px 10px 0px 10px;
}


.cycle-search-card {
  margin-top: 15px;
  margin-bottom: 15px;
  background-color: $color-white;
  border: 1px solid $bg-gray-dark-2;
  border-left: 8px solid $blue-primary;
  padding: 1em;

  .cyc-card--row {
    display: flex;
    align-items: center;

    .cyc-card--middle-cols {
      display: flex;
      align-items: center;

      >div {
        color: $color-gray;
        display: flex;
        justify-content: center;
        font-size: 14px;
        min-width: max-content;
      }
    }

    .cyc-card--link-col {
      display: flex;
      justify-content: flex-end;
      min-width: 150px;

      .fa {
        padding-right: 5px;
      }

      >span {
        text-align: right;
      }
    }
  }
}

.ace-heading {
  display: flex;
  justify-content: space-between;
  margin-top: 15px;
}

.ace-wrapper {
  padding-inline: 15px
}

.assignment-cycle-form {
  width: 100%;
  height: 100%;
  overflow-y: auto;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
  row-gap: 10px;
  padding: 15px;

  .ac-buttons {
    flex-direction: row-reverse;
  }

  .ac-sections {
    display: flex;
    flex-direction: column;
    width: 300px;

    label {
      font-weight: bold;
      width: 100%;
    }

    .larger-date-picker {
      width: 300px;
    }

    .ac-validation-container {
      display: flex;
      flex-direction: row;
    }
  }

  .bs-validation-container {

    .exclusivePositions-new,
    .postViewable-new {
      label::before {
        margin-left: 10px;
      }
    }
  }

  input[type="text"]:disabled {
    border: None;
    background: none;
  }

  >div {
    display: flex;
    align-items: baseline;
  }

  div:nth-child(14) {
    justify-content: flex-start;
  }

  dd {
    margin-inline-start: 30;
    text-align: justify;
    margin-right: auto;
    margin-left: 0;
  }

  label,
  dt {
    display: flex;
    margin-top: 3rem;
    width: 210px;
    text-align: left;
  }

  .select-error {
    border-color: $alert-red;
    box-shadow: 0px 0px 0px 2px $alert-red;
  }

  .date-picker-validation-container-new {
    position: relative;
    width: 300px;

    .fa-calendar {
      position: absolute;
      left: 5px;
      top: 18px;
      color: gray;
      z-index: 1;
    }

    .fa-close {
      position: absolute;
      left: 430px;
      top: 18px;
      color: gray;
      z-index: 1;
    }

    .react-datepicker__input-container {
      input {
        padding-inline-start: 30px;
      }
    }

    input {
      font-size: 17px !important;
      color: #212121 !important;
    }

    .react-daterange-picker__calendar,
    .react-datepicker-popper {
      z-index: $daterange-z;
    }

    .react-daterange-picker {
      align-items: center;
      background: $color-white;
      font-size: 13px;
      height: 26px;
      width: 240px;
      margin: 14px 0;

      .react-daterange-picker__wrapper {
        border: none;
        width: 250px;

        .react-daterange-picker__inputGroup {
          align-items: center;
          display: flex;
          justify-content: center;
        }
      }

      .react-daterange-picker__range-divider,
      .react-daterange-picker__inputGroup__leadingZero,
      .react-date-picker__inputGroup__divider {
        color: $color-black;
      }

      .react-daterange-picker__clear-button {
        padding: 2px 4px;
      }

      .react-daterange-picker__clear-button:hover {
        background-color: $color-white;
      }

      .react-daterange-picker__calendar--open {
        z-index: $daterange-z;
      }

      .react-calendar__navigation {
        background-color: $bg-gray-medium-3;
        margin-bottom: 0;
      }

      .react-calendar--selectRange .react-calendar__tile--hover {
        background-color: #e6e6e6;
      }
    }
  }

  .date-picker-validation-container {
    position: relative;
    width: 100%;

    .fa-calendar {
      position: absolute;
      left: 5px;
      top: 18px;
      color: gray;
      z-index: 1;
    }

    .fa-close {
      position: absolute;
      left: 90%;
      top: 18px;
      color: gray;
      z-index: 1;
    }

    .react-datepicker__input-container {
      input {
        padding-inline-start: 30px;
      }
    }

    input {
      font-size: 17px !important;
      color: #212121 !important;
    }

    .react-daterange-picker__calendar,
    .react-datepicker-popper {
      z-index: $daterange-z;
    }

    .react-daterange-picker {
      align-items: center;
      background: $color-white;
      font-size: 13px;
      height: 26px;
      width: 240px;
      margin: 14px 0;

      .react-daterange-picker__wrapper {
        border: 1px solid black;
        width: 300px;
      }

      .react-daterange-picker__inputGroup {
        align-items: center;
        display: flex;
        justify-content: center;
        margin-left: 10px;
      }

      .react-daterange-picker__range-divider,
      .react-daterange-picker__inputGroup__leadingZero,
      .react-date-picker__inputGroup__divider {
        color: $color-black;
      }

      .react-daterange-picker__clear-button {
        padding: 2px 4px;
      }

      .react-daterange-picker__clear-button:hover {
        background-color: $color-white;
      }

      .react-daterange-picker__calendar--open {
        z-index: $daterange-z;
      }

      .react-calendar__navigation {
        background-color: $bg-gray-medium-3;
        margin-bottom: 0;
      }

      .react-calendar--selectRange .react-calendar__tile--hover {
        background-color: #e6e6e6;
      }
    }
  }

  .usa-input-error-message {
    text-align: left;
  }
}

// ============= Position Manager =============

.position-manager-details {
  background-color: initial;

  h1 {
    font-family: 'Roboto';
    font-size: 19px;
    margin: 0;
  }

  // fix in IE11
  @media screen and (-ms-high-contrast: active),
  (-ms-high-contrast: none) {
    .ribbon-position-details {
      right: 0;
      position: absolute;
    }
  }

  .bureau-lock-button {
    margin: 1.5em 0 0 1.5em;
    max-height: 36px;
  }

  .ds-c-spinner {
    height: $favorite-spinner-size;
    margin-right: 5px;
    top: 1px;
    width: $favorite-spinner-size;

    &::before,
    &::after {
      border-width: $favorite-spinner-border-width;
      height: $favorite-spinner-size;
      width: $favorite-spinner-size;
    }
  }

  .handshake-offset-container {
    left: initial;
    right: 0;
  }

  .post-title {
    font-size: 1.05em;
  }

  .header-title-container {
    margin-bottom: 1em;
  }

  .position-manager-details--content {
    background-color: $color-white;
    border: 2px solid $bg-gray-dark-2;
  }

  .data-point-section {
    .condensed-card-data-title {
      font-weight: bold;
      min-width: 225px;
    }

    .condensed-card-data-point {
      margin-bottom: 2px;
    }
  }

  .about-section-left {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding-right: 0;

    .position-details-header-body {
      display: flex;
      flex: 10;
      flex-direction: column;
      margin-right: 2em;
      min-width: 300px;

      .Linkify {
        display: block;
        text-align: justify;
      }
    }

    .data-point-section {
      flex: 9;
      min-width: 500px;
    }
  }

  .bid-count-label {
    margin-right: 0;
    min-width: 225px;
  }

  .bid-count-list {
    float: left;
    margin-bottom: 5px;
  }

  .capsule-updated-date {
    color: $primary-gray-dark;
    font-size: .85em;
    margin-left: auto;
  }

  .left-col {
    display: flex;
    float: left;

    .button-back-link {
      margin-top: 7.5px;
    }
  }

  .right-col {
    display: flex;
    float: right;

    .usa-button-secondary {
      margin-right: 0;
    }
  }
}

.position-manager-bidders-table {
  margin: auto;
  width: 100%;

  .is-dragging {
    td {
      background-color: $primary-alt-lightest;
    }
  }

  thead {
    tr {
      display: flex;
      padding-right: 16px; // for scrollbar offset

      th {
        text-align: center;
        border: none;
        background-color: $color-white;
        padding: 5px 20px;
        display: flex; // fixes IE11
        justify-content: center; // fixes IE11
        flex: 4;
      }

      th:first-of-type {
        flex: 3
      }

      th:nth-of-type(2),
      th:nth-of-type(6) {
        flex: 1;
      }

      th:nth-of-type(6) {
        padding-right: 14px;
        padding-left: 14px;
      }

      h1 {
        font-family: 'Roboto';
        font-size: 19px;
        margin-top: 50px;
      }
    }
  }

  tbody {
    border: 1px solid black;
    display: flex;
    flex-direction: column;

    >div {
      min-height: 100px;
    }

    tr {
      display: flex;
    }

    td {
      text-align: center;
      display: flex; // fixes IE11
      justify-content: center; // fixes IE11
      border: none;
      padding: 20px 20px;
      flex: 4;
      font-size: 1.6rem;

      .deconflict-indicator {
        color: $tertiary-gold;
        font-size: 29px;
        padding-bottom: 10px;
      }

      .has-other-handshake-indicator {
        color: $color-red;
        font-size: 29px;
      }
    }

    td:first-of-type {
      flex: 3;
    }

    td:nth-of-type(2),
    td:nth-of-type(6) {
      flex: 1
    }

    td:last-of-type {
      flex-direction: column;
      align-items: center;

      .hs-animation-bidder {
        display: flex;

        .left-initial,
        .left-secondary,
        .right-initial,
        .right-secondary,
        .hs-bidder {
          display: inline;
          position: relative;
          font-size: 20px;
        }

        .left {
          background-color: $color-green;
          clip-path: polygon(0% 0%, 75% 0%, 100% 50%, 75% 100%, 0% 100%);
          position: relative;
          height: 25px;
          width: 40px;
          opacity: 0;
        }

        .right {
          background-color: $color-green;
          clip-path: polygon(100% 0, 100% 50%, 100% 100%, 0% 100%, 25% 50%, 0% 0%);
          position: relative;
          height: 25px;
          width: 40px;
          right: -3rem;
          opacity: 0;
        }

        .left-initial {
          top: 2px;
          left: 7px;
          transform: rotate(90deg);
          opacity: 0;
          color: $tertiary-gold-lighter;
          position: absolute;
        }

        .right-initial {
          top: 2px;
          right: 6px;
          transform: rotate(-90deg) scaleX(-1);
          opacity: 0;
          color: $tertiary-gold-lighter;
          position: absolute;
        }

        .left-secondary {
          top: 2px;
          left: 7px;
          transform: rotate(90deg);
          opacity: 0;
          color: $tertiary-gold-lighter;
          position: absolute;
        }

        .right-secondary {
          top: 2px;
          right: 8px;
          transform: rotate(-90deg) scaleX(-1);
          opacity: 0;
          color: $tertiary-gold-lighter;
          position: absolute;
        }

        .hs-bidder {
          color: $color-black;
          left: -4rem;
        }

        .animate-left-initial {
          animation: left-animation-initial 2s linear;
        }

        .animate-right-initial {
          animation: right-animation-initial 2s linear;
        }

        .animate-left-secondary {
          animation: left-animation-secondary 4s linear;
        }

        .animate-right-secondary {
          animation: right-animation-secondary 4s linear;
        }

        .animate-hs-bidder {
          animation: hs-animation-bidder 4s linear;
        }

        .animate-left {
          animation: hs-animation-left-bidder 4s linear;
        }

        .animate-right {
          animation: hs-animation-right-bidder 4s linear;
        }

        @keyframes left-animation-initial {
          0% {
            opacity: 100%;
          }

          25% {
            opacity: 100%;
          }

          100% {
            opacity: 0;
          }
        }

        @keyframes right-animation-initial {
          0% {
            opacity: 100%;
          }

          25% {
            opacity: 100%;
          }

          100% {
            opacity: 0;
          }
        }

        @keyframes left-animation-secondary {
          0% {
            opacity: 0;
          }

          25% {
            opacity: 0;
          }

          40% {
            opacity: 100%;
          }

          50% {
            opacity: 100%;
          }

          51% {
            opacity: 0;
          }

          100% {
            opacity: 0;
          }
        }

        @keyframes right-animation-secondary {
          0% {
            opacity: 0;
          }

          25% {
            opacity: 0;
          }

          40% {
            opacity: 100%;
          }

          50% {
            opacity: 100%;
          }

          51% {
            opacity: 0;
          }

          100% {
            opacity: 0;
          }
        }

        @keyframes hs-animation-bidder {
          0% {
            opacity: 0;
          }

          49% {
            opacity: 0;
          }

          50% {
            top: 10px;
            opacity: 100%;
            color: $tertiary-gold-lighter;
          }

          65% {
            top: -10px;
          }

          70% {
            top: 10px;
          }

          75% {
            top: -10px;
          }

          80% {
            top: 10px;
          }

          85% {
            top: -10px;
          }

          90% {
            top: 10px;
          }

          95% {
            top: -10px;
          }

          100% {
            top: 0;
            opacity: 100%;
            color: $tertiary-gold-lighter;
          }
        }

        @keyframes hs-animation-left-bidder {
          0% {
            background-color: $color-green;
            opacity: 100%;
            left: 0;
          }

          20% {
            background-color: $color-green;
            left: 0;
          }

          30% {
            background-color: transparent;
            left: 0;
          }

          50% {
            left: 4rem;
            background-color: transparent;
            opacity: 100%;
          }

          100% {
            left: 4rem;
            background-color: transparent;
            opacity: 100%;
          }
        }

        @keyframes hs-animation-right-bidder {
          0% {
            background-color: $color-green;
            opacity: 100%;
            right: -3rem;
          }

          20% {
            background-color: $color-green;
            right: -3rem;
          }

          30% {
            background-color: transparent;
            right: -3rem;
          }

          50% {
            right: 1rem;
            background-color: transparent;
            opacity: 100%;
          }

          100% {
            right: 1rem;
            background-color: transparent;
            opacity: 100%;
          }
        }
      }

      .hs-status-info {
        color: $blue-primary;
        cursor: pointer;
      }

      .btn-hs-wrapper {
        display: flex;
        align-items: center;
        justify-content: space-between;

        button {
          margin: 7.5px 0px;
          padding: 1rem;
        }

        button:first-of-type {
          width: 75px;
          border-top-right-radius: 0px;
          border-bottom-right-radius: 0px;
        }

        button:nth-of-type(2) {
          border-left: 1px solid $color-white;
          border-top-left-radius: 0px;
          border-bottom-left-radius: 0px;
        }
      }
    }

    @media screen and (max-width: 1700px) {
      td {
        padding: 10px 15px;
        font-size: 15px;
      }
    }

    @media screen and (max-width: 1400px) {
      td {
        padding: 5px 7px;
        font-size: 13px;
      }
    }
  }
}

.bidder-rankings {
  background-color: white;
  border-bottom: 1px solid black;

  .bidder-rankings-toggle {
    text-align: right;
    padding: 0 10px 20px;

    span {
      padding-left: 10px;
    }
  }

  .bidder-rankings-table-container {
    .tm-spinner-bidder-rankings-table {
      min-height: 60px;
      position: relative;
    }

    .bidder-rankings-table {
      width: 100%;
      margin: 0;
      border: 1px solid black;

      .table-headers {
        padding: 0;

        th {
          padding: 5px 10px;
          background-color: #dcdcdc;
          border-bottom: 1px solid black;
          flex: 4;
        }

        th:nth-of-type(1),
        th:nth-of-type(3),
        th:nth-of-type(5) {
          flex: 1
        }

        .ab-headers:nth-of-type(3) {
          padding: 5px 20px;
        }
      }

      tbody {
        border: none;

        tr {
          border-bottom: 1px solid black;

          td {
            padding: 20px 10px;
            background-color: #dcdcdc;
            flex: 4;
          }

          td:nth-of-type(1),
          td:nth-of-type(3),
          td:nth-of-type(5) {
            flex: 1
          }
        }

        .other-sl-count-row {
          border: none;
          background-color: #dcdcdc;
          padding: 10px 5rem;
          font-weight: bold;
        }
      }
    }
  }
}

.position-manager-bidders {
  >*:first-child {
    margin-left: 0;
  }

  .list-toggle-container {
    display: flex;

    .interactive-element {
      margin: 2em .4em .5em 0;
    }
  }

  .usa-alert {
    margin-top: 2em !important;
  }
}

.bidders-controls {
  border-top: 1px solid $color-gray-lighter;
  display: flex;
  justify-content: flex-end;
  margin-top: 2em;

  div:first-child {
    margin-right: 5px;
  }
}

.position-manager-bidders:not(:first-of-type) {
  h3 {
    margin-top: .3em;
  }
}


// ============= Projected Vacancy Management =============

.proposed-cycle-banner {
  background-color: $blue-primary;
  color: $color-white;
  padding-block: 25px;
  padding-inline: 40px;

  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 20px;

  button {
    font-size: 18px;
    font-weight: 500;
    padding: 10px 20px;
    margin: 0 0 0 5px;
  }
}

.double-action-banner {
  background-color: $blue-primary;
  color: $color-white;
  padding-block: 20px;
  padding-inline: 30px;
  font-size: 20px;
  display: flex;
  flex-direction: column;

  .selected-submission-row {
    display: flex;
    justify-content: space-between;
    align-items: center;

    &.import-row {
      border-top: 1px solid white;
      padding-top: 10px;
      margin-top: 10px;
    }
  }

  button {
    font-size: 18px;
    font-weight: 500;
    padding: 10px 20px;
    margin: 0 0 0 5px;
  }
}

// ============= Results Card =============

.bureau-results-card {
  background-color: $color-white;
  border: 1px solid $bg-gray-dark-2;
  border-left: 8px solid $blue-primary;
  padding: 1em;

  .bureau-card--footer,
  .bureau-card--description {
    margin-top: 0;
  }

  .toggle-more-container {
    position: relative;
  }

  .toggle-more {
    bottom: 0;
    position: absolute;
    right: 0;

    >span:first-child {
      white-space: nowrap;
    }
  }

  .bureau-card--section {
    display: flex;
  }

  .bid-count-list {
    font-size: .8em;
  }

  .bid-count-container {
    margin: 0;

    .bid-count-label {
      font-size: 15px;
    }
  }

  .bureau-card--header {
    margin-bottom: .6em;

    >div:nth-of-type(3) {
      margin-left: auto;
    }

    >div {
      &:not(:last-child) {
        margin-right: .5em;
      }

      &:not(:first-child) {
        margin-top: 2px;
      }

      // For div getting generated by Tooltip
      &:empty {
        margin: 0;
      }
    }

    .shortlist-icon {
      color: $primary-blue;
    }
  }

  &:not(:first-child) {
    border-top: 0;
  }

  h3 {
    font-family: 'Roboto';
    font-size: 1.1em;
    font-weight: 500;
    margin: 0;
  }

  .bureau-card--content {
    dl {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));

      >div {
        display: flex;
        flex-direction: column;
        padding-bottom: 12px;
        padding-left: 16px;
      }

      dt,
      dd {
        display: inline-flex;
        margin: 0;
        padding: 0;
      }

      dt {
        color: $color-black;
        font-size: 1.5rem;
        margin-bottom: .5em;
      }
    }
  }

  .hs-animation-ribbon {
    display: flex;

    .left-initial,
    .left-secondary,
    .right-initial,
    .right-secondary,
    .hs-ribbon {
      display: inline;
      position: relative;
      font-size: 20px;
    }

    .left {
      background-color: $color-green;
      clip-path: polygon(0% 0%, 75% 0%, 100% 50%, 75% 100%, 0% 100%);
      position: relative;
      height: 25px;
      width: 0;
      opacity: 0;
      left: 11rem;
    }

    .right {
      background-color: $color-green;
      clip-path: polygon(100% 0, 100% 50%, 100% 100%, 0% 100%, 25% 50%, 0% 0%);
      position: relative;
      height: 25px;
      width: 0;
      right: -17rem;
      opacity: 0;
    }

    .left-initial {
      top: 2px;
      left: 7px;
      opacity: 0;
      transform: rotate(90deg);
      color: $tertiary-gold-lighter;
      position: absolute;
    }

    .right-initial {
      top: 2px;
      right: 6px;
      opacity: 0;
      transform: rotate(-90deg) scaleX(-1);
      color: $tertiary-gold-lighter;
      position: absolute;
    }

    .left-secondary {
      top: 2px;
      left: 7px;
      transform: rotate(90deg);
      opacity: 0;
      color: $tertiary-gold-lighter;
      position: absolute;
    }

    .right-secondary {
      top: 2px;
      right: 8px;
      transform: rotate(-90deg) scaleX(-1);
      opacity: 0;
      color: $tertiary-gold-lighter;
      position: absolute;
    }

    .hs-ribbon {
      margin-top: 8px;
      color: $color-black;
      opacity: 0;
      left: 9rem;
      width: 0;
    }

    .animate-left-initial {
      animation: left-animation-initial 2s linear;
    }

    .animate-right-initial {
      animation: right-animation-initial 2s linear;
    }

    .animate-left-secondary {
      animation: left-animation-secondary 4s linear;
    }

    .animate-right-secondary {
      animation: right-animation-secondary 4s linear;
    }

    .animate-hs-ribbon {
      animation: hs-animation-ribbon 4s linear;
    }

    .animate-left {
      animation: hs-animation-left-ribbon 4s linear;
    }

    .animate-right {
      animation: hs-animation-right-ribbon 4s linear;
    }

    .temp-transparent-ribbon {
      animation: temp-transparent-animation-ribbon 4s linear;
    }

    @keyframes left-animation-initial {
      0% {
        opacity: 100%;
      }

      25% {
        opacity: 100%;
      }

      100% {
        opacity: 0;
      }
    }

    @keyframes right-animation-initial {
      0% {
        opacity: 100%;
      }

      25% {
        opacity: 100%;
      }

      100% {
        opacity: 0;
      }
    }

    @keyframes left-animation-secondary {
      0% {
        opacity: 0;
      }

      25% {
        opacity: 0;
      }

      40% {
        opacity: 100%;
      }

      50% {
        opacity: 100%;
      }

      51% {
        opacity: 0;
      }

      100% {
        opacity: 0;
      }
    }

    @keyframes right-animation-secondary {
      0% {
        opacity: 0;
      }

      25% {
        opacity: 0;
      }

      40% {
        opacity: 100%;
      }

      50% {
        opacity: 100%;
      }

      51% {
        opacity: 0;
      }

      100% {
        opacity: 0;
      }
    }

    @keyframes hs-animation-ribbon {
      0% {
        opacity: 0;
        width: 40px;
      }

      49% {
        opacity: 0;
      }

      50% {
        top: 10px;
        opacity: 100%;
        color: $color-green;
      }

      65% {
        top: -10px;
      }

      70% {
        top: 10px;
      }

      75% {
        top: -10px;
      }

      80% {
        top: 10px;
      }

      85% {
        top: -10px;
      }

      90% {
        top: 10px;
      }

      95% {
        top: -10px;
      }

      100% {
        top: 0;
        opacity: 100%;
        color: black;
        width: 40px;
      }
    }

    @keyframes temp-transparent-animation-ribbon {
      0% {
        opacity: 0;
      }

      100% {
        opacity: 0;
      }
    }

    @keyframes hs-animation-left-ribbon {
      0% {
        background-color: $color-green;
        opacity: 100%;
        left: 11rem;
        width: 40px;
      }

      20% {
        background-color: $color-green;
        left: 11rem;
      }

      30% {
        background-color: transparent;
        left: 11rem;
      }

      50% {
        left: 16rem;
        background-color: transparent;
        opacity: 100%;
      }

      100% {
        left: 16rem;
        background-color: transparent;
        opacity: 100%;
        width: 40px;
      }
    }

    @keyframes hs-animation-right-ribbon {
      0% {
        background-color: $color-green;
        opacity: 100%;
        right: -17rem;
        width: 40px;
      }

      20% {
        background-color: $color-green;
        right: -17rem;
      }

      30% {
        background-color: transparent;
        right: -17rem;
      }

      50% {
        right: -12rem;
        background-color: transparent;
        opacity: 100%;
      }

      100% {
        right: -12rem;
        background-color: transparent;
        opacity: 100%;
        width: 40px;
      }
    }
  }

  .animate-hs-animation-ribbon {
    margin-left: -110px;
  }

  .hs-status-info {
    color: $blue-primary;
    cursor: pointer;
    margin-top: 4px;
    margin-right: 20px;
  }
}


// ============= Tippy Popper =============

.tippy-popper {

  .tippy-tooltip.deconflict-indicator-theme,
  .tippy-tooltip.has-other-handshake-indicator-theme {
    background-color: $color-white;
    color: $color-black;
    border: 2px solid $tm-gray;
    font-size: 14px;
    padding: 10px 10px 15px;
    text-align: left;
    box-shadow: $tm-gray 3px 14px 29px;

    .arrow-regular {
      border: none;
    }

    .deconflict-indicator-small {
      color: $tertiary-gold;
      font-size: 15px;
      padding-right: 20px;
    }

    .tooltip-title {
      padding-left: 20px;
      font-weight: bold;
    }

    .tooltip-text {
      padding-left: 20px;
      max-width: 200px;
    }
  }

  .tippy-tooltip.has-other-handshake-indicator-theme {
    .deconflict-indicator-small {
      color: $color-red;
    }
  }

  .tippy-tooltip.classifications-theme {
    background-color: $color-white;
    color: $color-black;
    border: 2px solid $tm-gray;
    padding: 10px 10px 0;
    text-align: left;
    box-shadow: $tm-gray 3px 14px 29px;

    .arrow-regular {
      border: none;
    }

    .classification-wrapper {
      padding-bottom: 10px;

      .classification-text {
        font-size: 15px;
        font-weight: bold;

        .classification-icon {
          color: $tertiary-success;
          font-size: 20px;
          padding-right: 10px;
          min-width: 30px;
        }
      }

      .classification-season-wrapper {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
        margin-left: 20px;

        .classification-season {
          padding-left: 15px;
        }
      }
    }
  }
}