/* stylelint-disable scss/operator-no-unspaced */
/* stylelint-enable scss/operator-no-unspaced */
/* Breakpoint viewport sizes and media queries.

Breakpoints are defined as a map of (name: minimum width), order from small to large:
   (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)

 The map defined in the `$breakpoint` global variable is used as the `$breakpoints` argument by default.

 Name of the next breakpoint, or null for the last breakpoint.

  >> breakpoint-next(sm)
   md
  >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
   md
  >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))
   md
*/
/* Minimum breakpoint width. Null for the smallest (first) breakpoint.
    >> ecl-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
    576px
*/
/* Maximum breakpoint width. Null for the largest (last) breakpoint.
   The maximum value is calculated as the minimum of the next one less 0.1.

   >> ecl-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
   767px
*/
/* Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.
    Useful for making responsive utilities.

    >> infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
    ""  (Returns a blank string)
    >> infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
    "-sm"
*/
/**
 * Search form
 * @define search-form; weak
 */
.ecl-search-form {
  display: flex;
  margin: 0;
  position: relative;
  width: 100%;
}

.ecl-search-form .ecl-form-group {
  display: flex;
  flex-grow: 1;
  max-width: 100%;
}

.ecl-search-form__label {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  visibility: visible;
  white-space: nowrap;
  width: 1px;
}

.ecl-search-form__text-input {
  border-end-end-radius: 0;
  border-inline-end-width: 0;
  border-start-end-radius: 0;
  flex-grow: 1;
  margin-top: 0 !important;
  width: 100%;
}

.ecl-search-form__button {
  background-color: #0e47cb;
  border-bottom: 1px solid #515560;
  border-end-start-radius: 0;
  border-inline-start-width: 0;
  -webkit-border-end: 1px solid #515560;
          border-inline-end: 1px solid #515560;
  border-top: 1px solid #515560;
  border-start-start-radius: 0;
  color: #fff;
  padding: calc(0.75rem - 1px);
}
.ecl-search-form__button:hover, .ecl-search-form__button:active {
  background-color: #3e6cd5;
}
.ecl-search-form__button:focus-visible {
  outline: 2px solid #0e47cb;
  outline-offset: -2px;
}
.ecl-search-form__button[disabled] {
  background-color: rgba(14, 71, 203, 0.5);
  border-color: rgba(81, 85, 96, 0.5);
  color: rgba(255, 255, 255, 0.5);
}
.ecl-search-form__button[disabled]:hover {
  background-color: rgba(62, 108, 213, 0.5);
  color: rgba(255, 255, 255, 0.5);
}

.ecl-search-form__button .ecl-button__label {
  display: none;
}

.ecl-search-form__button .ecl-button__icon {
  display: block;
  fill: currentcolor;
  margin: 0;
}

/* stylelint-disable-next-line order/order */
@media (min-width: 768px) {
  .ecl-search-form {
    max-width: 25rem;
  }
  .ecl-search-form__button {
    -webkit-padding-start: calc(
      1rem - 1px
    );
            padding-inline-start: calc(
      1rem - 1px
    );
    -webkit-padding-end: calc(
      1rem - 1px
    );
            padding-inline-end: calc(
      1rem - 1px
    );
  }
  .ecl-search-form__button .ecl-button__label {
    display: block;
  }
  .ecl-search-form__button .ecl-button__icon {
    display: none;
  }
}
/* stylelint-disable-next-line order/order */
@media (min-width: 996px) {
  .ecl-search-form {
    max-width: 31.25rem;
  }
}
.ecl-search-form__text-input .ecl-text-input {
  width: 100% !important;
}

.ecl-search-form__button.sc-ecl-search-form-eu {
  background: #0e47cb !important;
  border-bottom: 1px solid #515560 !important;
  border-right: 1px solid #515560 !important;
  border-top: 1px solid #515560 !important;
  padding: calc(0.75rem - 1px) !important;
}

@media (min-width: 768px) {
  .ecl-search-form__button.sc-ecl-search-form-eu {
    -webkit-padding-start: calc(1rem - 1px) !important;
            padding-inline-start: calc(1rem - 1px) !important;
    -webkit-padding-end: calc(1rem - 1px) !important;
            padding-inline-end: calc(1rem - 1px) !important;
  }
}
.ecl-search-form__text-input.sc-ecl-search-form-ec {
  border-inline-end-width: 0 !important;
}