/* JSC Mobile Menu 1.0.4 — replace the existing CSS file. */
:root { --jscmm-teal: #006475; --jscmm-line: #e4e4e4; }
.jscmm { display: none; }

@media (max-width: 980px) {
  .jscmm { display: block; }
  .jscmm-trigger { display: flex; flex-direction: column; justify-content: center; gap: 6px; width: 48px; height: 48px; padding: 8px; border: 0; background: transparent; cursor: pointer; }
  .jscmm-trigger span { display: block; width: 32px; height: 2px; background: #111; }
  .jscmm-overlay { position: fixed; inset: 0; z-index: 2147483000; background: #fff; color: #111; display: flex; flex-direction: column; font-family: Outfit, sans-serif; }
  .jscmm-overlay[hidden], .jscmm-panel[hidden], .jscmm-back[hidden] { display: none !important; }
  .jscmm-header { height: 72px; min-height: 72px; display: flex; align-items: center; justify-content: space-between; padding: 0 20px; border-bottom: 1px solid var(--jscmm-line); background: #fff; }
  .jscmm-heading { display: flex; align-items: center; gap: 16px; min-width: 0; font-size: 16px; font-weight: 500; }
  .jscmm-panel-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .jscmm-back, .jscmm-close { border: 0; background: transparent; width: 44px; height: 44px; display: grid; place-items: center; cursor: pointer; flex-shrink: 0; }
  .jscmm-back-arrow { width: 14px; height: 14px; border-left: 2px solid #111; border-bottom: 2px solid #111; transform: rotate(45deg); }
  .jscmm-close { position: relative; }
  .jscmm-close span { position: absolute; width: 26px; height: 2px; background: #111; transform: rotate(45deg); }
  .jscmm-close span:last-child { transform: rotate(-45deg); }
  .jscmm-scroll { overflow-y: auto; overscroll-behavior: contain; flex: 1; min-height: 0; }
  .jscmm-list { list-style: none !important; padding: 0 !important; margin: 0 !important; }
  .jscmm-item { border-bottom: 1px solid var(--jscmm-line); margin: 0 !important; padding: 0 !important; list-style: none !important; }
  .jscmm-item::before { display: none !important; }
  .jscmm-row { box-sizing: border-box; width: 100%; min-height: 64px; padding: 18px 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px; background: #fff; border: 0; text-align: left; font: 400 16px/1.4 Outfit, sans-serif; cursor: pointer; text-decoration: none !important; color: #111 !important; }
  .jscmm-primary .jscmm-row { font-weight: 500; }
  .jscmm-row > span:first-child { min-width: 0; overflow-wrap: anywhere; }
  .jscmm-chevron { width: 11px; height: 11px; border-right: 2px solid #111; border-top: 2px solid #111; transform: rotate(45deg); flex-shrink: 0; }
  .jscmm-utility { background: #f1f2f2; }
  .jscmm-utility a { display: block; padding: 20px 24px; border-bottom: 1px solid var(--jscmm-line); font-size: 16px; line-height: 1.4; font-weight: 500; color: #111 !important; text-decoration: none !important; }
  .jscmm-contact { display: block; background: var(--jscmm-teal); padding: 22px 24px; font-size: 16px; line-height: 1.4; font-weight: 500; color: #fff !important; text-decoration: none !important; }
  .jscmm-social { display: flex; flex-wrap: wrap; gap: 12px; padding: 32px 24px 40px; }
  .jscmm-social a { border: 2px solid #111; border-radius: 50px; width: 42px; height: 42px; min-width: 42px; min-height: 42px; box-sizing: border-box; flex: 0 0 42px; display: inline-flex; align-items: center; justify-content: center; padding: 8px; font-size: 12px; font-weight: 600; text-decoration: none !important; color: #111 !important; }
  .jscmm-promo { padding: 24px 24px 0; }
  .jscmm-promo img { display: block; width: 100%; height: auto; max-height: 340px; object-fit: cover; }
  body.jscmm-open { overflow: hidden !important; }

  /* Only the header row containing the mobile shortcode is adjusted. */
  .jsc-header-main:has(.jscmm) {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0 !important;
  }
  .jsc-header-main:has(.jscmm) > .et_pb_column {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .jsc-header-main:has(.jscmm) > .et_pb_column:first-child {
    flex: 0 0 100px !important;
    width: 100px !important;
    min-width: 100px !important;
    align-items: flex-start !important;
  }
  /* Give the SVG and its wrappers a real width inside the flex column. */
  .jsc-header-main:has(.jscmm) > .et_pb_column:first-child > .et_pb_image {
    flex: 0 0 auto !important;
    width: 92px !important;
    min-width: 92px !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  .jsc-header-main:has(.jscmm) > .et_pb_column:first-child > .et_pb_image > a,
  .jsc-header-main:has(.jscmm) > .et_pb_column:first-child > .et_pb_image .et_pb_image_wrap {
    display: block !important;
    width: 100% !important;
  }
  .jsc-header-main:has(.jscmm) > .et_pb_column:first-child > .et_pb_image img {
    display: block !important;
    width: 92px !important;
    max-width: 100% !important;
    height: auto !important;
  }
  .jsc-header-main > .et_pb_column:has(.jscmm) {
    flex: 0 0 48px !important;
    width: 48px !important;
    align-items: flex-end !important;
    justify-content: center !important;
    margin-left: auto !important;
  }
  .jsc-header-main:has(.jscmm) > .et_pb_column:last-child:not(:has(.et_pb_module)) { display: none !important; }
  .jsc-header-main .et_pb_module:has(.jscmm) {
    width: 48px !important;
    max-width: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .jsc-header-main .jscmm-trigger { margin: 0 0 0 auto; }
}

@media (max-width: 980px) {
  .et-l--header .et_pb_section:has(.jsc-header-main .jscmm) {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .jsc-header-main:has(.jscmm) {
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 88px !important;
    max-height: none !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .jsc-header-main:has(.jscmm) > .et_pb_column {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    align-self: center !important;
    justify-content: center !important;
    gap: 0 !important;
  }
  .jsc-header-main:has(.jscmm) > .et_pb_column:first-child > .et_pb_image {
    height: auto !important;
    max-height: none !important;
    line-height: 0 !important;
    align-self: flex-start !important;
    padding: 0 !important;
  }
  .jsc-header-main:has(.jscmm) > .et_pb_column:first-child .et_pb_image_wrap {
    line-height: 0 !important;
  }
  .jsc-header-main:has(.jscmm) > .et_pb_column:first-child > .et_pb_image img {
    max-height: none !important;
  }
  .jsc-header-main .et_pb_module:has(.jscmm),
  .jsc-header-main .et_pb_text_inner:has(> .jscmm) {
    height: auto !important;
    min-height: 0 !important;
    line-height: 0 !important;
  }
  .jscmm-overlay { line-height: 1.4; }
  .jscmm-brand { display: block; width: 92px; flex: 0 0 92px; line-height: 0; }
  .jscmm .jscmm-brand img { display: block; width: 92px; height: auto; max-height: none; }
  .jscmm-header:has(.jscmm-back[hidden]) .jscmm-heading { display: none; }
  .jscmm-header:has(.jscmm-back:not([hidden])) .jscmm-brand { display: none; }
  .jscmm-heading { flex: 1 1 auto; }
  .jscmm-close { margin-left: auto; }
  .jscmm .jscmm-utility a { display: flex; align-items: center; gap: 20px; min-height: 64px; box-sizing: border-box; padding: 18px 24px; }
  .jscmm-icon { display: block; width: 24px; height: 24px; flex: 0 0 24px; }
  .jscmm-social { align-items: center; }
  .jscmm .jscmm-social a { padding: 7px; line-height: 1; }
  .jscmm .jscmm-social .jscmm-icon { width: 24px; height: 24px; }
  .jscmm a:focus-visible, .jscmm button:focus-visible { outline: 2px solid currentColor; outline-offset: -4px; }
}
