.ht-search-input {
  position: relative;
  height: 100%;

  ::placeholder { color: var(--neutral-200); }
  form { height: 100%; }

  .search-input {
    height: 100%;
    width: 100%;
    box-sizing: border-box;
    padding: 0 20px 0 42px;
    font-size: 18px;
    border-radius: var(--border-radius);
    border: 1px solid var(--neutral-60);
    line-height: 1;

    &:focus { outline-color: var(--blue-300); }
  }

  i.fa-search {
    position: absolute;
    left: 15px;
    top: 0;
    bottom: 0;
    margin: auto !important;
    height: 16px;
    font-size: 16px;
    color: var(--neutral-200);
  }
}

.ht-search-dropdown {
  display: none;
  position: absolute;
  background: var(--neutral-0);
  border: 1px solid var(--neutral-30);
  width: 100%;
  padding: 8px;
  box-sizing: border-box;
  z-index: 1000;
  box-shadow: 0 5px 10px var(--neutral-40);
  max-height: 80vh;
  overflow: auto;

  &.open { display: block; }

  ul {
    list-style: none;
    padding-left: 0;
    margin: 0;

    li { margin: 0; }
  }

  a {
    text-decoration: none;
    display: flex;
    align-items: center;
    padding: 8px;
    line-height: 1.25;
    color: var(--blue-400);
    position: relative;
    border-radius: var(--border-radius);

    &.hover {
      background: var(--blue-400);
      color: var(--neutral-0);

      .search_label {
        color: var(--blue-400);
        background: var(--neutral-0)
      }
    }
  }

  .search-key {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid var(--neutral-30);

    .search-key-button {
      color: var(--neutral-800);

      b {
        margin-left: 5px;
        color: var(--blue-500);
      }

      &.hover,
      &.hover b { color: var(--neutral-0); }
    }
  }

  .search_title { margin-right: auto; }
  .quicksearch_result a section { display: flex; }
}

@media screen and (max-width: 1110px) {
  .ht-search-input {
    .search-input { padding-left: 35px; }
    i.fa-search { left: 10px; }
  }

  .ht-search-dropdown {
    padding: 8px 0;
    max-height: calc(100vh - 88px);
    border: none;
    border-top: 1px solid var(--neutral-60);

    .quicksearch_result {
      padding: 5px 0;
      border-bottom: 1px solid var(--neutral-30);

      a {
        border-radius: 0;
        display: block;

        .search_label {
          font-size: 10px;
          margin: 6px 6px 0 0;
        }
      }
    }

    .search-key {
      margin-top: 0;
      border: none;
    }
  }
}
