/* Shared AR-GO Security website header and footer. */
.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  background: #fff;
  border-bottom: 1px solid #eceef0;
}
.header-inner {
  width: min(1500px, calc(100% - 32px));
  min-height: 88px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 24px;
}
.site-brand {
  display: inline-flex;
  align-items: center;
}
.site-brand img {
  display: block;
  width: 220px;
  height: auto;
}
.header-navigation {
  display: flex;
  align-items: center;
  gap: 20px;
  min-width: 0;
}
.primary-menu,
.company-dropdown {
  margin: 0;
  padding: 0;
  list-style: none;
}
.primary-menu {
  display: flex;
  flex: 1;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
  gap: 0 clamp(12px, 1.2vw, 20px);
  font: 400 13px/1.4 Arial, sans-serif;
  color: #3f3f3f;
}
.primary-menu > li > a,
.company-menu summary {
  display: block;
  padding-block: 14px;
  white-space: nowrap;
}
.primary-menu a:hover,
.company-menu summary:hover {
  color: #009ef9;
}
.company-menu {
  position: relative;
}
.company-menu summary {
  cursor: pointer;
  list-style: none;
}
.company-menu summary::-webkit-details-marker {
  display: none;
}
.company-menu summary span {
  margin-left: 6px;
}
.company-dropdown {
  position: absolute;
  right: 0;
  top: 100%;
  width: 220px;
  background: #fff;
  border: 1px solid #e2e6eb;
  box-shadow: 0 12px 30px #25273714;
}
.company-dropdown a,
.company-dropdown span {
  display: block;
  padding: 14px 16px;
}
.company-dropdown li + li {
  border-top: 1px solid #e9ecf0;
}
.company-dropdown span {
  color: #71767e;
}
.header-contact,
.footer-social {
  display: flex;
  align-items: center;
  gap: 20px;
}
.header-contact {
  color: #929497;
}
.header-contact a,
.footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 32px;
}
.header-contact svg,
.footer-social svg {
  width: 20px;
  height: 20px;
}
.header-contact a:hover {
  color: #009ef9;
}
.header-worktrack {
  flex: 0 0 auto;
  padding: 14px 8px;
  color: #009ef9;
  text-align: center;
  font: 400 14px/1.1 Arial, sans-serif;
  white-space: nowrap;
}
.header-worktrack br {
  display: none;
}
.header-worktrack:hover {
  color: #fff;
  background: #009ef9;
}
.menu-toggle {
  display: none;
}
.main-content {
  scroll-margin-top: 108px;
}
.site-footer {
  padding-block: 64px;
  color: #f4f4f4;
  background: #231f20;
  font-size: 14px;
  line-height: 1.85;
}
.footer-inner {
  width: min(1024px, calc(100% - 64px));
  margin-inline: auto;
  display: grid;
  grid-template-columns: 112px minmax(0, 1.6fr) minmax(0, .95fr) minmax(0, 1fr);
  gap: 40px;
  align-items: start;
}
.footer-brand {
  display: block;
}
.footer-brand img {
  display: block;
  width: 109px;
  height: auto;
}
.site-footer h2 {
  margin: 0 0 20px;
  color: #00afea;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.5;
  text-wrap: initial;
}
.footer-center address {
  font-style: normal;
  line-height: 1.85;
}
.footer-contact-list,
.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-contact-list {
  margin-top: 30px;
}
.footer-contact-list a {
  overflow-wrap: anywhere;
}
.footer-center-english {
  margin-top: 48px;
}
.footer-center-english h2 {
  font-family: Arial, sans-serif;
  font-weight: 700;
}
.site-footer a:hover {
  color: #34c7ff;
}
.footer-links a,
.footer-links span {
  display: inline-block;
  padding-block: 2px;
}
.footer-line-qr {
  display: block;
  width: 88px;
  height: auto;
  margin-top: 40px;
}
.footer-services {
  text-align: center;
}
.footer-social {
  justify-content: center;
  margin-top: 40px;
  gap: 20px;
}
.footer-copyright {
  margin-top: 12px;
  font-size: 13px;
  white-space: nowrap;
}
.footer-group-logos {
  display: block;
  width: 170px;
  height: auto;
  margin: 16px auto 0;
}
.back-to-top {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 20;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  color: #fff;
  background: #00afea;
  border-radius: 50%;
  box-shadow: 0 3px 12px #0002;
}
.back-to-top:hover {
  background: #008fc9;
}
.back-to-top svg {
  width: 28px;
  height: 28px;
  stroke-width: 2.5;
}
@media (max-width: 1250px) {
  .header-contact {
    display: none;
  }
  .header-navigation {
    gap: 20px;
  }
  .primary-menu {
    column-gap: 16px;
  }
  .footer-inner {
    gap: 32px;
  }
}
@media (max-width: 1100px) {
  .site-brand img {
    width: 190px;
  }
  .header-inner {
    gap: 16px;
  }
  .primary-menu {
    font-size: 12px;
    column-gap: 12px;
  }
}
@media (max-width: 1000px) {
  .header-inner {
    width: calc(100% - 40px);
    min-height: 84px;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: 84px auto;
    gap: 0 16px;
  }
  .site-brand img {
    width: 220px;
  }
  .menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 44px;
    min-height: 44px;
    padding: 8px;
    border: 0;
    background: transparent;
    color: #3f3f3f;
    font-size: 13px;
  }
  .menu-toggle svg {
    width: 20px;
    height: 20px;
  }
  .header-navigation {
    grid-column: 1 / -1;
    width: 100%;
    max-height: calc(100dvh - 100px);
    overflow-y: auto;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    padding: 12px 0 24px;
    border-top: 1px solid #edf0f3;
  }
  .site-header[data-menu-ready]:not(.menu-open) .header-navigation {
    display: none;
  }
  .primary-menu {
    display: block;
    flex: none;
    font-size: 13px;
  }
  .primary-menu > li > a,
  .company-menu summary {
    padding: 14px 8px;
  }
  .company-dropdown {
    position: static;
    width: 100%;
    border: 0;
    box-shadow: none;
    padding-left: 16px;
    background: #f6f8fa;
  }
  .header-contact {
    display: flex;
    padding-left: 8px;
  }
  .header-worktrack {
    flex: none;
    width: 100%;
    padding: 14px;
    border: 1px solid #cfe9f8;
    background: #f0faff;
    line-height: 1.4;
  }
  .header-worktrack br {
    display: none;
  }
  .footer-inner {
    width: calc(100% - 48px);
    grid-template-columns: 100px minmax(0, 1.4fr) minmax(0, 1fr);
    gap: 32px;
  }
  .footer-brand img {
    width: 96px;
  }
  .footer-services {
    grid-column: 3;
    text-align: left;
  }
  .footer-centers {
    grid-row: span 2;
  }
  .footer-social {
    justify-content: flex-start;
  }
  .footer-group-logos {
    margin-left: 0;
  }
}
@media (max-width: 600px) {
  .header-inner {
    width: calc(100% - 32px);
    min-height: 76px;
    grid-template-rows: 76px auto;
  }
  .site-brand img {
    width: min(210px, 100%);
  }
  .site-footer {
    padding-block: 40px;
    font-size: 13px;
  }
  .footer-inner {
    width: calc(100% - 48px);
    grid-template-columns: minmax(0, 1fr);
    gap: 36px;
  }
  .footer-brand img {
    width: 86px;
  }
  .footer-centers {
    grid-row: auto;
  }
  .site-footer h2 {
    font-size: 20px;
    margin-bottom: 16px;
  }
  .footer-contact-list {
    margin-top: 24px;
  }
  .footer-center-english {
    margin-top: 32px;
  }
  .footer-services {
    grid-column: auto;
  }
  .footer-links li {
    min-height: 36px;
  }
  .footer-links a,
  .footer-links span {
    padding-block: 6px;
  }
  .footer-line-qr,
  .footer-social {
    margin-top: 24px;
  }
  .back-to-top {
    right: 16px;
    bottom: 16px;
    width: 42px;
    height: 42px;
  }
}
