/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.1.1.1724282816
Updated: 2024-08-21 16:26:56

*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Spectral:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,200;1,300;1,400;1,500;1,600;1,700;1,800&display=swap');

/* Prevent horizontal overflow site-wide */
html,
body {
  overflow-x: clip;     /* better than hidden — doesn't break sticky positioning */
  max-width: 100%;
}

/* Fallback for older browsers that don't support overflow: clip */
@supports not (overflow: clip) {
  html, body {
    overflow-x: hidden;
  }
}

/* Catch common offenders */
img,
video,
iframe,
table {
  max-width: 100%;
}

/* LayerSlider — force the outer wrapper to clip its oversized inner */
.ls-fullscreen-wrapper,
.ls-wp-container {
  max-width: 100% !important;
  overflow-x: clip;
}

/* Swiper carousels — ensure the visible container clips translated slides */
.swiper,
.elementor-loop-container.swiper {
  overflow: hidden;
  max-width: 100%;
}

/* Elementor containers — prevent rogue negative margins from leaking */
.elementor-section,
.e-con,
.e-con-inner {
  max-width: 100%;
}


body {
    font-size: 18px;
}

b, strong {
  font-weight: 600;
}

.education-series-swiper .edu-card {
  direction: ltr;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5 {
  font-family: "Spectral", sans-serif !important;
  font-weight: 300;
  letter-spacing: -1.5px !important;
  font-optical-sizing: auto;
  font-style: normal;
}

h1, .h1 {
    font-size: 4em;
    font-weight: 600;
}

h1.accent, .h1.accent {
    color: #EADF8D;
}

h2, .h2 {
    font-size: 3.333em;
    color: #2E2E2E;
    font-weight: 600;
}

h2.accent, .h2.accent {
    color: #EADF8D;
}

h3, .h3 {
    font-size: 1.444em;
    color: #2E2E2E;
    font-weight: 500;
}

h4, .h4 {
    font-size: 1.2em;
}

h5, .h5 {
    font-size: 1em;
}

p span {
  font-family: "Inter", sans-serif !important
}

.btn {
    font-size: 1em;
    padding: 20px 40px;
    color: #fff;
    background-color: #EADF8D;
}

.btn.fullwidth {
    width: 100%;
    max-width: 100%;
}

.btn.btn-reversed {
    border: 1px solid #EADF8D;
    color: #EADF8D;
    background-color: transparent;
}

.homepage-banner {
    width: 100%;
    background-color: #E6F5FC;
    background-image: url(https://arthritisr2stg.wpengine.com/wp-content/uploads/Slider.png);
    background-size: cover;
}

.education-series-card {
    display: flex;
    padding: 10px;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    border-radius: 6px;
    border: 1px solid #D9D9D9;
    background: #FFF;
}

.user-stories-card {
    color: #EADF8D;
    text-align: center;
    font-family: Inter;
    font-size: 20px;
    font-style: normal;
    font-weight: 300;
    line-height: 140%; /* 28px */
    letter-spacing: -0.4px;
}

.bk-grey {
    background: #CBDAE1;
}

.bk-black {
    background: #CBDAE1;
}

/* Living with Arthritis */

.lwa-slider__container {
  max-width: 1100px;
  margin: 0 auto;
}
.lwa-swiper {
  padding: 120px 0;
}
.lwa-swiper .swiper-slide {
  margin-right: 10px;
}
.lwa-slide-card {
  background: #fff;
  border-radius: 12px;
  /* box-shadow: 0 2px 12px rgba(40,20,20,.07); */
  padding: 48px 36px 32px 36px;
  position: relative;
  text-align: center;
}
.lwa-slide-card__avatar {
  position: absolute;
  left: 50%;
  top: -110px;
  transform: translateX(-50%);
  background: #fff;
  border-radius: 50%;
  border: 2px solid #457C4B;
  width: 135px;
  height: 135px;
  box-shadow: 0 0 0 1px #ddd;
}
.lwa-slide-card__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}
.lwa-slide-card__subname {
  font-size: 24px!important;
  font-weight: 600!important;
  margin-bottom: 20px!important;
}
.lwa-slide-card__name {
  font-size: 32px!important;
  font-weight: 700!important;
  margin-bottom: 20px!important;
}
.lwa-slide-card__condition {
  display: inline-block;
  margin-bottom: 18px;
  background: #FCFCFC;
  color: #457C4B;
  border-radius: 7px;
  font-size: 15px;
  font-weight: 500;
  padding: 5px 14px;
}

.single-condition {
  display: block;
  margin-bottom: 18px;
  border-radius: 4px;
  background: rgba(235, 40, 106, 0.06);
  color: #457C4B;
  border-radius: 7px;
  font-size: 16px;
  font-weight: 500;
  padding: 6px 14px;
  text-align: center;
}

.lwa-slide-card__condition svg {
  vertical-align: middle;
  margin-right: 6px;
}
.lwa-slide-card__excerpt {
  font-size: 20px;
  font-weight: 300;
  color: #1B1D1C;
  margin-bottom: 20px;
  margin-top: 20px;
  line-height: 32px;
}
.lwa-slide-card__content {
  font-size: 1.03rem;
  color: #6d6e72;
  margin-bottom: 24px;
}
.lwa-btn {
  margin-top: 12px;
  display: block;
  background: #457C4B;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  border-radius: 7px;
  padding: 20px 0;
  width: 100%;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(80,40,40,0.03);
  transition: background 0.2s;
}

.userstorytitle .highlighted {
    color: #EB286A; /* Use your highlight color */
}

.lwa-btn:hover {
background: transparent;
  color: #457C4B;
  border: 1px solid #457C4B;
  background-color: #34151D !important;
}

.lwa-swiper .swiper-pagination-bullet {
  background: #822c3a;
  opacity: 0.3;
}
.lwa-swiper .swiper-pagination-bullet-active {
  opacity: 1;
}
.lwa-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  cursor: pointer;
}
.lwa-arrow-left {
  left: -65px;
}
.lwa-arrow-right {
  right: -65px;
}
@media (max-width: 700px) {
  .lwa-swiper .swiper-slide > .lwa-slide-card {
    padding: 36px 10px 18px 10px !important;
  }
  .lwa-arrow { display: none !important; }
}

.education-series-swiper .swiper-slide {
  margin-right: 15px !important;
  width: 410px !important;
}

#education-next, #education-prev {
  cursor: pointer;
}

.redhighlight {
  color: #34151D;
  display: inline-block;
  /* background: linear-gradient(to top, #F9CED8 37%, transparent 18%); */
}

.redhighlightblock {
  color: #34151D;
  /* background: linear-gradient(to top, #F9CED8 37%, transparent 18%); */
}

.greyhighlight {
  color: #fff;
  display: inline-block;
  /* background: linear-gradient(to top, #464344 37%, transparent 18%); */
}


.hashtag-link {
  display: inline-flex;
  align-items: center;
  border-radius: 6px;
  padding: 2px 8px;
  margin: 0 3px 4px 0;
  background-color: #E6F5FC;
  color: #2E2E2E;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.01em;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.hashtag-link:hover,
.hashtag-link:focus-visible {
  background-color: #457C4B;
  color: #fff;
  text-decoration: none;
}

.hashtag-link:focus-visible {
  outline: 2px solid #457C4B;
  outline-offset: 2px;
}

/* Slightly smaller on tablet/mobile */
@media (max-width: 768px) {
  .hashtag-link {
    font-size: 12px;
    padding: 2px 10px;
    margin: 0 3px 5px 0;
  }
}

.newsimgpost a {
 width: 100%;
}

a.navbtn {
  border-radius: 5px;
  background: #467C4B;
  color: #fff;
  display: flex;
  height: 60px;
  padding: 16px 48px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  align-self: stretch;
  transition: .25s ease all;
}

a.navbtn:hover {
  background-color: #fff;
  color: #467C4B;
}

.uwd-mega-row>.mega-sub-menu {
  display: flex!important;
  height: 100%!important;
}

.mega-menu-column .mega-sub-menu {
  display: flex!important;
  justify-content: start!important;
  flex-direction: column;
}
.mega-uwd-mega-column {
  height: 300px !important;
  border-right: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-left: 1px solid rgba(255, 255, 255, 0.12) !important;
}

.mega-uwd-mega-column > .mega-sub-menu {
  display: flex!important;
  justify-content: start!important;
  flex-direction: column;
  height: 100% !important;
}


.mega-uwd-mega-column > .mega-sub-menu .widget_block {
  margin-top: auto!important;
}

.uwd-single-post-info a, .uwd-single-post-info a time {
  color: #CBDAE1!important;
}

.uwd-single-post-info a:hover, .uwd-single-post-info a:hover time {
  text-decoration: underline!important;
}

.kiwi-logo-carousel li {
  margin-left: 15px;
  margin-right: 15px;
}

.fadeable { opacity: 1; transition: opacity .3s ease; }
.fadeable.is-faded { opacity: 0; pointer-events: none; } /* optional */

.elementor-widget-theme-post-featured-image {
  width: 100% !important;
}

.elementor-widget-theme-post-featured-image a {
    width: 100% !important;
}

.team-title-archive {
  font-family: "Inter", sans-serif;
  font-size: 60px;
  font-weight: 600;
  color: #EADF8D;
}

/* ============================================
   ARC Team Category Navigation — sticky responsive
   v2: pill-style desktop, compact mobile toggle
   ============================================
   HTML structure (unchanged from v1):

   <div class="team-category-nav">
     <button class="team-category-nav__toggle"
             type="button"
             aria-expanded="false"
             aria-controls="team-cat-list">
       <span class="team-category-nav__toggle-text">All</span>
       <span class="team-category-nav__toggle-arrow" aria-hidden="true">▼</span>
     </button>
     <div class="team-category-nav__list" id="team-cat-list">
       <a href="#" class="team-category-link active">All</a>
       <a href="#" class="team-category-link">Researchers</a>
       …
     </div>
   </div>
   ============================================ */

:root {
  /* Override per-page if a fixed header eats the top of the viewport */
  --team-nav-top: 0px;
  --team-nav-z: 20;

  --team-nav-text:         #505050;
  --team-nav-text-strong:  #2E2E2E;
  --team-nav-accent:       #fff;
  --team-nav-accent-hover: #fff;   /* slightly deeper for active:hover */
  --team-nav-accent-soft:  #f8f5e3;
  --team-nav-hover-bg:     #467C4B;
  --team-nav-border:       #E2E2E2;
}

/* ---- Sticky container ---- */
.team-category-nav {
  position: sticky;
  top: var(--team-nav-top);
  z-index: var(--team-nav-z);

  background: #fff;
  margin-bottom: 30px;
  padding: 10px 0;
  border-bottom: 1px solid var(--team-nav-border);
}

/* Mobile dropdown toggle — hidden until <600px */
.team-category-nav__toggle {
  display: none;
}

/* ---- Pill list (desktop default) ---- */
.team-category-nav__list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* ---- Individual pill ---- */
.team-category-link {
  display: inline-flex;
  align-items: center;
  color: var(--team-nav-text);
  font-weight: 600 !important;
  font-size: 15px;
  line-height: 1.3;
  padding: 9px 18px;
  border-radius: 999px;
  background: transparent;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.18s ease, color 0.18s ease;
}

.team-category-link:hover {
  background: var(--team-nav-hover-bg);
  color: var(--team-nav-text-strong);
}

.team-category-link.active {
  background: var(--team-nav-accent);
  color: var(--team-nav-text-strong);
}

.team-category-link.active:hover {
  background: var(--team-nav-accent-hover);
}

.team-category-link:focus-visible {
  outline: 2px solid var(--team-nav-accent);
  outline-offset: 3px;
}

/* ============================================
   TABLET (600–1024px) — horizontal scroll
   ============================================ */
@media (max-width: 1024px) {
  .team-category-nav {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: max(16px, calc(50vw - 50%));
    padding-right: max(16px, calc(50vw - 50%));
  }

  .team-category-nav__list {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
    scroll-padding-inline: 4px;
    padding-bottom: 4px;
  }

  .team-category-nav__list::-webkit-scrollbar { display: none; }

  .team-category-link {
    scroll-snap-align: start;
    flex-shrink: 0;
  }
}

/* ============================================
   MOBILE (<600px) — compact toggle + overlay dropdown
   ~50px total collapsed height (was ~74px)
   ============================================ */
@media (max-width: 600px) {
  .team-category-nav {
    margin-left: 0;
    margin-right: 0;
    padding: 8px 16px;
    border-bottom: none;
  }

  /* ---- Slim pill-style toggle ---- */
  .team-category-nav__toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    min-height: 38px;
    padding: 8px 16px;
    background: #fff;
    border: 1px solid var(--team-nav-border);
    border-radius: 999px;
    color: var(--team-nav-text-strong);
    font-weight: 600;
    font-size: 14px;
    font-family: "Inter", sans-serif;
    cursor: pointer;
    text-align: left;
    transition: border-color 0.2s ease, background-color 0.2s ease;
  }

  .team-category-nav__toggle:hover,
  .team-category-nav__toggle:focus-visible {
    border-color: var(--team-nav-accent);
    outline: none;
  }

  .team-category-nav.is-open .team-category-nav__toggle {
    background: var(--team-nav-accent-soft);
    border-color: var(--team-nav-accent);
  }

  /* "Filter:" prefix gives the toggle text context */
  .team-category-nav__toggle-text {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .team-category-nav__toggle-text::before {
    color: #fff;
    font-weight: 500;
    margin-right: 2px;
  }

  .team-category-nav__toggle-arrow {
    font-size: 10px;
    margin-left: 10px;
    color: #fff;
    transition: transform 0.25s ease;
  }

  .team-category-nav.is-open .team-category-nav__toggle-arrow {
    transform: rotate(180deg);
  }

  /* ---- Dropdown list — collapsed by default ---- */
  .team-category-nav__list {
    display: none;
  }

  .team-category-nav.is-open .team-category-nav__list {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 2px;

    /* Overlay positioning — doesn't push content */
    position: absolute;
    top: 100%;
    left: 16px;
    right: 16px;
    margin-top: 6px;
    padding: 6px;

    background: #fff;
    border: 1px solid var(--team-nav-border);
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);

    max-height: calc(100vh - var(--team-nav-top, 0px) - 100px);
    overflow-y: auto;
    overscroll-behavior: contain;

    animation: team-nav-fade-in 0.18s ease both;
  }

  /* Dropdown items: inset pill rows */
  .team-category-nav__list .team-category-link {
    padding: 11px 14px;
    border-radius: 6px;
    background: transparent;
    white-space: normal;
    line-height: 1.4;
  }

  .team-category-nav__list .team-category-link:hover {
    background: var(--team-nav-hover-bg);
    color: var(--team-nav-text-strong);
  }

  .team-category-nav__list .team-category-link.active {
    background: var(--team-nav-accent);
    color: var(--team-nav-text-strong);
  }
}

@keyframes team-nav-fade-in {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .team-category-nav__list,
  .team-category-nav__toggle-arrow,
  .team-category-link {
    transition: none !important;
    animation: none !important;
  }
}
.et_pb_row_0,.et_pb_row_1,.et_pb_row_2,.et_pb_row_3{display:block!important}

/* Force mega menu columns to equal height and align cards */
#mega-menu-30711-0 > .mega-sub-menu {
    align-items: stretch;
}

#mega-menu-30711-0 .mega-menu-column {
    display: flex;
    flex-direction: column;
}

#mega-menu-30711-0 .mega-menu-column > .mega-sub-menu,
#mega-menu-30711-0 .mega-menu-item,
#mega-menu-30711-0 .textwidget,
#mega-menu-30711-0 .custom-html-widget {
    display: flex;
    flex-direction: column;
    flex: 1;
    height: 100%;
    width: 100%;
}
/* ============================================
   ARC Mega Menu Feature Cards
   For Max Mega Menu (WordPress plugin)
   ============================================ */

/* ===== Row container (flex, equal columns, equal heights) ===== */
.arc-mega-menu-features > .mega-sub-menu {
  display: flex !important;
  flex-wrap: nowrap !important;
  background: #E5EDF0;
  padding: 56px 64px !important;
  gap: 56px;
  align-items: stretch !important;
}

/* ===== Column - equal width, full height ===== */
.arc-mega-menu-features .mega-menu-column {
  flex: 1 1 0 !important;
  width: auto !important;
  max-width: none !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* ===== Wrapper chain - make every layer transparent and full-height ===== */
.arc-mega-menu-features .mega-menu-column > .mega-sub-menu,
.arc-mega-menu-features .mega-menu-item.widget_custom_html,
.arc-mega-menu-features .textwidget {
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

/* ===== Card ===== */
.arc-mega-menu-features .arc-feature-card {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  height: 100% !important;
  width: 100%;
  gap: 25px;
}

/* ===== Eyebrow ===== */
.arc-mega-menu-features .arc-feature-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #6B7280;
  margin: 0 0 14px;
  line-height: 1;
}

/* ===== Title (serif) ===== */
.arc-mega-menu-features .arc-feature-title {
  font-family: "Inter", sans-serif !important;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.005em;
  color: #1A1A1A;
  margin: 0 0 18px;
}

/* ===== Description ===== */
.arc-mega-menu-features .arc-feature-description {
  font-size: 18px;
  line-height: 1.6;
  color: #374151;
  margin: 0 0 15px;
}

/* Inline arrow link inside description (Cards 2 & 3) */
.arc-mega-menu-features .arc-feature-description a {
  color: #1A1A1A;
  text-decoration: none !important;
  margin-left: 4px;
  font-weight: 500;
  transition: color 0.2s ease;
}

.arc-mega-menu-features .arc-feature-description a:hover,
.arc-mega-menu-features .arc-feature-description a:focus {
  color: #457C4B;
}

/* ===== Standalone link (Card 1) ===== */
.arc-mega-menu-features .arc-feature-link {
  font-size: 18px;
  line-height: 1.5;
  margin: 0 0 28px;
}

.arc-mega-menu-features .arc-feature-link a {
  color: #1A1A1A !important;
  text-decoration: underline !important;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
  transition: color 0.2s ease;
}

.arc-mega-menu-features .arc-feature-link a:hover,
.arc-mega-menu-features .arc-feature-link a:focus {
  color: #457C4B !important;
}

/* ===== Stat (Card 3) ===== */
.arc-mega-menu-features .arc-feature-stat {
  font-size: 18px;
  line-height: 1.5;
  color: #374151;
  margin: 0 0 28px;
}

.arc-mega-menu-features .arc-feature-stat strong {
  display: block;
  font-family: "Inter", sans-serif !important;
  font-size: 56px;
  font-weight: 500;
  line-height: 1;
  color: #1A1A1A;
  margin-bottom: 8px;
}

.arc-mega-menu-features .arc-feature-stat br {
  display: none;
}

/* ===== Button - full-width, pinned to bottom ===== */
.arc-mega-menu-features .arc-feature-button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  align-self: stretch !important;
  width: 100% !important;
  margin-top: auto !important;
  padding: 16px 28px !important;
  background: #457C4B !important;
  color: #FFFFFF !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border-radius: 2px !important;
  transition: background 0.2s ease !important;
  box-sizing: border-box;
}

.arc-mega-menu-features .arc-feature-button:hover,
.arc-mega-menu-features .arc-feature-button:focus {
  background: #36632F !important;
  color: #FFFFFF !important;
  text-decoration: none !important;
}

/* ============================================
   Responsive - stack on tablet/mobile
   ============================================ */
@media (max-width: 1024px) {
  .arc-mega-menu-features > .mega-sub-menu {
    flex-direction: column !important;
    padding: 32px 24px !important;
    gap: 32px;
  }

  .arc-mega-menu-features .arc-feature-title {
    font-size: 26px;
  }

  .arc-mega-menu-features .arc-feature-stat strong {
    font-size: 48px;
  }
}

/* ===== ARC Accordion ===== */
:root {
  --arc-green: #457C4B;
  --arc-green-dark: #2f5a34;
  --arc-blue-grey: #E5EDF0;
  --arc-blue-grey-hover: #d5e1e5;
  --arc-border: #c8d6da;
}

/* Enable smooth height animation on <details> in modern browsers */
@supports (interpolate-size: allow-keywords) {
  :root {
    interpolate-size: allow-keywords;
  }
}

.arc-accordion {
  border: 1px solid var(--arc-border);
  border-radius: 8px;
  margin: 0 0 1rem;
  background: #fff;
  overflow: hidden;
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

.arc-accordion[open] {
  border-color: var(--arc-green);
  box-shadow: 0 4px 16px rgba(69, 124, 75, 0.12);
}

/* ----- Summary (the clickable header) ----- */
.arc-accordion__summary {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 1rem 1.25rem;
  cursor: pointer;
  list-style: none;
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--arc-green);
  background: var(--arc-blue-grey);
  user-select: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.arc-accordion__summary::-webkit-details-marker,
.arc-accordion__summary::marker {
  display: none;
  content: "";
}

.arc-accordion__summary:hover {
  background: var(--arc-blue-grey-hover);
  color: var(--arc-green-dark);
}

.arc-accordion__summary:focus-visible {
  outline: 2px solid var(--arc-green);
  outline-offset: -2px;
}

.arc-accordion[open] .arc-accordion__summary {
  background: var(--arc-green);
  color: #fff;
}

.arc-accordion[open] .arc-accordion__summary:hover {
  background: var(--arc-green-dark);
}

/* ----- Icons ----- */
.arc-accordion__icon,
.arc-accordion__chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.arc-accordion__icon {
  width: 22px;
  height: 22px;
}

.arc-accordion__title {
  flex: 1;
  line-height: 1.3;
}

.arc-accordion__chevron {
  width: 20px;
  height: 20px;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.arc-accordion[open] .arc-accordion__chevron {
  transform: rotate(180deg);
}

/* ----- Content area ----- */
.arc-accordion__content {
  padding: 1.5rem 1.5rem 0.75rem;
  animation: arc-fade-in 0.4s ease both;
}

@keyframes arc-fade-in {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Typography inside the accordion */
.arc-accordion__content h3 {
  color: var(--arc-green);
  font-size: 1.15rem
}

.video-bg-top .elementor-background-video-container video {
    object-fit: contain;
    object-position: center;
}

/* ============================================
   Gravity Forms — ARC Site
   v3: full consolidated drop-in
   ============================================ */

:root {
  --gf-arc-input-bg:        #ffffff;
  --gf-arc-input-border:    #c8d6da;
  --gf-arc-input-border-h:  #97b5ba;
  --gf-arc-input-focus:     #457C4B;
  --gf-arc-input-focus-d:   #36632F;
  --gf-arc-input-text:      #2E2E2E;
  --gf-arc-placeholder:     #8a9499;
  --gf-arc-label:           #2E2E2E;
  --gf-arc-helper:          #6d6e72;
  --gf-arc-required:        #EB286A;
  --gf-arc-error:           #EB286A;
  --gf-arc-error-bg:        #fdf0f3;
  --gf-arc-error-border:    #F9CED8;
  --gf-arc-success-bg:      #E5EDF0;
  --gf-arc-radius-sm:       6px;
  --gf-arc-radius-md:       7px;
  --gf-arc-shadow-focus:    0 0 0 3px rgba(69, 124, 75, 0.18);
  --gf-arc-field-height:    54px;
}

/* ===== Wrapper + orbital theme variable overrides ===== */
.gform_wrapper.gravity-theme,
.gform_wrapper {
  font-family: "Inter", sans-serif;
  font-size: 16px;
  color: var(--gf-arc-input-text);
  max-width: 100%;

  /* Override orbital theme tokens at the source */
  --gf-color-primary: #457C4B;
  --gf-color-primary-contrast: #ffffff;
  --gf-color-primary-darker: #36632F;
  --gform-theme-color-primary: #457C4B;
  --gform-theme-color-primary-contrast: #ffffff;
  --gform-theme-color-primary-darker: #36632F;
  --gform-theme-control-button-padding-inline: 48px;
  --gform-theme-control-button-padding-block: 20px;
  --gform-theme-control-button-font-size: 16px;
  --gform-theme-control-button-font-weight: 600;
  --gform-theme-control-button-min-height: 60px;
  --gform-theme-control-button-border-radius: 7px;
  --gform-theme-control-button-background-color-primary: #457C4B;
  --gform-theme-control-button-background-color-primary-hover: #ffffff;
  --gform-theme-control-button-color-primary: #ffffff;
  --gform-theme-control-button-color-primary-hover: #457C4B;
  --gform-theme-control-button-border-color-primary: #457C4B;
  --gform-theme-control-button-border-color-primary-hover: #457C4B;
}

.gform_wrapper .gform_heading { margin-bottom: 32px; }

.gform_wrapper .gform_description {
  font-size: 17px;
  line-height: 1.6;
  color: var(--gf-arc-helper);
  display: block;
}

/* ===== Grid ===== */
.gform_wrapper .gform_fields {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 24px 24px;
}

.gform_wrapper .gfield { grid-column: span 12; }

@media (min-width: 768px) {
  .gform_wrapper .gfield--width-half          { grid-column: span 6; }
  .gform_wrapper .gfield--width-third         { grid-column: span 4; }
  .gform_wrapper .gfield--width-two-thirds    { grid-column: span 8; }
  .gform_wrapper .gfield--width-quarter       { grid-column: span 3; }
  .gform_wrapper .gfield--width-three-quarter { grid-column: span 9; }
}

/* ===== Labels above ===== */
.gform_wrapper .gfield_label {
  display: block;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--gf-arc-label);
  margin-bottom: 10px;
  line-height: 1.4;
}

.gform_wrapper .gfield_required {
  color: var(--gf-arc-required);
  margin-left: 4px;
  font-weight: 600;
}

.gform_wrapper .gfield_required .gfield_required_text { display: none; }

/* ===== Hide "First" / "Last" sub-labels ===== */
.gform_wrapper .ginput_complex label,
.gform_wrapper .ginput_full label,
.gform_wrapper .ginput_left label,
.gform_wrapper .ginput_right label,
.gform_wrapper .name_first label,
.gform_wrapper .name_last label,
.gform_wrapper .ginput_complex .ginput_left label,
.gform_wrapper .ginput_complex .ginput_right label,
.gform_wrapper .ginput_complex_address label,
.gform_wrapper .ginput_container_name label,
.gform_wrapper .ginput_container_address label {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* ===== Input wrappers fill grid cell ===== */
.gform_wrapper .ginput_container,
.gform_wrapper [class*="ginput_container_"] {
  width: 100%;
  max-width: 100%;
}

/* ===== Inputs / textareas / selects ===== */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="password"],
.gform_wrapper input[type="date"],
.gform_wrapper input[type="time"],
.gform_wrapper input[type="datetime-local"],
.gform_wrapper textarea,
.gform_wrapper select {
  width: 100%;
  min-height: var(--gf-arc-field-height);
  padding: 14px 16px;
  font-family: "Inter", sans-serif;
  font-size: 16px;
  line-height: 1.4;
  color: var(--gf-arc-input-text);
  background: var(--gf-arc-input-bg);
  border: 1px solid var(--gf-arc-input-border);
  border-radius: var(--gf-arc-radius-sm);
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  vertical-align: middle;
}

.gform_wrapper textarea {
  padding: 16px 18px !important;
  min-height: 160px !important;
  resize: vertical;
  line-height: 1.55 !important;
}

.gform_wrapper input:hover,
.gform_wrapper textarea:hover,
.gform_wrapper select:hover {
  border-color: var(--gf-arc-input-border-h);
}

.gform_wrapper input:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
  outline: none;
  border-color: var(--gf-arc-input-focus);
  box-shadow: var(--gf-arc-shadow-focus);
}

.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder {
  color: var(--gf-arc-placeholder);
  opacity: 1;
}

/* ===== Select — fix text clipping ===== */
.gform_wrapper select {
  height: auto;
  padding-right: 44px;
  line-height: 1.4;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='none' stroke='%23457C4B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M1 1l5 5 5-5'/></svg>");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-color: var(--gf-arc-input-bg);
}

.gform_wrapper select::-ms-expand { display: none; }

/* ===== Name field (2-col grid) ===== */
.gform_wrapper .ginput_complex {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 0;
}

.gform_wrapper .ginput_complex > span {
  display: block;
  margin: 0;
  padding: 0;
}

/* ===== Address — neutralize GF's broken 50% layout ===== */
.gform_wrapper .ginput_complex .ginput_full,
.gform_wrapper .ginput_complex .ginput_left,
.gform_wrapper .ginput_complex .ginput_right,
.gform_wrapper .ginput_complex span[class*="address_"],
.gform_wrapper .ginput_complex span[class*="name_"] {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  padding: 0 !important;
}

.gform_wrapper .ginput_complex_address {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.gform_wrapper .ginput_complex_address .address_line_1,
.gform_wrapper .ginput_complex_address .address_line_2 {
  grid-column: 1 / -1;
}

@media (max-width: 640px) {
  .gform_wrapper .ginput_complex,
  .gform_wrapper .ginput_complex_address {
    grid-template-columns: 1fr;
  }
}

/* ===== Hide pre-submit inline validation badge ===== */
.gform_wrapper .gfield_inline_validation,
.gform_wrapper .ginput_container_email > .gform-icon,
.gform_wrapper .gform-icon--cross,
.gform_wrapper .gfield .gform-icon-container,
.gform_wrapper .gfield_validation_indicator,
.gform_wrapper [class*="gfield_validation_indicator"] {
  display: none !important;
}

/* ===== Helper / description ===== */
.gform_wrapper .gfield_description {
  font-size: 13px;
  line-height: 1.5;
  color: var(--gf-arc-helper);
  margin-top: 8px;
}

/* ===== Checkboxes & radios ===== */
.gform_wrapper .gfield_checkbox,
.gform_wrapper .gfield_radio {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 18px 32px !important;
  margin: 0;
  padding: 0;
  list-style: none;
}

.gform_wrapper .gfield_checkbox.gfield_checkbox--multi-column,
.gform_wrapper .gfield_radio.gfield_radio--multi-column,
.gform_wrapper .gfield--type-checkbox[class*="columns_2"] .gfield_checkbox,
.gform_wrapper .gfield--type-checkbox[class*="columns_3"] .gfield_checkbox {
  grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 1024px) {
  .gform_wrapper .gfield--type-checkbox[class*="columns_3"] .gfield_checkbox {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 640px) {
  .gform_wrapper .gfield_checkbox,
  .gform_wrapper .gfield_radio {
    grid-template-columns: 1fr !important;
  }
}

.gform_wrapper .gchoice {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  padding: 0 20px 0 0 !important;
  margin: 0 !important;
}

.gform_wrapper .gfield-choice-input[type="checkbox"],
.gform_wrapper .gfield-choice-input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin: 3px 0 0;
  background: #fff;
  border: 1.5px solid var(--gf-arc-input-border);
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
  position: relative;
}

.gform_wrapper .gfield-choice-input[type="checkbox"] { border-radius: 4px; }
.gform_wrapper .gfield-choice-input[type="radio"]    { border-radius: 50%; }

.gform_wrapper .gfield-choice-input:hover {
  border-color: var(--gf-arc-input-focus);
}

.gform_wrapper .gfield-choice-input:focus-visible {
  outline: none;
  box-shadow: var(--gf-arc-shadow-focus);
}

.gform_wrapper .gfield-choice-input:checked {
  background: var(--gf-arc-input-focus);
  border-color: var(--gf-arc-input-focus);
}

.gform_wrapper .gfield-choice-input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 6px;
  width: 5px;
  height: 9px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.gform_wrapper .gfield-choice-input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  background: #fff;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.gform_wrapper .gchoice label {
  font-size: 15px !important;
  line-height: 1.5 !important;
  color: var(--gf-arc-input-text);
  cursor: pointer;
  font-weight: 400 !important;
  margin: 0 !important;
  padding: 1px 0 0 2px !important;
}

/* ===== Consent / single checkbox ===== */
.gform_wrapper .gfield--type-consent .ginput_container_consent {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.gform_wrapper .gfield--type-consent label {
  font-size: 14px;
  color: var(--gf-arc-helper);
  font-weight: 400;
  line-height: 1.5;
}

/* ===== Validation ===== */
.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error textarea,
.gform_wrapper .gfield_error select {
  border-color: var(--gf-arc-error);
  background: var(--gf-arc-error-bg);
}

.gform_wrapper .gfield_error input:focus,
.gform_wrapper .gfield_error textarea:focus,
.gform_wrapper .gfield_error select:focus {
  box-shadow: 0 0 0 3px rgba(235, 40, 106, 0.15);
}

.gform_wrapper .gfield_validation_message,
.gform_wrapper .validation_message {
  font-size: 13px;
  color: var(--gf-arc-error);
  margin-top: 8px;
  font-weight: 500;
  padding: 0;
  background: none;
  border: none;
}

.gform_wrapper .gform_validation_errors {
  background: var(--gf-arc-error-bg);
  border: 1px solid var(--gf-arc-error-border);
  border-radius: var(--gf-arc-radius-md);
  padding: 18px 22px;
  margin-bottom: 28px;
}

.gform_wrapper .gform_validation_errors h2 {
  font-family: "Inter", sans-serif !important;
  font-size: 16px !important;
  font-weight: 600;
  color: var(--gf-arc-error);
  letter-spacing: normal !important;
  margin: 0 0 8px;
}

.gform_wrapper .gform_validation_errors ol {
  margin: 0;
  padding-left: 20px;
  font-size: 14px;
  color: var(--gf-arc-input-text);
}

.gform_wrapper .gform_validation_errors ol a {
  color: var(--gf-arc-error);
  text-decoration: underline;
}

/* ============================================
   ===== SUBMIT BUTTON — locked down hard =====
   ============================================ */

.gform_wrapper .gform_footer,
.gform_wrapper .gform_page_footer {
  margin-top: 36px !important;
  padding: 0 !important;
  display: flex !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  overflow: visible !important;
  width: 100% !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
}

.gform_wrapper .gform_button,
.gform_wrapper input[type="submit"].gform_button,
.gform_wrapper input.gform_button,
.gform_wrapper button.gform_button,
.gform_wrapper .gform_previous_button,
.gform_wrapper .gform_next_button,
.gform_wrapper input[type="submit"] {
  /* Typography */
  font-family: "Inter", sans-serif !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: nowrap !important;

  /* Sizing — force auto width with generous padding + min-width */
  width: auto !important;
  max-width: none !important;
  min-width: 220px !important;
  height: auto !important;
  min-height: 64px !important;
  padding: 20px 56px !important;
  margin: 0 !important;

  /* Layout */
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
  overflow: visible !important;
  flex-shrink: 0 !important;

  /* Look */
  color: #ffffff !important;
  background: var(--gf-arc-input-focus) !important;
  background-color: var(--gf-arc-input-focus) !important;
  border: 1px solid var(--gf-arc-input-focus) !important;
  border-radius: var(--gf-arc-radius-md) !important;
  cursor: pointer !important;
  text-decoration: none !important;
  text-align: center !important;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  box-shadow: none !important;
}

.gform_wrapper .gform_button:hover,
.gform_wrapper .gform_next_button:hover,
.gform_wrapper input[type="submit"]:hover {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: var(--gf-arc-input-focus) !important;
  border-color: var(--gf-arc-input-focus) !important;
}

.gform_wrapper .gform_button:focus-visible,
.gform_wrapper input[type="submit"]:focus-visible {
  outline: 2px solid var(--gf-arc-input-focus) !important;
  outline-offset: 3px !important;
}

.gform_wrapper .gform_previous_button {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: var(--gf-arc-input-focus) !important;
}

.gform_wrapper .gform_previous_button:hover {
  background: var(--gf-arc-input-focus) !important;
  background-color: var(--gf-arc-input-focus) !important;
  color: #ffffff !important;
}

/* ===== Confirmation ===== */
.gform_confirmation_wrapper,
.gform_confirmation_message {
  background: var(--gf-arc-success-bg);
  border-left: 4px solid var(--gf-arc-input-focus);
  border-radius: var(--gf-arc-radius-md);
  padding: 22px 26px;
  font-size: 16px;
  line-height: 1.6;
  color: var(--gf-arc-input-text);
}

.gform_confirmation_message strong,
.gform_confirmation_message h2,
.gform_confirmation_message h3 {
  color: var(--gf-arc-input-focus);
  font-family: "Spectral", serif !important;
}

/* ===== Multi-page progress bar ===== */
.gform_wrapper .gf_progressbar_wrapper { margin-bottom: 32px; }

.gform_wrapper .gf_progressbar_title {
  font-family: "Inter", sans-serif !important;
  font-size: 13px;
  font-weight: 600;
  color: var(--gf-arc-helper);
  margin-bottom: 8px;
}

.gform_wrapper .gf_progressbar {
  background: var(--gf-arc-success-bg);
  border-radius: 999px;
  height: 8px;
  overflow: hidden;
  padding: 0;
}

.gform_wrapper .gf_progressbar_percentage {
  background: var(--gf-arc-input-focus) !important;
  height: 100%;
  border-radius: 999px;
  transition: width 0.4s ease;
  color: transparent;
}

/* ===== Honeypot ===== */
.gform_wrapper .gform_validation_container {
  position: absolute !important;
  left: -9000px !important;
}

/* ===== Loading spinner ===== */
.gform_wrapper .gform_ajax_spinner {
  margin-left: 12px;
  vertical-align: middle;
}

/* ===== File upload ===== */
.gform_wrapper .ginput_container_fileupload input[type="file"] {
  padding: 12px;
  font-size: 14px;
  background: #f8fafb;
  border-radius: var(--gf-arc-radius-sm);
}

.gform_wrapper .gform_fileupload_rules {
  font-size: 12px;
  color: var(--gf-arc-helper);
  margin-top: 6px;
}

/* ============================================
   Mobile
   ============================================ */
@media (max-width: 768px) {
  .gform_wrapper .gform_fields { gap: 20px 16px; }

  .gform_wrapper input[type="text"],
  .gform_wrapper input[type="email"],
  .gform_wrapper input[type="tel"],
  .gform_wrapper input[type="url"],
  .gform_wrapper input[type="number"],
  .gform_wrapper textarea,
  .gform_wrapper select {
    font-size: 16px; /* prevents iOS zoom on focus */
  }

  .gform_wrapper .gform_button,
  .gform_wrapper input[type="submit"] {
    width: 100% !important;
    min-width: 0 !important;
    padding: 20px 24px !important;
  }
}

.job_opportunity h4 {
  font-size: 28px !important;
}

/* Comma-separated text field (e.g. team member accreditations) rendered as a
   responsive list via the [comma_list] shortcode: two columns on
   desktop/tablet, one column on mobile. */
.arc-comma-list {
  list-style: none;
  margin: 0;
  padding: 0;
  column-count: 2;
  column-gap: 2rem;
}

.arc-comma-list li {
  break-inside: avoid; /* keep each item whole within a column */
  margin: 0 0 0.4em;
}

@media (max-width: 767px) {
  .arc-comma-list {
    column-count: 1;
  }
}