.sui-search-box {
  position: relative;
  margin: 2em 0;

  .search-input {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    align-items: center;
    padding: 0;
    background-color: @white;

    .terms-box {
      display: flex;
      width: 100%;
      border: none;

      .terms-box-left {
        display: flex;
        flex-grow: 0;
        align-items: center;
        border-bottom: 2px solid @secondaryColor;

        .search-icon {
          width: 29px;
          height: 29px;
          margin: 10px 0;
          cursor: pointer;

          svg {
            fill: @secondaryColor !important;
          }
        }
      }

      input {
        width: 100%;
        border: none;
        border-bottom: 2px solid @secondaryColor;
        color: @deepBlue;
        font-family: @headerFont;
        font-size: 40px;

        &:focus {
          border-bottom: 3px solid @blue-3;
          outline: none !important;

          &:focus + .terms-box-left {
            border-bottom: 3px solid @blue-3;
          }
        }
      }

      input::placeholder {
        color: @deepBlue;
        font-weight: 200;
      }

      .button {
        padding: 0px !important;
        margin: 0px;

        i.icon {
          position: relative;
          top: 4px;
          left: -2px;
          padding: 0px;
          margin: 0px;
        }
      }
    }

    .input-controls {
      display: flex;
      align-items: center;
      // margin-top: 2px;
      // margin-left: auto;

      .clear-button {
        position: relative;
        width: 28px;
        height: 28px;
        border: 2px solid @secondaryColor !important;
        border-radius: 4px;
        margin: 10px;
        box-shadow: none;
        opacity: 1;

        &:hover {
          border: none;
          box-shadow: none;
          outline: none;
        }
      }

      i.close.icon {
        position: absolute;
        top: 5px;
        left: 0;
        margin: 0 !important;
        color: @secondaryColor;
        opacity: 1;

        &:before,
        &:after {
          position: absolute;
          top: 0;
          left: 11px;
          width: 2px;
          height: 15px;
          background-color: @secondaryColor !important;
          content: ' ';
        }

        &:before {
          transform: rotate(45deg);
        }

        &:after {
          transform: rotate(-45deg);
        }
      }

      .show-extra-facets {
        padding: 14px !important;
        border: 1px solid @sf-medium-gray;
        border-radius: 0px;
        border-left: none;
        margin-right: 4px;
        background: @white !important;
        color: @sf-dark-gray !important;
        cursor: initial;

        i.icon {
          margin: 0px;
          cursor: pointer;
        }

        &.opened {
          border-bottom: 1px solid @white !important;
          background: @white !important;
        }
      }

      .button.microphone-input {
        border-radius: 20px;
        background: @sf-light-gray !important;

        i.icon {
          padding: 0;
          margin: 0 !important;
          color: @sf-dark-gray !important;
        }

        &.listening {
          background-color: @darkTeal;
          color: @white !important;
          fill: @white !important;
        }

        &.listening::before {
          position: absolute;
          top: 50%;
          left: 50%;
          width: 100px;
          height: 100px;
          border-radius: 50%;
          animation: listening infinite 1.5s;
          background-color: @darkDimmedWhite;
          content: '';
          transform: translate(-50%, -50%) scale(1.4);
        }
      }
    }
  }

  .ui.label.search-phrase {
    font-size: initial;

    .ui.small.basic.icon.button {
      padding: 0 !important;
    }
  }

  .extra-facets {
    display: flex;
  }

  .extra-facets {
    position: absolute;
    z-index: 10;
    width: 95%;
    max-width: 570px;
    flex-wrap: wrap;
    padding: 10px;
    border: 1px solid @sf-medium-gray;
    border-top: none;
    margin-top: 0px;
    background: @white !important;
    -webkit-box-shadow: 0px 10px 13px -8px @sf-medium-gray;
    box-shadow: 0px 10px 13px -8px @sf-medium-gray;

    #exact-phrases-facet label {
      padding-left: 3rem !important;
      color: @black !important;
    }
  }
}

.ui.list.search-list {
  > .item {
    padding-top: 0 !important;
    padding-bottom: 1em !important;
    color: @deepBlue !important;
    font-size: 18px !important;
    font-weight: 400 !important;
  }
}

.demo-question {
  margin-top: 2.5em;

  //TODO: move list with more space to design system
  .ui.list.search-list {
    display: flex;
    flex-direction: column;
    margin-top: 2em !important;
    gap: 1em;
  }

  .ui.basic.button.explore-more-queries {
    display: flex;
    align-items: center;
    color: @deepBlue !important;
    float: right;
    font-size: 20px;
    font-weight: 700;

    .icon {
      display: flex;
      align-items: center;
      margin: 0 5px !important;
      font-size: 30px;
      opacity: 1;
    }

    &:hover,
    &:active,
    &:focus {
      border: none;
      background: transparent;
      box-shadow: none;
    }
  }
}

.sui-search-box__submit {
  flex-shrink: 0;
  padding: 16px;
  border: none;
  border-radius: 4px;
  margin-left: 10px;
  background: linear-gradient(@lightGradientBlue, @darkGradientBlue)
    @midGradientBlue;
  box-shadow:
    @dimmedLighterBlack 0px 0px 0px 1px inset,
    @dimmedBlueBlack 0px 1px 0px;
  color: @white;
  cursor: pointer;
  font-family: inherit;
  font-size: 14px;
  text-shadow: @dimmedLighterBlack 0px 1px 2px;

  &:hover {
    background: linear-gradient(@lightGradientBlueHover, @darkGradientBlueHover)
      @midGradientBlueHover;
    box-shadow:
      @dimmedBlack 0px 0px 0px 1px inset,
      @dimmedDarkGray 0px 2px 4px;
  }
}

.sui-search-box__wrapper {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  flex-direction: column;
  align-items: stretch;
  border-radius: 3px;
  outline: none;
}

.sui-search-box__text-input {
  position: relative;
  width: 100%;
  padding: 16px;
  border: 1px solid @sf-medium-gray;
  border-radius: 4px;
  font-family: inherit;
  font-size: 14px;
  outline: none;
}

.sui-search-box__text-input {
  & > input {
    position: relative;
    display: flex;
    padding: 16px;
    border: 1px solid @sf-medium-gray;
    border-radius: 4px;
    font-family: inherit;
    font-size: 14px;
    outline: none;
  }
}

.sui-search-box__text-input:focus {
  border-top: 1px solid @brightBlue;
  border-right: 1px solid @brightBlue;
  border-bottom: 1px solid @brightBlue;
  border-left: 1px solid @brightBlue;
  box-shadow: @dimmedDarkGray 0px 2px 4px;
}

.autocomplete .sui-search-box__text-input {
  box-shadow: @dimmedDarkGray 0px 2px 4px;
}

.sui-search-box__autocomplete-container {
  position: absolute;
  top: calc(3em + 4px);
  right: 0;
  left: 0;
  display: none;
  // max-width: 1000px;
  flex-direction: column;
  padding: 24px 0 12px 0;
  margin: 0;
  background: @white;
  box-shadow: 0px 4px 4px @dimmedLightBlack;
  line-height: 1.5;
}

.autocomplete .sui-search-box__autocomplete-container {
  z-index: 3;
  display: flex;
}

.sui-search-box__autocomplete-container ul {
  padding: 0 0 24px 0;
  border-radius: 3px;
  margin: 0;
  background: transparent;
  list-style: none;
}

.sui-search-box__autocomplete-container ul:last-child {
  padding: 0;
}

.sui-search-box__autocomplete-container li {
  padding: 8px 40px;
  color: @primaryColor;
  cursor: pointer;
  font-size: 18px;
  font-weight: 500;
}

.sui-search-box__autocomplete-container li em {
  background: @blueWhite;
  color: @brightBlue;
  font-style: normal;
}

.sui-search-box__autocomplete-container li:hover {
  background: @brightBlue;
  color: @white;
}

.sui-search-box__autocomplete-container li:hover em {
  background: transparent;
  color: @white;
}

.sui-search-box__autocomplete-container li[aria-selected='true'] {
  background: @primaryColor;
  color: @white;
}

.sui-search-box__autocomplete-container li[aria-selected='true'] em {
  background: transparent;
  color: @white;
}

.sui-search-box__section-title {
  padding: 0 0 4px 40px;
  color: @midLighterGray;
  font-size: 0.7em;
  font-weight: normal;
  letter-spacing: 1px;
  text-transform: uppercase;
  // display: none;
}

@media only screen and (max-width: @largestMobileScreen) {
  .sui-search-box {
    .search-input {
      .terms-box input {
        font-size: 24px;

        &::placeholder {
          font-size: 24px;
        }
      }
    }
  }
}

@media only screen and (max-width: 360px) {
  .sui-search-box {
    .search-input {
      .terms-box input {
        font-size: 14px;

        &::placeholder {
          font-size: 14px;
        }
      }

      .terms-box .terms-box-left .search-icon,
      .input-controls .clear-button {
        width: 20px !important;
        height: 20px !important;
      }

      .input-controls .clear-button {
        .close.icon {
          top: 2px;
          left: -4px;

          &:before,
          &:after {
            top: 0;
            left: 11px;
            height: 12px;
          }
        }
      }
    }
  }

  .sui-search-box__autocomplete-container li {
    font-size: 14px;
  }

  .sui-search-box__autocomplete-container {
    right: 50%;
    left: 50%;
    width: 100vw;
    padding-top: 10px;
    margin-right: -50vw;
    margin-left: -50vw;
  }

  .sui-search-box__section-title,
  .sui-search-box__autocomplete-container li {
    padding: 8px 30px;
  }
}
