/* WordPress and Contact Form 7 integration. */
.footer-menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

.header-inner {
  position: relative;
}

@media (min-width: 821px) {
  .site-header .has-mega {
    position: static;
  }

  .site-header .mega-menu {
    top: calc(100% + 1px);
    left: 50%;
    width: min(940px, calc(100vw - 48px));
  }
}

.custom-logo-link {
  display: block;
  line-height: 0;
}

.custom-logo {
  width: auto;
  height: 32px;
}

.zi-cf7-embed .wpcf7,
.zi-cf7-embed .wpcf7-form,
.zi-cf7-embed .wpcf7-form label,
.zi-cf7-embed .wpcf7-form label > span:first-child {
  display: block;
}

.zi-cf7-embed .wpcf7-form label > span:first-child {
  margin-bottom: 7px;
  color: var(--dark);
  font-size: .9rem;
  font-weight: 700;
}

.zi-cf7-embed .wpcf7-form-control-wrap {
  display: block;
}

.zi-cf7-embed .wpcf7-not-valid-tip {
  margin: -10px 0 14px;
  color: #b42318;
  font-size: .84rem;
}

.zi-cf7-embed .wpcf7-list-item {
  margin: 0;
}

.zi-cf7-embed .wpcf7-acceptance .wpcf7-list-item > label {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-bottom: 20px;
  color: var(--text-muted);
  font-size: .88rem;
}

.zi-cf7-embed .wpcf7-acceptance a {
  color: var(--primary);
  text-decoration: underline;
}

.zi-cf7-embed .wpcf7-response-output {
  margin: 16px 0 0 !important;
  padding: 14px 16px !important;
  border: 1px solid var(--border) !important;
  border-radius: 10px;
  background: #fff;
  color: var(--dark);
  font-weight: 700;
}

.zi-cf7-embed .wpcf7-spinner {
  margin: 12px 0 0 12px;
}

.admin-bar .site-header {
  top: 32px;
}

.footer-grid > * {
  min-width: 0;
}

.footer-menu a {
  overflow-wrap: anywhere;
}

@media (max-width: 782px) {
  .admin-bar .site-header {
    top: 46px;
  }
}
