/* ==========================================================================
   Global Overrides — Salient theme fixes, navigation, footer, utilities
   Migrated from Salient Theme Options → Custom CSS Code
   Migrated from Appearance → Additional CSS
   ========================================================================== */

/* ==========================================================================
   HEADER & NAVIGATION
   ========================================================================== */

body #header-outer .container {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* Center dropdown under specific menu item */
li.menu-item-493999032 > ul.sub-menu.tracked-pos {
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%);
  max-width: calc(100vw - 32px);
}

@media only screen and (min-width: 1000px) {
  #header-outer,
  #header-outer #top,
  #header-space {
    height: 63px !important;
    max-height: 63px !important;
  }
}

@media only screen and (max-width: 999px) {
  #header-outer,
  #header-outer #top,
  #header-space {
    height: 27px !important;
  }
}

@media only screen and (min-width: 1000px) {
  #header-outer #logo,
  #header-outer .logo-clone,
  #header-outer .logo-spacing {
    margin-top: 18px;
    margin-bottom: 12px;
    position: relative;
  }
}

#header-outer #logo img {
  max-height: 27px !important;
  height: 27px !important;
  width: auto !important;
}

/* Main header menu item text size */
#header-outer #top nav .sf-menu > li > a .menu-title-text {
  font-size: 16px !important;
  font-weight: 500 !important;
}

/* Tighten spacing between Sign In / Pricing / Demo / Search */
#header-outer #top nav > ul.buttons > li > a {
  margin-right: 6px !important;
  margin-left: 6px !important;
}

@media (max-width: 1280px) {
  body #header-outer a.sf-with-ul {
    margin-left: 12px !important;
    margin-right: 12px !important;
  }
}

@media screen and (min-width: 1000px) and (max-width: 1040px) {
  #header-outer[data-lhe="animated_underline"] #top nav > ul > li > a {
    margin-left: 10px !important;
    margin-right: 10px !important;
  }
}

/* Override Salient mega menu active heading highlight */
#header-outer:not([data-format="left-header"]) nav > ul > .megamenu > ul > .current-menu-ancestor.menu-item-has-children > a {
  color: inherit !important;
}

.lc-sign-in {
  margin-right: 10px !important;
}

/* Column width (column wrapper stays the same) */
#header-outer .menu-item-by-focus {
  min-width: 360px;
}

/* Remove vertical spacing from mega menu column headers */
#header-outer #top nav ul.sub-menu > li.menu-item-has-children > a.sf-with-ul,
#header-outer #top nav ul.sub-menu > li.menu-item-has-children > a.sf-with-ul span.menu-title-text {
  margin-left: 0 !important;
}

/* Only affect the BY FEATURE mega menu */
#header-outer #top nav li.menu-item-by-feature ul.sub-menu li a .item_desc {
  font-size: 12px !important;
}

/* Reduce vertical spacing between BY FEATURE menu items */
#header-outer #top nav li.menu-item-by-feature ul.sub-menu > li {
  margin: 0 !important;
  padding: 0 !important;
}

#header-outer #top nav li.menu-item-by-feature ul.sub-menu > li > a {
  padding-top: 2px !important;
  padding-bottom: 2px !important;
  line-height: 1 !important;
}

/* ==========================================================================
   MEGA MENU — BY FOCUS CARDS (3 ITEMS ONLY)
   Icon chip LEFT (48x48), text RIGHT, aligned & consistent height.
   ========================================================================== */

body #header-outer #top nav .sf-menu ul li.menu-item-by-focus ul > li.menu-item-focus-policy > a,
body #header-outer #top nav .sf-menu ul li.menu-item-by-focus ul > li.menu-item-focus-government > a,
body #header-outer #top nav .sf-menu ul li.menu-item-by-focus ul > li.menu-item-focus-contracting > a {
  position: relative !important;
  overflow: hidden !important;
  padding: 24px !important;
  margin-bottom: 20px !important;
  border-radius: 16px !important;
  text-decoration: none !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

body #header-outer #top nav .sf-menu ul li.menu-item-by-focus ul > li.menu-item-focus-policy > a:hover,
body #header-outer #top nav .sf-menu ul li.menu-item-by-focus ul > li.menu-item-focus-government > a:hover,
body #header-outer #top nav .sf-menu ul li.menu-item-by-focus ul > li.menu-item-focus-contracting > a:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}

body #header-outer #top nav .sf-menu ul li.menu-item-by-focus ul > li.menu-item-focus-policy > a .inner-content,
body #header-outer #top nav .sf-menu ul li.menu-item-by-focus ul > li.menu-item-focus-government > a .inner-content,
body #header-outer #top nav .sf-menu ul li.menu-item-by-focus ul > li.menu-item-focus-contracting > a .inner-content {
  position: relative !important;
  padding-left: 64px !important;
  min-height: 48px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 6px !important;
  text-align: left !important;
}

body #header-outer #top nav .sf-menu ul li.menu-item-by-focus ul > li.menu-item-focus-policy > a img.nectar-menu-icon-img,
body #header-outer #top nav .sf-menu ul li.menu-item-by-focus ul > li.menu-item-focus-government > a img.nectar-menu-icon-img,
body #header-outer #top nav .sf-menu ul li.menu-item-by-focus ul > li.menu-item-focus-contracting > a img.nectar-menu-icon-img {
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  padding: 12px !important;
  box-sizing: content-box !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.18) !important;
  display: block !important;
}

body #header-outer #top nav .sf-menu ul li.menu-item-by-focus ul > li.menu-item-focus-policy > a .menu-title-text,
body #header-outer #top nav .sf-menu ul li.menu-item-by-focus ul > li.menu-item-focus-government > a .menu-title-text,
body #header-outer #top nav .sf-menu ul li.menu-item-by-focus ul > li.menu-item-focus-contracting > a .menu-title-text {
  display: block !important;
  margin: 0 !important;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.25;
}

body #header-outer #top nav .sf-menu ul li.menu-item-by-focus ul > li.menu-item-focus-policy > a .menu-item-desc,
body #header-outer #top nav .sf-menu ul li.menu-item-by-focus ul > li.menu-item-focus-government > a .menu-item-desc,
body #header-outer #top nav .sf-menu ul li.menu-item-by-focus ul > li.menu-item-focus-contracting > a .menu-item-desc {
  display: block !important;
  margin: 0 !important;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  opacity: 0.95;
}

body #header-outer #top nav .sf-menu ul li.menu-item-by-focus ul > li.menu-item-focus-policy > a .nectar-menu-icon-text::before,
body #header-outer #top nav .sf-menu ul li.menu-item-by-focus ul > li.menu-item-focus-government > a .nectar-menu-icon-text::before,
body #header-outer #top nav .sf-menu ul li.menu-item-by-focus ul > li.menu-item-focus-contracting > a .nectar-menu-icon-text::before {
  content: none !important;
}

/* ==========================================================================
   MEGA MENU — SOLUTIONS COLUMN PADDING
   ========================================================================== */

body #header-outer #top nav .sf-menu > li.megamenu > ul > li {
  padding: 32px !important;
  box-sizing: border-box;
}

/* ==========================================================================
   MEGA MENU — IMAGE ICON LIST ITEMS (GLOBAL)
   ========================================================================== */

body #header-outer #top nav .sf-menu ul li > a.nectar-menu-item-with-icon {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
}

body #header-outer #top nav .sf-menu ul li.menu-item-about-data-item > a.nectar-menu-item-with-icon,
body #header-outer #top nav .sf-menu ul li.menu-item-resources-insights > a.nectar-menu-item-with-icon {
  align-items: center !important;
}

body #header-outer #top nav .sf-menu ul li > a.nectar-menu-item-with-icon > img.nectar-menu-icon-img {
  width: 48px !important;
  height: 48px !important;
  flex: 0 0 48px !important;
  object-fit: contain !important;
  display: block !important;
}

body #header-outer #top nav .sf-menu ul li > a.nectar-menu-item-with-icon > span.nectar-menu-icon-text {
  display: flex !important;
  flex-direction: column !important;
}

body #header-outer #top nav .sf-menu ul li > a.nectar-menu-item-with-icon .menu-title-text {
  margin-bottom: 6px !important;
}

body #header-outer #top nav .sf-menu ul li.menu-item-about-data-item > a.nectar-menu-item-with-icon .menu-title-text,
body #header-outer #top nav .sf-menu ul li.menu-item-resources-insights > a.nectar-menu-item-with-icon .menu-title-text {
  margin-bottom: 0 !important;
}

body #header-outer #top nav .sf-menu ul li > a.nectar-menu-item-with-icon .item_desc {
  margin-top: 0 !important;
  line-height: 1.35 !important;
}

/* ==========================================================================
   DROPDOWN MENUS
   ========================================================================== */

/* Resources — wide + 2 columns */
body #header-outer #top nav .sf-menu > li.menu-item-resources > ul {
  width: 840px !important;
  max-width: calc(100vw - 60px) !important;
  padding: 32px !important;
  box-sizing: border-box !important;
  column-count: 2 !important;
  column-gap: 32px !important;
}

body #header-outer #top nav .sf-menu > li.menu-item-resources > ul > li {
  display: inline-block !important;
  width: 100% !important;
  float: none !important;
  -webkit-column-break-inside: avoid !important;
  break-inside: avoid !important;
  margin: 0 0 20px 0 !important;
}

/* Events */
body #header-outer #top nav .sf-menu > li.menu-item-events > ul {
  width: 460px !important;
  max-width: calc(100vw - 60px) !important;
  padding: 32px !important;
}

/* About */
body #header-outer #top nav .sf-menu > li.menu-item-about > ul {
  width: 840px !important;
  max-width: calc(100vw - 60px) !important;
  padding: 32px !important;
}

body #header-outer #top nav .sf-menu > li.menu-item-about > ul > li {
  padding: 0 !important;
}

body #header-outer #top nav .sf-menu > li.menu-item-about > ul > li.menu-item-about-lc {
  width: 60% !important;
}

body #header-outer #top nav .sf-menu > li.menu-item-about > ul > li.menu-item-about-data {
  width: 40% !important;
}

/* Clients */
body #header-outer #top nav .sf-menu > li.menu-item-clients > ul {
  width: 460px !important;
  max-width: calc(100vw - 60px) !important;
  padding: 32px !important;
}

/* ==========================================================================
   HOME HERO
   ========================================================================== */

@media only screen and (min-width: 451px) {
  .home-hero-animation {
    aspect-ratio: 16 / 9;
    min-height: 450px;
    display: block;
  }
}

@media only screen and (max-width: 450px) {
  .home-hero-animation {
    display: none !important;
    min-height: 0;
  }
}

/* ==========================================================================
   BLOG
   ========================================================================== */

.excerpt {
  display: none;
}

#single-below-header {
  display: none;
}

.bottom-meta {
  display: none;
}

#author-bio {
  display: none;
}

/* ==========================================================================
   FOOTER
   ========================================================================== */

#footer-widgets .textwidget > p > a:nth-of-type(-n+2) {
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
}

#footer-widgets .textwidget > p > a:nth-of-type(-n+2) img {
  height: 38px;
  width: auto;
  display: inline-block;
}

#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge {
  display: flex;
  flex-direction: column;
}

#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge .widget {
  margin-bottom: 8px !important;
}

#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge #block-4,
#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge #block-5,
#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge #block-3 {
  margin: 0 !important;
  padding: 0 !important;
}

#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge h4 {
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
}

#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge p {
  margin: 0 !important;
  padding: 0 !important;
}

/* HubSpot form */
#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge .hbspt-form {
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
}

#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge .hbspt-form form {
  margin: 0 !important;
}

#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge .hbspt-form fieldset {
  max-width: 100% !important;
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge .hbspt-form .form-columns-2 {
  display: flex !important;
  gap: 6px !important;
}

#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge .hbspt-form .form-columns-2 .hs-form-field {
  width: 50% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge .hbspt-form .hs-form-field {
  margin: 0 !important;
  padding: 0 !important;
}

#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge .hbspt-form label:not(.hs-form-booleancheckbox-display) {
  display: none !important;
}

#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge .hbspt-form .input {
  margin: 0 !important;
}

#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge .hbspt-form input[type="text"],
#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge .hbspt-form input[type="email"] {
  width: 100% !important;
  height: 28px !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 5px 8px !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  color: #666 !important;
  background: #fff !important;
  border: 1px solid #d9d9d9 !important;
  border-radius: 3px !important;
  box-shadow: none !important;
}

#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge .hbspt-form input::placeholder {
  color: #8c8c8c !important;
  opacity: 1 !important;
}

#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge .legal-consent-container {
  margin: 2px 0 4px 0 !important;
  padding: 0 !important;
}

#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge .legal-consent-container p,
#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge .hs-form-booleancheckbox-display span {
  margin: 0 !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
  color: #d7d7d7 !important;
}

#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge .hs-form-booleancheckbox-display {
  display: flex !important;
  align-items: flex-start !important;
  gap: 6px !important;
}

#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge .hs-form-booleancheckbox-display input[type="checkbox"] {
  margin: 2px 0 0 0 !important;
  width: 12px !important;
  height: 12px !important;
  min-height: 12px !important;
}

#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge .hbspt-form .hs_submit,
#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge .hbspt-form .actions {
  margin: 4px 0 0 0 !important;
  padding: 0 !important;
}

#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge .hbspt-form .hs-button,
#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge .hbspt-form input[type="submit"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  background: #f47920 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  padding: 7px 14px !important;
  margin: 0 !important;
  height: auto !important;
  min-height: 0 !important;
}

/* App / QR block */
#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge .lc-footer-apps {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  gap: 12px !important;
  width: 100% !important;
  margin-top: 4px !important;
}

#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge .lc-footer-apps-left {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge .lc-footer-apps-right {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  margin-left: auto !important;
}

#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge .lc-footer-apps img {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  max-width: none !important;
  height: auto !important;
}

#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge .lc-app-badge {
  width: 88px !important;
}

#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge .lc-qr {
  width: 84px !important;
}

#footer-outer #footer-widgets .col.span_3.one-fourths.right-edge .lc-qr-caption {
  margin-top: 4px !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  color: #d7d7d7 !important;
  text-align: center !important;
  max-width: 150px !important;
}

/* ==========================================================================
   PAGE SECTIONS (require Extra class name in WPBakery editor)
   ========================================================================== */

.congress-module img.wp-image-131880186 {
  margin: 0 auto !important;
}

.congress-module .wpb_content_element {
  margin-bottom: 0 !important;
}

.congress-module .vc_custom_heading,
.congress-module h4.vc_do_custom_heading {
  font-size: 12px !important;
  font-weight: 700 !important;
  text-align: center !important;
  margin-top: 20px !important;
  margin-bottom: 3px !important;
  color: #333333 !important;
  font-family: "Open Sans" !important;
  letter-spacing: 2px !important;
}

.congress-module .nectar-button {
  margin-top: 2px !important;
  margin-bottom: 0 !important;
}

.lc-call-to-action .wpb_wrapper h2.vc_custom_heading {
  font-size: 48px !important;
  line-height: 56px !important;
}

/* ==========================================================================
   MISC GLOBAL UTILITIES (require Extra class name where noted)
   ========================================================================== */

#call-to-action > div > a {
  color: black !important;
}

#footer-outer .nectar-button:hover {
  color: black !important;
}

.h4-mulish {
  font-family: Mulish !important;
  font-size: 28px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 36px !important;
}

.lc-action-btn {
  font-family: Rubik !important;
  font-size: 22px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 30px !important;
  padding-right: 48px !important;
}

.nectar-button.lc-action-btn.has-icon i {
  font-size: 20px !important;
  line-height: 40px !important;
  height: 40px !important;
  width: 40px !important;
  right: 16px !important;
}

.lc-action-btn-sm {
  font-family: Rubik !important;
  font-size: 16px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 24px !important;
}

.card-icon-badge {
  width: 64px !important;
  height: 64px !important;
  background: #ffffff;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Chromeless webview: the fixed header spacer is not rendered. */
body.lc-chromeless,
body.lc-chromeless #ajax-content-wrap {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
