/**
 * Makes a unit-based variable unitless
 * @param {number (with units)} $value      The variable that should be converted to unitless
 */
/**
 * Converts a variable (either px, unitless or rem) to a pixel based value. Assumes that 1rem
 * corresponds to 16px.
 * @param {number} $value      The variable that should be converted pixels
 */
/**
 * Creates a variable that represents a fluid value; it grows from $minPropertyValue to
 * $maxPropertyValue while the viewport width is between $minWidth and $maxWidth.
 * Return value always uses the same unit as $min/maxPropertyValue and adds pixel based value
 * depending on screen size.
 * Use rem units for $min/maxPropertyValue for fonts (for accessibility reasons; users can
 * thereby chose their default font size in the OS/browser) and px for layouts.
 * @param {number (px/rem)} $minPropertyValue       Fluid value will correspond to this value if
 *                                                  the viewport has $minWidth and will not fall
 *                                                  below this value
 * @param {number (px/rem)} $maxPropertyValue       Fluid value will correspond to this value if
 *                                                  the viewport has $maxWidth and will go above
 *                                                  this value
 * @param {number (px)} $minWidth                   Fluid value will be $minPropertyValue if the
 *                                                  viewport has this size or is smaller
 * @param {number (px)} $maxWidth                   Fluid value will be $maxPropertyValue if the
 *                                                  viewport has this size or is larger
 */
/**
 * Returns the layout fluid base unit multiplied with the factor provided
 * @param {number} $factor      Factor that the layout's fluid base unit should be multiplied with
 */
.c-header {
  position: sticky;
  top: 0;
  z-index: 400;
  background-color: #ffffff;
  border-bottom: 1px solid #efefef;
}
.c-header__bar {
  display: flex;
  align-items: center;
  gap: calc(min(16px, max(12px, calc(12px + 0.0046403712 * calc(100vw - 320px)))) * 1);
  justify-content: space-between;
  padding: calc(min(16px, max(12px, calc(12px + 0.0046403712 * calc(100vw - 320px)))) * 0.5) 16px;
}
.c-header__logo {
  flex: 0 0 auto;
  width: 120px;
}
.c-header__overlay {
  margin: 0;
  padding: 0;
  border: 0;
  overflow: visible;
  transition: opacity 0.35s cubic-bezier(0.2, 0.9, 0.4, 1);
}
.c-header__toggle {
  margin-left: auto;
}

@media (min-width: 52.5em) {
  .c-header__bar {
    padding: calc(min(16px, max(12px, calc(12px + 0.0046403712 * calc(100vw - 320px)))) * 1) 0;
  }
  .c-header__logo {
    width: 150px;
  }
  .c-header__overlay {
    display: block;
    position: static;
    opacity: 1;
    pointer-events: auto;
  }
  .c-header__overlay-content {
    padding: 0;
  }
  .c-header__toggle {
    display: none;
  }
}