/* Keep desktop header navigation on one line across locales. */
html {
  scrollbar-gutter: stable;
}

body.modal-open {
  padding-right: 0 !important;
}

body.modal-open .ak-site_header,
body.modal-open .ak-sticky_header {
  padding-right: 0 !important;
  margin-right: 0 !important;
}

#edkPromoModal .modal-content {
  box-shadow: none;
}

@media screen and (min-width: 1200px) {
  .ak-site_header.ak-style1 .ak-main_header_in {
    flex-wrap: nowrap;
    gap: 16px;
    min-height: 90px;
  }

  .ak-site_header.ak-style1 .ak-main-header-left {
    flex: 0 0 auto;
  }

  .ak-site_header.ak-style1 .ak-site_branding img {
    max-height: 50px;
    width: auto;
  }

  .ak-site_header.ak-style1 .ak-main-header-center {
    flex: 1 1 auto;
    min-width: 0;
    justify-content: center;
  }

  .ak-site_header.ak-style1 .ak-main-header-right {
    flex: 0 0 auto;
  }

  .ak-site_header.ak-style1 .ak-main-header-right h6 {
    font-size: 15px;
    white-space: nowrap;
  }

  .ak-nav .ak-nav_list.ak-nav_list--nowrap {
    flex-wrap: nowrap !important;
    justify-content: center;
  }

  .ak-nav .ak-nav_list.ak-nav_list--nowrap > li {
    margin-right: 16px;
    flex: 0 0 auto;
    height: auto;
  }

  .ak-nav .ak-nav_list.ak-nav_list--nowrap > li:last-child {
    margin-right: 0;
  }

  .ak-nav .ak-nav_list.ak-nav_list--nowrap > li > a {
    white-space: nowrap;
    font-size: 14px;
    letter-spacing: 0.02em;
  }
}

@media screen and (min-width: 1500px) {
  .ak-site_header.ak-style1 .ak-site_branding img {
    max-height: 56px;
  }

  .ak-nav .ak-nav_list.ak-nav_list--nowrap > li {
    margin-right: 22px;
  }

  .ak-nav .ak-nav_list.ak-nav_list--nowrap > li > a {
    font-size: 15px;
  }

  .ak-site_header.ak-style1 .ak-main-header-right h6 {
    font-size: 16px;
  }
}

@media screen and (min-width: 1200px) and (max-width: 1499px) {
  .ak-nav .ak-nav_list.ak-nav_list--nowrap > li {
    margin-right: 14px;
  }

  .ak-nav .ak-nav_list.ak-nav_list--nowrap > li > a {
    font-size: 13px;
  }

  .ak-site_header.ak-style1 .ak-site_branding img {
    max-height: 46px;
  }
}

/* Service pages: keep sidebar in document flow so it cannot overlap the footer.
   Exclude homepage `.content.style_2` layout. */
@media screen and (min-width: 1450px) {
  .sticky-content:not(:has(> .content.style_2)) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 400px);
    gap: 40px;
    align-items: start;
    width: 100%;
    position: relative;
    flex-direction: unset;
  }

  .sticky-content:not(:has(> .content.style_2)) .content {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    padding-right: 0 !important;
  }

  .sticky-content:not(:has(> .content.style_2)) .sidebar,
  .sticky-content:not(:has(> .content.style_2)) .sidebar.fixed {
    position: sticky !important;
    top: 110px !important;
    width: auto !important;
    max-width: 400px;
    float: none !important;
    align-self: start;
  }

  .sticky-content:not(:has(> .content.style_2)) .sidebar .service-card-style-2 {
    width: 100% !important;
    max-width: 400px;
    box-sizing: border-box;
  }

  .sticky-content:not(:has(> .content.style_2)) .sidebar img {
    width: 100%;
    height: auto;
    max-height: 220px;
    object-fit: cover;
    display: block;
  }
}

/* Footer: wrap columns so many menus do not crush into each other. */
.footer.style-1 .footer-content {
  display: flex;
  flex-wrap: wrap;
  gap: 36px 48px;
  justify-content: flex-start;
  align-items: flex-start;
}

.footer.style-1 .footer-content > * {
  flex: 1 1 180px;
  min-width: 160px;
  max-width: 260px;
}

.footer.style-1 .footer-content .footer-info {
  flex: 1 1 280px;
  max-width: 360px;
}

.footer.style-1 .footer-content .footer-address {
  flex: 1 1 220px;
  max-width: 280px;
}

.footer.style-1 .footer-content .footer-info .phone {
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.15;
}

.footer.style-1 .footer-content .footer-menu .menu-item,
.footer.style-1 .footer-content .footer-address a,
.footer.style-1 .footer-content .footer-address .date {
  line-height: 1.45;
  word-break: break-word;
}

@media screen and (max-width: 991px) {
  .footer.style-1 .footer-content > * {
    flex: 1 1 45%;
    max-width: 100%;
  }
}

@media screen and (max-width: 575px) {
  .footer.style-1 .footer-content > * {
    flex: 1 1 100%;
  }
}
