.search-wrapper {
  position: relative;
  display: flex;
  gap: 15px;
}

.input-container {
  flex: 1;
}

#search-input {
  width: 100%;
  padding: 12px;
  font-size: 16px;
  border-radius: 4px;
  border: 1px solid var(--gray-gray-800, #2f3746);
  outline: none;
  font-family: 'Inter';
}

#suggestions-container {
  margin-top: 6px;
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  border-radius: 5px;
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0px 2px 10px 0px rgba(116, 128, 148, 0.15);
  z-index: 999;
}

.search-button {
  border-radius: 4px;
  border: 1px solid #1a65d4;
  background: #1a65d4;
  color: var(--gray-gray-000, #fff);
  text-align: center;
  font-family: Ubuntu;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  padding: 12px 40px;
  cursor: pointer;
  transition: 200ms all;
}

.search-button:hover {
  background:#2c7cf3;
}

.suggestion-suffix {
  font-style: normal;
  font-weight: normal;
  color: #A3ADBE;
  font-size: 15px;
  margin-left: 2px;
}

.user-input-label {
  color: #4C5566;
}

.suggestions-item {
  padding: 10px 25px;
  cursor: pointer;
  border-top: 1px solid #cdd5df;
  font-weight: bold;
}
.suggestions-item:last-child {
  padding-bottom: 12px;
}

.user-input-suggestion {
  border-top: 0;
}

.suggestions-item[data-type="model"] {
  font-weight: normal;
  padding-left: 26px;
  position: relative;
}

.highlight-color {
  color: #1a65d5;
}

/* CSS styles for the spinner */
.spinner {
  position: absolute;
  right: 50px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  border: 2px solid #CDD5DF;
  border-top-color: #4C5566;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

.spinner.open {
  display: block!important;
}

.spinner.open + .clear-button {
  opacity: 0!important;
  visibility: hidden!important;
}

@keyframes spin {
  to {
    transform: translateY(-50%) rotate(360deg);
  }
}

.clear-button, .compact-search-button {
  position: absolute;
  right: 0px;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  background: none;
  font-size: 16px;
  cursor: pointer;
  padding: 10px 15px;
  opacity: 0;
  visibility: hidden;
  transition: visibility 0s linear 250ms, opacity 250ms, color 250ms, background 250ms;
}

.compact-search-button {
  top: 0px;
  bottom: 0px;
  right: 0px;
  transform: none;
  padding: 0 10px;
  transition: 250ms all;
}

.compact-search-button svg {
  fill: #4C5566;
  display: block;
  height: 24px;
  width: 24px;
  transition: 250ms all;
}

.compact-search-button:hover  {
  background: none;
}
.compact-search-button:hover svg {
  transform: scale(1.3);
  fill: #2c7cf3;
}

.clear-button svg {
  width: 20px;
  line-height: 1;
  display: block;
  fill: #4C5566;
  transition: 250ms all;
}

.clear-button:hover svg {
  fill: #F56565;
}

.clear-button.open,
.input-container input:focus ~ .compact-search-button,
.input-container input:not(:placeholder-shown) ~ .compact-search-button {
  opacity: 1;
  visibility: visible;
  transition: visibility 0s linear 0s, opacity 250ms, background 250ms;
}

.input-container input:focus ~ .compact-search-button,
.input-container input:not(:placeholder-shown) ~ .compact-search-button {
  transition: visibility 0s linear 0s, opacity 600ms 250ms, background 250ms;
}

.input-container {
  position: relative;
}

.input-container input {
  padding: 10px;
}
.input-container input::placeholder {
  color: #fff;
}

.input-container label {
  position: absolute;
  top: 11px;
  left: 13px;
  transition: 200ms 0ms all, 200ms 200ms right;
  pointer-events: none;
  display: flex;
  align-items: center;
  overflow: hidden;
  right: 0;
  margin-right: 25px;
  padding-right: 40px;
  line-height: 24px;
}

.input-container .label-inner {
  color: #818b9f;
}

.input-container .search-icon {
  line-height: 1;
  position: absolute;
  transition: 200ms 200ms all;
}

.input-container .search-icon svg {
  height: 24px;
  width: 24px;
  display: block;
}

.input-container .label-inner {
  white-space: nowrap;
  background: #fff;
  transform: translate3d(40px, 0, 0);
  transition: 200ms all, 200ms 200ms transform;
}

.input-container input:focus + label,
.input-container input:not(:placeholder-shown) + label {
  top: -11px;
  transition: 200ms 200ms all;
  margin-right: 0;
  right: auto;
}
.input-container input:focus + label .search-icon,
.input-container input:not(:placeholder-shown) + label .search-icon {
  opacity: 0;
  transition: 200ms all;
}
.input-container input:focus + label .label-inner,
.input-container input:not(:placeholder-shown) + label .label-inner {
  font-size: 12px;
  color: #333;
  transform: translate3d(0,0,0);
  transition: 200ms 200ms all, 200ms transform;
  padding-left: 5px;
  padding-right: 5px;
}

.as101-search-aircrafts[data-version="compact"] .input-elements .label-inner {
  font-size: 14px;
  transform: translate3d(28px, 0, 0);
}

.as101-search-aircrafts[data-version="compact"] .input-container .search-icon svg {
  height: 20px;
  width: 20px;
}

.as101-search-aircrafts[data-version="compact"] #search-input {
  padding: 12px 8px;
  font-size: 14px;
}

.as101-search-aircrafts[data-version="compact"] .input-container label {
  left: 8px;
  margin-right: 12px;
}

.as101-search-aircrafts[data-version="compact"] .clear-button {
  right: 35px;
}

.as101-search-aircrafts[data-version="compact"] .input-container input:focus + label .label-inner, 
.as101-search-aircrafts[data-version="compact"] .input-container input:not(:placeholder-shown) + label .label-inner {
  font-size: 12px;
  transform: translate3d(0,0,0);
}

@media screen and (max-width: 1024px) {
  .search-wrapper {
    flex-direction: column;
  }

  .input-container label {
    padding-right: 35px;
    font-size: 12px;
  }

  .input-container .label-inner {
    transform: translate3d(35px, 0, 0);
  }

  .input-container #search-input {
    padding: 12px 10px;
  }
  .input-container input:focus + label, .input-container input:not(:placeholder-shown) + label {
    left: 10px;
  }
}