#btnLogin,
#btnLogout {
  position: relative;
}

/* the dashed circle spinner */
.spinner {
  position: absolute;
  top: 50%;
  right: 11px;
  width: 20px;
  height: 20px;
  margin-top: -11px;
  border: 3px solid var(--colour-text);
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
}
.spinner.visible {
  opacity: 1;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

#searchSection{
  margin-bottom: 40px;
  @media only screen and (max-width: 800px) {
    margin-top: 20px;
    margin-bottom: 20px;
  }
  h2{
    margin-bottom: 16px;
    margin-top: 40px;
    @media only screen and (max-width: 800px) {
      margin-top: 0px;
    }
  }
}
#searchInput{
  background: white;
  border: initial;
  width: 100%;
  border-radius: 100px;
  text-align: center;
  font-weight: 600;
  max-width: 1050px;
  color: var(--colour-text);
  font-family: var(--input-font);
  margin: auto;
  @media only screen and (max-width: 800px) {
    font-size: 18px;
    padding: 15px 33px;
  }
  &::placeholder {
    color: var(--colour-text);
    opacity: 1; /* Firefox */
  }

  &::-ms-input-placeholder { /* Edge 12 -18 */
    color: var(--colour-text);
  }
  &:focus, &:active{
    border: initial;
    outline: initial;
  }
  &:focus{
    &::placeholder {
      opacity: 0; /* Firefox */
    }

    &::-ms-input-placeholder { /* Edge 12 -18 */
      opacity: 0; /* Firefox */
    }
  }
}

#addItemForm{
  h2{
    margin-bottom: 16px;
  }
  .add-item-fields{
    display: flex;
    gap: 20px;
    @media only screen and (max-width: 1728px) {
      gap: 10px;
    }
    @media only screen and (max-width: 800px) {
      flex-direction: row;
      flex-wrap: wrap;
    }
    input[type="text"]{
      flex: 1;
      @media only screen and (max-width: 800px) {
        flex: 0 0 100%;
      }
    }
    #itemHashtagInput{
      @media only screen and (max-width: 800px) {
        flex: 0 0 calc(100% - 50px);
      }
    }
  }
  #addItemBtn{
    padding: initial;
    border: initial;
    flex: 0 0 41.6px;
    transform: rotate(45deg);

    @media only screen and (max-width: 800px) {
      flex: initial;
      width: 40px;
      margin: 0px;
    }
    svg{
      width: 100%;
      height: 100%;
    }
  }
}

#itemsDisplaySection{
  margin-top: 40px;
  color: var(--colour-text);
  margin-inline: auto;
  @media only screen and (max-width: 800px) {
    margin-top: 25px;
  }
  h2{
    margin-bottom: 10px;
  }
  #searchResultsList{
    ul.results-list{
      list-style: none;
      margin: initial;
      padding: 0px;
      .result-item{
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 10px;
        padding: 9px 0;
        border-bottom: 1px solid;
        @media only screen and (max-width: 800px) {
          text-align: left;
          flex-direction: column;
          align-items: initial;
          .display-mode{
            margin-right: auto;
          }
        }
        .button-wrapper{
          margin-left: auto;
          display: flex;
          column-gap: 6px;
          @media only screen and (max-width: 800px) {
            margin-left: initial;
          }
        }
      }
    }
    .edit-mode{
      display: flex;
      align-items: center;
      gap: 10px;
      width: 100%;
      margin: 7px 0;
      @media only screen and (max-width: 800px) {
        flex-direction: column;
        width: 100%;
      }
      input[type="text"]{
        padding: 9px 27px;
        font-size: 17px;
        flex: 1;
        height: 53px;
        @media only screen and (max-width: 800px) {
          width: 100%;
        }
      }
      button{
        padding: 9px 27px;
        font-size: 12px;
        align-self: stretch;
      }
    }
  }
}
