.ft-input-component {
  position: relative;
}

.disabled label, .disabled .ft-input{
  opacity: 0.4;
  cursor: not-allowed;
}

.clearInputTextButton {
  position: absolute;
  /* horizontal intentionally reduced to keep "I-beam pointer" visible */
  padding: 10px 8px;
  top: 5px;
  left: 0;
  cursor: pointer;
  border-radius: 200px 200px 200px 200px;
  color: var(--primary-text-color);

  opacity: 0;

  -moz-transition: background 0.2s ease-in, opacity 0.2s ease-in;
  -o-transition: background 0.2s ease-in, opacity 0.2s ease-in;
  transition: background 0.2s ease-in, opacity 0.2s ease-in;
}

.clearInputTextButton:hover {
  background-color: var(--side-nav-hover-color);
}
.clearInputTextButton.visible {
  opacity: 1;
}

.forceTextColor .clearInputTextButton:hover {
  background-color: var(--primary-color-hover);
}

.clearInputTextButton:active {
  background-color: var(--tertiary-text-color);
  -moz-transition: background 0.2s ease-in;
  -o-transition: background 0.2s ease-in;
  transition: background 0.2s ease-in;
}

.search .clearInputTextButton {
  top: 12px;
}

.forceTextColor .clearInputTextButton {
  color: #EEEEEE;
}

.forceTextColor .clearInputTextButton:active {
  background-color: var(--primary-color-active);
}

.ft-input {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    outline: none;
    width: 100%;
    padding: 1rem;
    border: none;
    background: transparent;
    margin-bottom: 10px;
    font-size: 16px;
    height: 45px;
    color: var(--secondary-text-color);
    border-radius: 5px;
    background-color: var(--search-bar-color);
}

.ft-input-component ::-webkit-input-placeholder {
  color: var(--tertiary-text-color);
}

.forceTextColor .ft-input {
  color: #EEEEEE;
  background-color: var(--primary-input-color);
}

.forceTextColor .ft-input:focus {
  box-shadow: 0 0 1rem 0 var(--primary-input-color);
  -moz-transition: box-shadow 0.2s ease-in-out;
  -o-transition: box-shadow 0.2s ease-in-out;
  transition: box-shadow 0.2s ease-in-out;
}

.forceTextColor ::-webkit-input-placeholder {
  color: #EEEEEE;
}

.inputAction {
  position: absolute;
  padding: 10px 8px;
  top: 5px;
  right: 0;
  border-radius: 200px 200px 200px 200px;
  color: var(--primary-text-color);
  /* this should look disabled by default */
  opacity: 50%;
}

.inputAction.enabled {
  opacity: 100%;
  /* Only look respond to cursor when enabled */
  cursor: pointer;
}

.search ::-webkit-calendar-picker-indicator {
  display: none;
}

.search .inputAction {
  top: 12px;
}

.forceTextColor .inputAction {
  color: #EEEEEE;
}

.ft-input-component.showActionButton .ft-input {
  /*
  With arrow present means
  the text might get under the arrow with normal padding
   */
  padding-right: 2em;
}

.inputAction.enabled:hover {
  background-color: var(--side-nav-hover-color);
  -moz-transition: background 0.2s ease-in;
  -o-transition: background 0.2s ease-in;
  transition: background 0.2s ease-in;
}

.forceTextColor .inputAction.enabled:hover {
  background-color: var(--primary-color-hover);
}

.inputAction.enabled:active {
  background-color: var(--tertiary-text-color);
  -moz-transition: background 0.2s ease-in;
  -o-transition: background 0.2s ease-in;
  transition: background 0.2s ease-in;
}

.forceTextColor .inputAction.enabled:active {
  background-color: var(--primary-color-active);
}

.list {
  position: absolute;
  width: 100%;
  list-style: none;
  margin: 0;
  padding: 5px 0;
  z-index: 10;
  border-radius: 0 0 5px 5px;
  word-wrap: break-word;
  box-shadow: 0 0 10px var(--scrollbar-color-hover);
  background-color: var(--search-bar-color);
}

.list li {
  display: block;
  padding: 0px 15px;
  line-height: 2rem;
}

.hover {
  background-color: var(--scrollbar-color-hover);
/*   color: white; */
}

.showClearTextButton .ft-input {
  padding-left: 2em;
}
