/*
 * Good Soup Mega Menu
 * This CSS is intentionally lightweight and theme-friendly.
 * Override colors, spacing, max-width, and mobile breakpoint in your theme as needed.
 */

.gsc-has-mega-menu {
	position: static;
}

.gsc-has-mega-menu > a {
	cursor: pointer;
}

.gsc-mega-menu {
	position: absolute;
	top: 100%;
	left: 50%;
	z-index: 1000;
	width: min(1440px, calc(100vw - 48px));
	transform: translateX(-50%) translateY(12px);
	background: #fff;
	border-top: 1px solid #e2e2e2;
	box-shadow: 0 24px 48px rgba(0, 0, 0, 0.06);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
}

.gsc-has-mega-menu:hover > .gsc-mega-menu,
.gsc-has-mega-menu:focus-within > .gsc-mega-menu,
.gsc-has-mega-menu.is-mega-open > .gsc-mega-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateX(-50%) translateY(0);
}

.gsc-mega-menu__inner {
	display: grid;
	gap: 60px;
	padding: 24px 16px 56px;
}

.gsc-mega-menu--2 .gsc-mega-menu__inner {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gsc-mega-menu--3 .gsc-mega-menu__inner {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gsc-mega-menu--4 .gsc-mega-menu__inner {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gsc-mega-menu__column {
	min-width: 0;
}

.gsc-mega-menu__heading {
	margin: 0 0 8px;
	color: #24378f;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.25;
	text-transform: uppercase;
}

.gsc-mega-menu__links {
	display: grid;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gsc-mega-menu__links a {
	display: inline-block;
	color: #24378f;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.35;
	text-decoration: none;
}

.gsc-mega-menu__links a:hover,
.gsc-mega-menu__links a:focus-visible {
	color: #111f6d;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.gsc-mega-menu__feature {
	margin-top: 18px;
}

.gsc-mega-menu__feature-image {
	display: block;
	width: 100%;
	height: 118px;
	object-fit: cover;
	margin-bottom: 18px;
}

.gsc-mega-menu__feature-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #24378f;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
}

.gsc-mega-menu__feature-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 2px solid currentColor;
	border-radius: 999px;
	font-size: 22px;
	line-height: 1;
}

.gsc-mega-menu__feature-link:hover,
.gsc-mega-menu__feature-link:focus-visible {
	color: #111f6d;
}
.gsc-mega-menu__see-more {
	display: inline-flex;
	align-items: center;
	margin-top: 16px;
	margin-left: 8px;
	color: #24378f;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
}

.gsc-mega-menu__see-more:hover,
.gsc-mega-menu__see-more:focus-visible {
	color: #111f6d;
	text-decoration: none;
}
/* Pendo-style feature card support */
.gsc-mega-menu__column--feature {
	align-self: start;
}

.gsc-mega-menu__feature {
	margin: 0;
}

.gsc-mega-menu__feature-heading {
	margin: 18px 0 12px;
	color: #111827;
	font-size: 24px;
	font-weight: 800;
	line-height: 1.15;
}

.gsc-mega-menu__feature-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 16px;
	color: #24378f;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
}

.gsc-mega-menu__feature-cta:hover,
.gsc-mega-menu__feature-cta:focus-visible {
	color: #111f6d;
	text-decoration: none;
}

.gsc-mega-menu__feature-description {
	color: #333;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.45;
}

.gsc-mega-menu__feature-description p {
	margin: 0;
}

/* Dynamic content columns: Upcoming Events and Latest Articles */
.gsc-mega-menu__events,
.gsc-mega-menu__articles {
	display: grid;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gsc-mega-menu__event,
.gsc-mega-menu__article {
	margin: 0;
	padding: 0;
}

.gsc-mega-menu__event-link,
.gsc-mega-menu__article-link {
	display: block;
	width: 100%;
	color: inherit;
	text-decoration: none;
	padding: 8px 10px;
	background: transparent;
	transition: color 0.2s ease, background-color 0.2s ease;
}

.gsc-mega-menu__event-link:hover,
.gsc-mega-menu__event-link:focus-visible,
.gsc-mega-menu__article-link:hover,
.gsc-mega-menu__article-link:focus-visible {
	color: #fff;
	background: #24378f;
	text-decoration: none;
}

.gsc-mega-menu__event-date,
.gsc-mega-menu__article-date {
	display: block;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin: 0 0 5px;
}

.gsc-mega-menu__event-title,
.gsc-mega-menu__article-title {
	display: block;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.25;
	text-transform: none;
}


/* =========================================================
   MOBILE / TABLET MENU SUPPORT
   Visual styling intentionally matches the theme mobile menu.
   Tablet uses the exact same #menu-mobile treatment as mobile.
========================================================= */
@media (max-width: 1199px) {
  #menu-mobile {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 0 20px 0 !important;
    width: 100%;
    font-family: proxima-nova, sans-serif !important;
    text-transform: uppercase;
    background-color: #ffffff;
  }

  #menu-mobile ul,
  #menu-mobile li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #menu-mobile > li {
    position: relative !important;
    border-bottom: 1px solid #eaeaea !important;
  }

  #menu-mobile > li:last-of-type {
    border-bottom: 0 !important;
  }

  #menu-mobile > li > a {
    display: block !important;
    position: relative !important;
    color: #191919 !important;
    background: #ffffff !important;
    font-family: proxima-nova, sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    padding: 15px 72px 15px 30px !important;
  }

  #menu-mobile > li > a:hover,
  #menu-mobile > li > a:focus,
  #menu-mobile > li.current-menu-item > a,
  #menu-mobile > li.current-menu-ancestor > a,
  #menu-mobile > li.is-mega-open > a {
    color: #191919 !important;
    background: #ffffff !important;
    text-decoration: none !important;
  }

  #menu-mobile > li.gsc-has-mega-menu > a::after,
  #menu-mobile > li.menu-item-has-mega-menu > a::after,
  #menu-mobile > li.menu-item-has-children > a::after {
    content: "\f078" !important;
    font-family: "Font Awesome 7 Pro", "Font Awesome 6 Pro" !important;
    font-weight: 400 !important;
    position: absolute !important;
    top: 50% !important;
    right: 30px !important;
    transform: translateY(-50%) !important;
    color: #191919 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    width: auto !important;
    height: auto !important;
    border: 0 !important;
    margin: 0 !important;
  }

  #menu-mobile > li.gsc-has-mega-menu.is-mega-open > a::after,
  #menu-mobile > li.menu-item-has-mega-menu.is-mega-open > a::after,
  #menu-mobile > li.menu-item-has-children.is-mega-open > a::after {
    content: "\f077" !important;
  }

  #menu-mobile > li::after,
  #menu-mobile .menu-toggle,
  #menu-mobile .submenu-toggle,
  #menu-mobile .dropdown-toggle,
  #menu-mobile .toggle,
  #menu-mobile .plus,
  #menu-mobile .minus,
  #menu-mobile .submenu-indicator,
  #menu-mobile .dropdown-indicator {
    display: none !important;
    content: none !important;
  }

  #menu-mobile .sub-menu,
  #menu-mobile .gsc-mega-menu,
  #menu-mobile .mega-menu {
    display: none;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    background: #ffffff !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  #menu-mobile > li.is-mega-open > .sub-menu,
  #menu-mobile > li.is-mega-open > .gsc-mega-menu,
  #menu-mobile > li.is-mega-open > .mega-menu {
    display: block;
  }

  #menu-mobile .gsc-mega-menu::before,
  #menu-mobile .mega-menu::before,
  #menu-mobile .gsc-mega-menu__inner::before,
  #menu-mobile .mega-menu__inner::before,
  #menu-mobile .gsc-mega-menu__inner::after,
  #menu-mobile .mega-menu__inner::after {
    display: none !important;
    content: none !important;
  }

  #menu-mobile .gsc-mega-menu__inner,
  #menu-mobile .mega-menu__inner {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
  }

  #menu-mobile .gsc-mega-menu__column,
  #menu-mobile .mega-menu__column {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 15px 30px !important;
    background: #ffffff !important;
    border: 0 !important;
  }

  #menu-mobile .gsc-mega-menu__feature-image,
  #menu-mobile .mega-menu__feature-image {
    display: none !important;
  }

  #menu-mobile .gsc-mega-menu__heading,
  #menu-mobile .mega-menu__heading {
    color: #0074c8 !important;
    font-family: proxima-nova, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.75px !important;
    text-transform: uppercase !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
  }

  #menu-mobile .gsc-mega-menu__links,
  #menu-mobile .mega-menu__links,
  #menu-mobile .gsc-mega-menu__events,
  #menu-mobile .mega-menu__events,
  #menu-mobile .gsc-mega-menu__articles,
  #menu-mobile .mega-menu__articles {
    display: block !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #menu-mobile .gsc-mega-menu__links li,
  #menu-mobile .mega-menu__links li,
  #menu-mobile .gsc-mega-menu__event,
  #menu-mobile .mega-menu__event,
  #menu-mobile .gsc-mega-menu__article,
  #menu-mobile .mega-menu__article {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1px;
  }

  #menu-mobile .gsc-mega-menu__links a,
  #menu-mobile .mega-menu__links a,
  #menu-mobile .gsc-mega-menu__event-link,
  #menu-mobile .mega-menu__event-link,
  #menu-mobile .gsc-mega-menu__article-link,
  #menu-mobile .mega-menu__article-link,
  #menu-mobile .sub-menu li a {
    display: block !important;
    width: 100% !important;
    color: #191919 !important;
    background: transparent !important;
    font-family: proxima-nova, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-decoration: none !important;
    padding: 6px 14px !important;
    margin-left: -14px !important;
    margin-right: -14px !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
  }

  #menu-mobile .gsc-mega-menu__links a:hover,
  #menu-mobile .gsc-mega-menu__links a:focus,
  #menu-mobile .mega-menu__links a:hover,
  #menu-mobile .mega-menu__links a:focus,
  #menu-mobile .gsc-mega-menu__event-link:hover,
  #menu-mobile .gsc-mega-menu__event-link:focus,
  #menu-mobile .mega-menu__event-link:hover,
  #menu-mobile .mega-menu__event-link:focus,
  #menu-mobile .gsc-mega-menu__article-link:hover,
  #menu-mobile .gsc-mega-menu__article-link:focus,
  #menu-mobile .mega-menu__article-link:hover,
  #menu-mobile .mega-menu__article-link:focus,
  #menu-mobile .sub-menu li a:hover,
  #menu-mobile .sub-menu li a:focus {
    color: #ffffff !important;
    background-color: #0074c8 !important;
    text-decoration: none !important;
  }

  #menu-mobile .gsc-mega-menu__event-link:hover *,
  #menu-mobile .mega-menu__event-link:hover *,
  #menu-mobile .gsc-mega-menu__article-link:hover *,
  #menu-mobile .mega-menu__article-link:hover * {
    color: #ffffff !important;
  }

  #menu-mobile .gsc-mega-menu__event-date,
  #menu-mobile .mega-menu__event-date,
  #menu-mobile .gsc-mega-menu__article-date,
  #menu-mobile .mega-menu__article-date {
    display: block !important;
    color: #191919 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.75px !important;
    text-transform: uppercase !important;
    margin: 0 0 4px !important;
  }

  #menu-mobile .gsc-mega-menu__event-title,
  #menu-mobile .mega-menu__event-title,
  #menu-mobile .gsc-mega-menu__article-title,
  #menu-mobile .mega-menu__article-title {
    color: #191919 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    margin: 0 !important;
  }

  #menu-mobile .gsc-mega-menu__feature,
  #menu-mobile .mega-menu__feature {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
  }

  #menu-mobile .gsc-mega-menu__feature-heading,
  #menu-mobile .mega-menu__feature-heading,
  #menu-mobile .gsc-mega-menu__feature-title,
  #menu-mobile .mega-menu__feature-title {
    color: #191919 !important;
    font-family: proxima-nova, sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
  }

  #menu-mobile .gsc-mega-menu__feature-description,
  #menu-mobile .mega-menu__feature-description,
  #menu-mobile .gsc-mega-menu__feature-description p,
  #menu-mobile .mega-menu__feature-description p {
    color: #191919 !important;
    font-family: proxima-nova, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
  }

  #menu-mobile .gsc-mega-menu__feature-cta,
  #menu-mobile .mega-menu__feature-cta,
  #menu-mobile .gsc-mega-menu__feature-link,
  #menu-mobile .mega-menu__feature-link {
    display: inline-flex !important;
    color: #f2542d !important;
    background: transparent !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    margin: 6px 0 0 !important;
    padding: 0 !important;
  }

  #menu-mobile .gsc-mega-menu__see-more,
  #menu-mobile .mega-menu__see-more {
    margin-left: 0 !important;
  }
}
