/* Mobile refinements shared by the static pages. */
@media (max-width: 767px) {
  html, body { overflow-x: clip; }

  .elementor-location-header .elementor-element-e047278 > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
  }

  .elementor-location-header .header-interno {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px;
    align-items: center !important;
    justify-content: stretch !important;
    gap: 0 !important;
    width: 100% !important;
    padding: 14px 16px !important;
  }

  .elementor-location-header .elementor-element-e92c051 {
    grid-column: 1;
    grid-row: 1;
    width: auto !important;
    margin: 0 !important;
    justify-self: start;
  }

  .elementor-location-header .elementor-element-e92c051 img {
    display: block;
    width: 175px !important;
    max-width: 100% !important;
    height: auto !important;
  }

  .static-mobile-menu-toggle,
  .medical-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.4);
    border-radius: 10px;
    background: rgba(255,255,255,.08);
    color: #fff;
    cursor: pointer;
    font: inherit;
  }

  .static-mobile-menu-toggle {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
  }

  .static-mobile-menu-toggle .bars,
  .medical-menu-toggle .bars {
    width: 20px;
    height: 16px;
    border-top: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    position: relative;
  }

  .static-mobile-menu-toggle .bars::after,
  .medical-menu-toggle .bars::after {
    content: '';
    position: absolute;
    top: 5px;
    left: 0;
    width: 100%;
    border-top: 2px solid currentColor;
  }

  .elementor-location-header .elementor-element-c2b30bb,
  .elementor-location-header .elementor-element-3ecb81a {
    display: none !important;
    width: 100% !important;
  }

  .elementor-location-header.mobile-menu-open .elementor-element-c2b30bb {
    display: block !important;
    grid-column: 1 / -1;
    grid-row: 2;
    margin-top: 12px;
  }

  .elementor-location-header.mobile-menu-open .elementor-element-3ecb81a {
    display: flex !important;
    grid-column: 1 / -1;
    grid-row: 3;
    margin-top: 10px;
  }

  .elementor-location-header .elementor-element-c2b30bb .elementor-nav-menu--main,
  .elementor-location-header .elementor-element-c2b30bb .elementor-nav-menu {
    display: block !important;
    width: 100% !important;
  }

  .elementor-location-header .elementor-element-c2b30bb .elementor-nav-menu > li {
    display: block !important;
    width: 100%;
  }

  .elementor-location-header .elementor-element-c2b30bb .elementor-item {
    display: block !important;
    padding: 11px 12px !important;
    text-align: left;
    font-size: 15px !important;
  }

  .elementor-location-header .elementor-element-c2b30bb .elementor-nav-menu--dropdown {
    display: none !important;
  }

  .elementor-location-header .elementor-element-3ecb81a,
  .elementor-location-header .elementor-element-2c70198 {
    height: auto !important;
    min-height: 0 !important;
  }

  .elementor-location-header .elementor-element-2c70198 {
    width: 100% !important;
    margin: 0 !important;
    padding: 10px 12px !important;
  }

  .trp-language-switcher.trp-floating-switcher {
    position: absolute !important;
    top: 8px !important;
    right: 68px !important;
    z-index: 101 !important;
  }

  /* The home hero's fixed height cut the buttons and certifications. */
  [data-id="2f81637"] {
    height: auto !important;
    min-height: 0 !important;
  }

  [data-id="2f81637"] > [data-id="18cd4ad"] {
    height: auto !important;
    min-height: 0 !important;
  }

  [data-id="4bc09a6"] { flex-wrap: wrap !important; }
  [data-id="4bc09a6"] > .elementor-element { flex: 1 1 130px; }
  [data-id="4bc09a6"] .elementor-button { width: 100%; }
  [data-id="fa9f6d1"] p { text-align: left !important; }

  /* The separately built medical page uses a small custom header. */
  .top .nav {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px;
    align-items: center;
    gap: 0;
    min-height: 70px;
    padding: 12px 16px;
  }

  .top .brand { grid-column: 1; grid-row: 1; justify-self: start; }
  .top .brand img { width: 175px !important; }
  .medical-menu-toggle { grid-column: 2; grid-row: 1; justify-self: end; }
  .top .nav > .links { display: none !important; }
  .top.mobile-menu-open .nav > .links {
    display: flex !important;
    grid-column: 1 / -1;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin-top: 10px;
    padding: 0;
    font-size: 15px;
  }

  .top.mobile-menu-open .nav > .links a {
    display: block;
    padding: 10px 12px;
  }

  .top.mobile-menu-open .nav > .links.member { margin-top: 8px; }
}

@media (min-width: 768px) {
  .static-mobile-menu-toggle,
  .medical-menu-toggle { display: none !important; }
}

@media (max-width: 360px) {
  .elementor-location-header .elementor-element-e92c051 img { width: 140px !important; }
  .trp-language-switcher.trp-floating-switcher { right: 60px !important; }
}
