/*
 Theme Name:  Specialty Child
 Template:    specialty
 Version:     1.1
 Description: ITJobPro child theme — mobile hardening + job UX tweaks.
*/

/* =========================
   ITJP — Mobile Hardening
   ========================= */

/* 1) Safer sizing + media containment */
*, *::before, *::after { box-sizing: border-box; }
img, video, svg, canvas { max-width: 100%; height: auto; display: block; }
iframe { width: 100%; max-width: 100%; aspect-ratio: 16 / 9; }
figure { margin: 0; }

/* 2) Prevent horizontal scroll on narrow content */
html, body { overflow-x: hidden; }
pre, code, .code, .wp-block-code { white-space: pre-wrap; word-break: break-word; }

/* 3) Forms + buttons: comfortable tap targets */
button, .button, input[type=submit] {
  min-height: 44px; line-height: 1.2; padding: 10px 14px; border-radius: 10px;
}
input[type=text], input[type=email], input[type=search], input[type=tel],
input[type=url], select, textarea {
  width: 100%; max-width: 100%;
}

/* 4) WP Job Manager — search bar stacks nicely on phones */
.search_jobs, .job_filters { gap: 10px; }
.search_jobs .search_keywords,
.search_jobs .search_location,
.search_jobs .search_categories,
.job_filters .search_submit {
  flex: 1 1 240px;
}
@media (max-width: 640px){
  .search_jobs, .job_filters { display: flex; flex-wrap: wrap; }
  .search_jobs .search_keywords,
  .search_jobs .search_location,
  .search_jobs .search_categories,
  .job_filters .search_submit { flex-basis: 100%; }
}

/* 5) WP Job Manager — listing rows/cards */
.job_listings .job_listing { display: flex; align-items: center; gap: 12px; }
.job_listings .job_listing .company_logo img { width: 48px; height: 48px; object-fit: contain; }
.job_listings .job_listing .position,
.job_listings .job_listing .meta,
.job_listings .job_listing .location,
.job_listings .job_listing .job-type { flex: 1 1 auto; }
@media (max-width: 640px){
  .job_listings .job_listing { flex-direction: column; align-items: flex-start; }
  .job_listings .job_listing .meta,
  .job_listings .job_listing .location { font-size: 0.95rem; }
}

/* 6) Tables inside posts/pages become swipeable instead of breaking layout */
.responsive-table-wrapper { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.responsive-table-wrapper > table { min-width: 640px; }
table { width: 100%; border-collapse: collapse; }

/* 7) Utility — keep long URLs/strings from breaking layout */
a, p, li { word-wrap: break-word; overflow-wrap: anywhere; }

/* 8) Header/menu touch area (generic) */
.site-header .menu-toggle, .nav-toggle, .menu-icon { min-width: 44px; min-height: 44px; }

/* 9) Spacing coherence on small screens */
@media (max-width: 640px){
  .site-main, .content-area { padding-left: 16px; padding-right: 16px; }
  h1 { font-size: 1.75rem; }
  h2 { font-size: 1.35rem; }
}

/* =========================
   Expired Job Page Tweaks
   ========================= */

/* Buttons (theme-agnostic but subtle) */
.itjp-actions { display:flex; gap:12px; flex-wrap:wrap; margin:20px 0 16px; }
.itjp-btn {
  display:inline-block; padding:10px 14px; border-radius:10px;
  text-decoration:none; border:1px solid #e5e7eb; background:#fff; color:inherit;
}
.itjp-btn:hover { text-decoration:none; }
.itjp-btn.primary { border-color:#2563eb; background:#2563eb; color:#fff; }

@media (max-width: 640px){
  .itjp-actions{ flex-direction: column; }
  .itjp-btn{ width: 100%; text-align: center; padding: 14px 16px; border-radius: 12px; }
}

/* Alert card */
.itjp-alert {
  border:1px solid #e5e7eb; background:#f9fafb; border-radius:12px; padding:16px; margin:16px 0 8px;
}
.itjp-alert h3 { margin:0 0 6px; font-size:1.1rem; }
.itjp-alert p.small { margin:0 0 10px; color:#6b7280; font-size:0.95rem; }
.itjp-alert .notice {
  background:#ecfdf5; border:1px solid rgba(16,185,129,.25); color:#065f46;
  padding:10px 12px; border-radius:10px; margin:0 0 6px;
}
.itjp-alert form { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:6px; }
.itjp-alert input[type=email]{ flex:1 1 260px; padding:10px; border:1px solid #d1d5db; border-radius:10px; }
.itjp-alert label { font-size:0.9rem; color:#6b7280; display:block; }
@media (max-width: 640px){
  .itjp-alert form{ flex-direction: column; align-items: stretch; }
  .itjp-alert input[type=email]{ flex-basis: 100%; width: 100%; }
  .itjp-alert label{ line-height: 1.4; margin-top: 8px; }
}

/* Similar block heading sizing on small screens */
@media (max-width: 640px){
  #similar h2{ font-size:1.1rem; }
  .entry-header{ margin-bottom:12px; }
}




/* Hide the second mobile button; make bar single-column */
@media (max-width: 768px){
  #itjp-open-filters{ display:none !important; }
  .itjp-mobile-bar{ grid-template-columns: 1fr !important; }
  body{ padding-bottom: 68px; } /* slightly less room now we have one button */
}










/* =========================================
   ITJobPro — Mobile polish (do not edit above)
   ========================================= */

/* 1) HOMEPAGE — anchor hero text and spacing on mobile */
@media (max-width: 767px) {
  body.home .page-hero{
    /* put text at bottom-left and give breathing room below header */
    display:flex; align-items:flex-end;
    padding: 96px 16px 24px;
    height:auto; min-height: 360px;
  }
  /* your homepage uses .hero-text inside .page-hero */
  body.home .page-hero .hero-text{
    position: static !important;  /* override absolute */
    transform: none !important;
    text-align: left;
    margin: 0; width: 100%;
    padding-right: 8px;
  }
  body.home .page-hero .hero-text .tagline{
    font-size: 24px; line-height: 1.15;
  }
  body.home .page-hero .hero-text .below-mobile{
    font-size: 16px; margin-top: 6px;
  }
  /* slightly stronger bottom gradient so white text pops */
  body.home .page-hero::before{
    background: linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0));
  }
}

/* 2) SINGLE JOB — align title & meta left and tidy spacing on mobile */
@media (max-width: 767px) {
  .single-job_listing .page-hero{
    display:flex; align-items:flex-end;
    padding: 92px 16px 20px; min-height: 280px;
  }
  /* job pages use .page-hero-content for the header block */
  .single-job_listing .page-hero .page-hero-content{
    position: static !important; transform: none !important;
    margin: 0; width: 100%; text-align: left;
  }
  .single-job_listing .page-hero .page-title{
    font-size: 22px; line-height: 1.2; margin: 0 0 8px;
  }
  /* left-align and de-center the pills/details row */
  .single-job_listing .page-hero-details{
    display:flex; flex-wrap: wrap; gap: 6px 10px;
    justify-content: flex-start; text-align: left;
  }
  .single-job_listing .page-hero-details .item-badge{
    font-size: 12px; padding: 4px 8px; border-radius: 999px;
    background: #0a2540; color: #fff;
  }
  .single-job_listing .entry-location,
  .single-job_listing .entry-company{
    display: inline-flex; align-items: center;
    font-size: 13px; color: #0a2540;
  }
}

/* 3) Make sure the header doesn’t sit on top of hero text on mobile */
@media (max-width: 767px){
  .header{ position: relative; z-index: 1000; }
}

/* 4) JOB PAGES — improve mobile hamburger/nav contrast only on jobs */
@media (max-width: 767px){
  .single-job_listing .mobile-nav-trigger{
    background: rgba(255,255,255,.92);
    color:#0a2540; border-radius:12px; padding:8px 12px;
    border:1px solid rgba(10,37,64,.12);
  }
  .single-job_listing .mobile-nav-trigger .fa{ color:#0a2540; }
  .single-job_listing .navigation-main > li > a{
    color:#0a2540 !important; text-shadow:none !important;
  }
}

/* 5) Small mobile niceties */
@media (max-width: 767px){
  .site-logo img{ max-width:56px; height:auto; } /* reduces header crowding */
}


























/* ===============================
   ITJP — Mobile hero & job header
   =============================== */

/* HOMEPAGE: keep hero text away from the logo and anchor bottom-left */
@media (max-width: 1024px){
  body.home .page-hero{
    padding: 110px 16px 24px;   /* space for header + comfy bottom */
    min-height: 360px;
  }
  body.home .page-hero .hero-text{
    position: static !important;
    transform: none !important;
    text-align: left !important;
    margin: 0; width: 100%;
  }
}

/* SINGLE JOB: title & meta left-aligned and tidy on mobile */
@media (max-width: 1024px){
  .single-job_listing .page-hero .page-hero-content{
    position: static !important;
    transform: none !important;
    text-align: left !important;
    margin: 0; width: 100%;
  }
  .single-job_listing .page-hero .page-title{
    font-size: 22px; line-height: 1.25; margin: 0 0 8px;
  }
  .single-job_listing .page-hero-details{
    display: flex; flex-wrap: wrap; gap: 6px 10px;
    justify-content: flex-start !important; text-align: left !important;
  }
}

/* JOB PAGES: improve contrast for hamburger / top nav on mobile (only on jobs) */
@media (max-width: 1024px){
  .single-job_listing .mobile-nav-trigger{
    background: rgba(255,255,255,.96);
    color:#0a2540; border-radius:12px; padding:8px 12px;
    border:1px solid rgba(10,37,64,.12);
  }
  .single-job_listing .mobile-nav-trigger .fa,
  .single-job_listing .mobile-nav-trigger svg { color:#0a2540; fill:#0a2540; }
  .single-job_listing .navigation-main > li > a{
    color:#0a2540 !important; text-shadow:none !important;
  }
}

/* THEME'S tiny mobile bar: hide on small viewports to prevent the old Search/Filter pair showing */
@media (max-width: 1024px){
  .ci-mobile-bar, .mobile-bar { display: none !important; }
}





















/* ================================
   ITJP — Mobile-only rescue patch
   ================================ */

/* 0) Kill the theme's tiny mobile "Search / Filters" bar on small screens */
@media (max-width: 1024px){
  .mobile-triggers,
  .mobile-triggers .mobile-trigger,
  .mobile-triggers .form-filter-trigger,
  .mobile-triggers .sidebar-wrap-trigger { display: none !important; }
}

/* 1) Homepage header: remove white strip + make hamburger visible */
@media (max-width: 1024px){
  body.home .header{
    background: transparent !important;
    box-shadow: none !important;
    border-bottom: 0 !important;
  }
  /* Give the hamburger a dark chip so it's visible over any hero image */
  body.home .mobile-nav-trigger{
    background: rgba(0,0,0,.55);
    color: #fff !important;
    border: 0; border-radius: 12px; padding: 8px 12px;
  }
  body.home .mobile-nav-trigger .fa,
  body.home .mobile-nav-trigger svg { color: #fff !important; fill: #fff !important; }
}

/* 2) Homepage hero: anchor text bottom-left, clear the header */
@media (max-width: 1024px){
  body.home .page-hero{
    padding-top: 96px; /* space for the header */
    min-height: 360px;
    position: relative;
  }
  body.home .page-hero .hero-text{
    position: absolute !important;
    left: 16px; right: 16px;
    bottom: 24px; top: auto !important;
    transform: none !important;
    text-align: left !important;
    z-index: 2; /* above overlay */
  }
  /* Subtle dark fade at the bottom so white text always pops */
  body.home .page-hero::before{
    content: "";
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0));
    z-index: 1;
  }
}

/* 3) Job page hero: improve contrast + left-align meta row */
@media (max-width: 1024px){
  /* Replace the white wash with a bottom dark fade for readability */
  .single-job_listing .page-hero::before{
    content: "";
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0)) !important;
    z-index: 1;
  }
  .single-job_listing .page-hero .page-hero-content{
    position: relative; z-index: 2;
    color: #fff !important; text-shadow: 0 1px 2px rgba(0,0,0,.45);
    text-align: left !important;
  }
  .single-job_listing .page-hero .page-title{
    font-size: 22px; line-height: 1.25; margin: 0 0 8px;
  }
  .single-job_listing .page-hero-details{
    display: flex; flex-wrap: wrap; gap: 6px 10px;
    justify-content: flex-start !important; text-align: left !important;
  }
  .single-job_listing .page-hero-details .item-badge{
    background: #0a2540; color: #fff; border-radius: 999px; padding: 4px 8px;
  }
  .single-job_listing .entry-location,
  .single-job_listing .entry-company{ color: #f3f4f6; }
}

/* 4) Keep our bottom blue Search button above everything on mobile */
@media (max-width: 1024px){
  .itjp-mobile-bar{ z-index: 9999 !important; }
}





















/* ================================
   ITJP — Mobile rescue patch v2
   ================================ */

/* 0) Nuke the theme's tiny mobile "Search / Filters" rails on small screens */
@media (max-width: 1024px){
  .mobile-triggers,
  .ci-mobile-bar,
  .mobile-bar,
  .mobile-triggers .mobile-trigger,
  .mobile-triggers .form-filter-trigger,
  .mobile-triggers .sidebar-wrap-trigger { display: none !important; }
}

/* 1) HOMEPAGE — transparent header & wireframe hamburger (no grey chip) */
@media (max-width: 1024px){
  body.home .header{
    background: transparent !important;
    box-shadow: none !important;
    border-bottom: 0 !important;
  }
  body.home .mobile-nav-trigger{
    background: transparent !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.9) !important;
    border-radius: 12px; padding: 8px 12px;
  }
  body.home .mobile-nav-trigger .fa,
  body.home .mobile-nav-trigger svg { color:#fff !important; fill:#fff !important; }
}

/* 2) HOMEPAGE HERO — anchor text bottom-left, clear the header */
@media (max-width: 1024px){
  body.home .page-hero{
    position: relative;
    padding-top: 96px;            /* make room for header */
    min-height: 360px;
  }
  body.home .page-hero .hero-text{
    position: absolute !important;
    left: 16px; right: 16px; bottom: 24px;
    top: auto !important; transform: none !important;
    text-align: left !important; z-index: 2;
  }
  body.home .page-hero::before{
    content:""; position:absolute; inset:0; z-index:1;
    background: linear-gradient(to top, rgba(0,0,0,.45), rgba(0,0,0,0));
  }
}

/* 3) JOB HERO — darker bottom fade (not white), left-align meta, stop content overlap */
@media (max-width: 1024px){
  .single-job_listing .page-hero{ position: relative; padding-bottom: 24px; }
  .single-job_listing .page-hero::before{
    content:""; position:absolute; inset:0; z-index:1;
    background: linear-gradient(to top, rgba(0,0,0,.45), rgba(0,0,0,0)) !important;
  }
  .single-job_listing .page-hero .page-hero-content{
    position: relative; z-index: 2; color:#fff !important;
    text-shadow: 0 1px 3px rgba(0,0,0,.6); text-align:left !important;
  }
  .single-job_listing .page-hero .page-title{
    font-size:22px; line-height:1.25; margin:0 0 8px;
  }
  .single-job_listing .page-hero-details{
    display:flex; flex-wrap:wrap; gap:6px 10px;
    justify-content:flex-start !important; text-align:left !important;
  }
  .single-job_listing .page-hero-details .item-badge{
    background:#0a2540; color:#fff; border-radius:999px; padding:4px 8px;
  }
  /* Ensure the white description block starts BELOW the hero */
  .single-job_listing .page-hero + .site-main,
  .single-job_listing .page-hero + .content,
  .single-job_listing .page-hero + .content-area,
  .single-job_listing .page-hero + .container,
  .single-job_listing .page-hero ~ .site-main{
    margin-top: 12px !important;
  }
}

/* 4) Keep our blue Search button above everything on mobile */
@media (max-width: 1024px){
  .itjp-mobile-bar{ z-index: 9999 !important; }
}








/* =========================
   ITJP — Compact Job Header
   ========================= */

/* Hide the big theme hero ONLY on single job pages */
.single-job_listing .page-hero { display: none !important; }

/* Banner skeleton */
.itjp-job-banner{
  --itjp-accent:#0a2540;
  background: linear-gradient(90deg, var(--itjp-accent), #1e3a8a);
  color:#fff;
}
.itjp-job-banner__inner{
  max-width: 1100px; margin: 0 auto;
  padding: 18px 16px;
  display:grid; grid-template-columns: 72px 1fr auto; gap:14px; align-items:center;
}
.itjp-job-brand img{
  width: 56px; height: 56px; object-fit: contain; background: #fff; border-radius: 12px; padding: 6px;
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
}
.itjp-job-title{ font-size: 26px; line-height: 1.25; margin: 0 0 6px; }
.itjp-job-meta{ display:flex; flex-wrap:wrap; gap:6px; }
.itjp-pill{
  display:inline-block; padding:6px 10px; border-radius:999px; font-size: 13px;
}
.itjp-pill--ghost{ background: rgba(255,255,255,.16); color:#fff; border:1px solid rgba(255,255,255,.25); }

.itjp-btn{ display:inline-block; text-decoration:none; border-radius:12px; padding:10px 14px; }
.itjp-btn--primary{ background:#fff; color:#0a2540; border:1px solid #fff; font-weight:600; }

/* Mobile-first layout */
@media (max-width: 768px){
  .itjp-job-banner__inner{
    grid-template-columns: 56px 1fr;
    grid-template-areas:
      "logo title"
      "meta meta"
      "cta  cta";
    gap: 12px;
  }
  .itjp-job-brand{ grid-area: logo; }
  .itjp-job-headings{ grid-area: title; }
  .itjp-job-meta{ grid-area: meta; }
  .itjp-job-cta{ grid-area: cta; }
  .itjp-job-title{ font-size: 22px; }
  .itjp-btn--primary{ width: 100%; text-align:center; padding:12px 16px; }
}

/* Space between banner and content */
.single-job_listing .site-main,
.single-job_listing .content,
.single-job_listing .content-area{ margin-top: 12px; }

/* Keep our blue Search button above all on mobile */
@media (max-width: 1024px){
  .itjp-mobile-bar{ z-index: 9999 !important; }
}

/* (Optional) Homepage: keep your hero; ensure hamburger contrast is crisp over it */
@media (max-width: 1024px){
  body.home .header{ background: transparent !important; box-shadow:none !important; border-bottom:0 !important; }
  body.home .mobile-nav-trigger{
    background: transparent !important;
    color:#fff !important; border:1px solid rgba(255,255,255,.9) !important;
    border-radius:12px; padding:8px 12px;
  }
  body.home .mobile-nav-trigger .fa,
  body.home .mobile-nav-trigger svg{ color:#fff !important; fill:#fff !important; }
}

/* Kill the theme's tiny mobile Search/Filter bar at small widths (prevents overlap) */
@media (max-width: 1024px){
  .mobile-triggers, .ci-mobile-bar, .mobile-bar{ display:none !important; }
}





















/* Hide the big hero ONLY on single job pages */
.single-job_listing .page-hero { display: none !important; }

/* Compact banner styling */
.itjp-job-banner{
  --itjp-accent:#0a2540;
  background: linear-gradient(90deg, var(--itjp-accent), #1e3a8a);
  color:#fff;
}
.itjp-job-banner__inner{
  max-width: 1100px; margin: 0 auto;
  padding: 18px 16px;
  display:grid; grid-template-columns: 72px 1fr auto; gap:14px; align-items:center;
}
.itjp-job-brand img{
  width:56px; height:56px; object-fit:contain; background:#fff; border-radius:12px; padding:6px;
  box-shadow:0 2px 8px rgba(0,0,0,.12);
}
.itjp-job-title{ font-size: 26px; line-height: 1.25; margin: 0 0 6px; }
.itjp-job-meta{ display:flex; flex-wrap:wrap; gap:6px; }
.itjp-pill{ display:inline-block; padding:6px 10px; border-radius:999px; font-size:13px; }
.itjp-pill--ghost{ background: rgba(255,255,255,.16); color:#fff; border:1px solid rgba(255,255,255,.25); }
.itjp-btn{ display:inline-block; text-decoration:none; border-radius:12px; padding:10px 14px; }
.itjp-btn--primary{ background:#fff; color:#0a2540; border:1px solid #fff; font-weight:600; }

/* Mobile layout */
@media (max-width: 768px){
  .itjp-job-banner__inner{
    grid-template-columns:56px 1fr;
    grid-template-areas:
      "logo title"
      "meta meta"
      "cta  cta";
    gap:12px;
  }
  .itjp-job-brand{ grid-area:logo; }
  .itjp-job-headings{ grid-area:title; }
  .itjp-job-meta{ grid-area:meta; }
  .itjp-job-cta{ grid-area:cta; }
  .itjp-job-title{ font-size:22px; }
  .itjp-btn--primary{ width:100%; text-align:center; padding:12px 16px; }
}

/* Ensure content starts below banner */
.single-job_listing .site-main,
.single-job_listing .content,
.single-job_listing .content-area{ margin-top: 12px; }

/* Job pages: make hamburger/nav readable (white over dark or dark on white) */
@media (max-width: 1024px){
  .single-job_listing .mobile-nav-trigger{
    background: transparent !important;
    color:#0a2540 !important;
    border:1px solid rgba(10,37,64,.85) !important;
    border-radius:12px; padding:8px 12px;
  }
  .single-job_listing .mobile-nav-trigger .fa,
  .single-job_listing .mobile-nav-trigger svg{ color:#0a2540 !important; fill:#0a2540 !important; }
  .single-job_listing .navigation-main > li > a{
    color:#0a2540 !important; text-shadow:none !important;
  }
}








/* ===========================================
   ITJP — Editorial job header + thin top bar
   =========================================== */

/* A) Hide the big hero ONLY on job pages (we’ll use the editorial header instead) */
.single-job_listing .page-hero { display: none !important; }

/* B) Thin, clean site header on job pages (logo left, menu right) */
.single-job_listing .header {
  background: #fff !important;
  box-shadow: 0 1px 0 rgba(0,0,0,.06) !important;
  border-bottom: 0 !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}
.single-job_listing .navigation-main > li > a,
.single-job_listing .mobile-nav-trigger,
.single-job_listing .site-tools a {
  color: #1e3a8a !important;    /* blue links */
  text-shadow: none !important;
}
.single-job_listing .mobile-nav-trigger {
  background: transparent !important;
  border: 1px solid rgba(30,58,138,.85) !important; /* wireframe */
  border-radius: 12px; padding: 8px 12px;
}
.single-job_listing .mobile-nav-trigger .fa,
.single-job_listing .mobile-nav-trigger svg { color: #1e3a8a !important; fill: #1e3a8a !important; }

/* C) Editorial job header block */
.itjp-job-header {
  background: #fff;
  border-bottom: 1px solid #e5e7eb;
}
.itjp-job-header__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 20px 16px 18px;
  text-align: center;
}
.itjp-job-header__title {
  font-size: 28px; line-height: 1.25; margin: 0 0 8px; color: #0a2540;
}
.itjp-job-header__meta {
  display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap;
  font-size: 14px; color: #374151;
}
.itjp-meta-sep { opacity: .6; }
.itjp-company { display: inline-flex; align-items: center; gap: 8px; }
.itjp-company img {
  width: 24px; height: 24px; object-fit: contain;
  border-radius: 6px; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.08);
}

/* D) Mobile sizing */
@media (max-width: 768px) {
  .itjp-job-header__title { font-size: 22px; }
  .itjp-job-header__meta { font-size: 13px; gap: 8px; }
}

/* E) Make sure the main content starts cleanly under the header */
.single-job_listing .site-main,
.single-job_listing .content,
.single-job_listing .content-area { margin-top: 14px; }

/* F) Nuke the theme's tiny mobile Search/Filter bar so it never overlaps */
@media (max-width: 1024px){
  .mobile-triggers, .ci-mobile-bar, .mobile-bar { display: none !important; }
}

/* G) Keep our blue mobile Search button (from earlier work) above everything on mobile */
@media (max-width: 1024px){
  .itjp-mobile-bar { z-index: 9999 !important; }
}



/* ITJP — tiny spacing fix for job header under thin top bar */
.single-job_listing .itjp-job-header{ 
  margin-top: 8px;           /* create a little air below the site header */
}
.single-job_listing .itjp-job-header__inner{
  padding-top: 26px;         /* was ~20px; gives the title/meta more breathing room */
}

/* Slightly more room on small screens */
@media (max-width: 768px){
  .single-job_listing .itjp-job-header{ margin-top: 10px; }
  .single-job_listing .itjp-job-header__inner{ padding-top: 30px; }
}





/* ITJP — tiny spacing fix for job header under thin top bar */
.single-job_listing .itjp-job-header{ 
  margin-top: 18px;           /* create a little air below the site header */
}
.single-job_listing .itjp-job-header__inner{
  padding-top: 26px;         /* was ~20px; gives the title/meta more breathing room */
}

/* Slightly more room on small screens */
@media (max-width: 768px){
  .single-job_listing .itjp-job-header{ margin-top: 10px; }
  .single-job_listing .itjp-job-header__inner{ padding-top: 30px; }
}














/* ITJP — Editorial job header spacing & logo sizing */

/* Keep the big hero hidden only on job pages (we use the editorial header) */
.single-job_listing .page-hero { display: none !important; }

/* Add breathing room so nothing touches the thin top bar */
.single-job_listing .itjp-job-header{ margin-top: 14px; }
.single-job_listing .itjp-job-header__inner{
  padding: 28px 16px 18px; /* +8px top vs before */
}

/* Title/meta look & spacing */
.itjp-job-header__title{
  font-size: 28px; line-height: 1.25; margin: 0 0 8px; color: #0a2540;
}
.itjp-job-header__meta{
  display: inline-flex; align-items: center; gap: 10px; flex-wrap: wrap;
  font-size: 14px; color: #374151;
}
.itjp-meta-sep{ opacity: .6; }

/* Company chip with logo — always visible under the title on all devices */
.itjp-company{ display: inline-flex; align-items: center; gap: 8px; }
.itjp-company img{
  width: 28px; height: 28px; object-fit: contain;
  border-radius: 6px; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.08);
}

/* Slightly smaller on phones for balance */
@media (max-width: 768px){
  .single-job_listing .itjp-job-header__inner{ padding-top: 30px; } /* mobile had the tightest overlap */
  .itjp-job-header__title{ font-size: 22px; }
  .itjp-job-header__meta{ font-size: 13px; gap: 8px; }
  .itjp-company img{ width: 24px; height: 24px; }
}

/* Optional: if the theme also injects a large company logo block near the content
   and you want to avoid duplication, uncomment the next line to hide it on job pages. */
/* .single-job_listing .company_logo, .single-job_listing .job-company-logo { display:none !important; } */










/* ITJP — Editorial job header (final) */

/* Hide the big hero ONLY on job pages */
.single-job_listing .page-hero { display: none !important; }

/* Thin top bar on job pages */
.single-job_listing .header {
  background: #fff !important;
  box-shadow: 0 1px 0 rgba(0,0,0,.06) !important;
  border-bottom: 0 !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}
.single-job_listing .navigation-main > li > a,
.single-job_listing .mobile-nav-trigger,
.single-job_listing .site-tools a {
  color: #1e3a8a !important;
  text-shadow: none !important;
}
.single-job_listing .mobile-nav-trigger{
  background: transparent !important;
  border: 1px solid rgba(30,58,138,.85) !important;
  border-radius: 12px; padding: 8px 12px;
}
.single-job_listing .mobile-nav-trigger .fa,
.single-job_listing .mobile-nav-trigger svg{
  color:#1e3a8a !important; fill:#1e3a8a !important;
}

/* Editorial header */
.itjp-job-header{
  background: #fff;
  border-bottom: 1px solid #e5e7eb;
  margin-top: 16px;                /* clears the thin top bar */
}
.itjp-job-header__inner{
  max-width: 1100px; margin: 0 auto;
  padding: 30px 16px 18px;         /* extra top padding so nothing "kisses" the bar */
  text-align: center;
}
.itjp-job-header__title{
  font-size: 28px; line-height: 1.25; margin: 0 0 8px; color: #0a2540;
}
.itjp-job-header__meta{
  display:inline-flex; align-items:center; gap:10px; flex-wrap:wrap;
  font-size:14px; color:#374151;
}
.itjp-meta-sep{ opacity:.6; }

/* Company chip with logo (always visible just under title) */
.itjp-company{ display:inline-flex; align-items:center; gap:8px; }
.itjp-company img{
  width:28px; height:28px; object-fit:contain;
  border-radius:6px; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.08);
}

/* Content spacing below header */
.single-job_listing .site-main,
.single-job_listing .content,
.single-job_listing .content-area{ margin-top: 14px; }

/* Mobile sizing */
@media (max-width: 768px){
  .itjp-job-header__inner{ padding-top: 32px; }
  .itjp-job-header__title{ font-size: 22px; }
  .itjp-job-header__meta{ font-size: 13px; gap: 8px; }
  .itjp-company img{ width: 24px; height: 24px; }
}

/* Kill any tiny theme mobile "Search/Filter" rails so they never overlay */
@media (max-width: 1024px){
  .mobile-triggers, .ci-mobile-bar, .mobile-bar { display: none !important; }
}

/* Ensure our blue Search button (from earlier) stays above all on mobile */
@media (max-width: 1024px){
  .itjp-mobile-bar{ z-index: 9999 !important; }
}











/* ITJP — Editorial job header + spacing */

/* Hide big hero ONLY on job pages */
.single-job_listing .page-hero,
.single-job_listing .page-hero::before,
.single-job_listing .page-hero .page-hero-content { display:none !important; }

/* Thin white top bar on job pages */
.single-job_listing .header{
  background:#fff !important;
  box-shadow:0 1px 0 rgba(0,0,0,.06) !important;
  border-bottom:0 !important;
  padding:8px 0 !important;
}
.single-job_listing .navigation-main > li > a,
.single-job_listing .mobile-nav-trigger,
.single-job_listing .site-tools a{
  color:#1e3a8a !important; text-shadow:none !important;
}
.single-job_listing .mobile-nav-trigger{
  background:transparent !important;
  border:1px solid rgba(30,58,138,.85) !important;
  border-radius:12px; padding:8px 12px;
}

/* Editorial header block */
.itjp-job-header{ background:#fff; border-bottom:1px solid #e5e7eb; margin-top:16px; }
.itjp-job-header__inner{ max-width:1100px; margin:0 auto; padding:30px 16px 18px; text-align:center; }
.itjp-job-header__title{ font-size:28px; line-height:1.25; margin:0 0 8px; color:#0a2540; }
.itjp-job-header__meta{ display:inline-flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:14px; color:#374151; }
.itjp-meta-sep{ opacity:.6; }
.itjp-company{ display:inline-flex; align-items:center; gap:8px; }
.itjp-company img{ width:28px; height:28px; object-fit:contain; border-radius:6px; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.08); }

@media (max-width:768px){
  .itjp-job-header__inner{ padding-top:32px; }
  .itjp-job-header__title{ font-size:22px; }
  .itjp-job-header__meta{ font-size:13px; gap:8px; }
  .itjp-company img{ width:24px; height:24px; }
}

/* Nudge the right sidebar company box down so it doesn't kiss the divider */
.single-job_listing .entry-sidebar,
.single-job_listing .sidebar,
.single-job_listing .listing-sidebar{ margin-top:16px !important; }
.single-job_listing .company_logo img,
.single-job_listing .job-company-logo img{ display:block; margin-top:12px !important; max-width:100%; height:auto; }

/* Keep our bottom mobile Search button above all */
@media (max-width:1024px){ .itjp-mobile-bar{ z-index:9999 !important; } }















/* ITJP — editorial header & sidebar fixes (final) */

/* Hide big hero ONLY on job pages (we use the editorial header) */
.single-job_listing .page-hero,
.single-job_listing .page-hero::before,
.single-job_listing .page-hero .page-hero-content { display: none !important; }

/* Thin white top bar with blue links on job pages */
.single-job_listing .header{
  background:#fff !important; box-shadow:0 1px 0 rgba(0,0,0,.06) !important;
  border-bottom:0 !important; padding:8px 0 !important;
}
.single-job_listing .navigation-main > li > a,
.single-job_listing .mobile-nav-trigger,
.single-job_listing .site-tools a{ color:#1e3a8a !important; text-shadow:none !important; }
.single-job_listing .mobile-nav-trigger{
  background:transparent !important; border:1px solid rgba(30,58,138,.85) !important;
  border-radius:12px; padding:8px 12px;
}

/* Editorial header spacing + sizes */
.single-job_listing .itjp-job-header{ background:#fff; border-bottom:1px solid #e5e7eb; margin-top:16px; }
.single-job_listing .itjp-job-header__inner{ max-width:1100px; margin:0 auto; padding:30px 16px 18px; text-align:center; }
.itjp-job-header__title{ font-size:28px; line-height:1.25; margin:0 0 8px; color:#0a2540; }
.itjp-job-header__meta{ display:inline-flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:14px; color:#374151; }
.itjp-meta-sep{ opacity:.6; }
.itjp-company{ display:inline-flex; align-items:center; gap:8px; }
.itjp-company img{ width:28px; height:28px; object-fit:contain; border-radius:6px; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.08); }
@media (max-width:768px){
  .single-job_listing .itjp-job-header__inner{ padding-top:32px; }
  .itjp-job-header__title{ font-size:22px; }
  .itjp-job-header__meta{ font-size:13px; gap:8px; }
  .itjp-company img{ width:24px; height:24px; }
}

/* Ensure the sidebar company box is VISIBLE on desktop (no accidental hide) */
.single-job_listing .entry-sidebar,
.single-job_listing .listing-sidebar,
.single-job_listing .sidebar{
  display:block !important; visibility:visible !important; opacity:1 !important;
  margin-top:18px !important;
}

/* Sidebar company card/logo spacing */
.single-job_listing .company_logo, .single-job_listing .job-company-logo{ margin-top:10px !important; }
.single-job_listing .company_logo img, .single-job_listing .job-company-logo img{
  display:block; max-width:100%; height:auto; margin-top:8px !important;
}

/* Keep our bottom mobile Search button above all */
@media (max-width:1024px){ .itjp-mobile-bar{ z-index:9999 !important; } }














/* ITJP — header spacing & sidebar restore (final) */

/* Ensure editorial header clears the thin top bar comfortably */
.single-job_listing .itjp-job-header{ margin-top: 22px; }
.single-job_listing .itjp-job-header__inner{ padding: 36px 16px 20px; }

/* Keep hero hidden only on job pages */
.single-job_listing .page-hero,
.single-job_listing .page-hero::before,
.single-job_listing .page-hero .page-hero-content{ display:none !important; }

/* Restore the right sidebar company box on DESKTOP */
@media (min-width: 1025px){
  .single-job_listing .entry-sidebar,
  .single-job_listing .listing-sidebar,
  .single-job_listing .sidebar,
  .single-job_listing .site-sidebar,
  .single-job_listing .widget-area{
    display:block !important; visibility:visible !important; opacity:1 !important;
  }
  /* Nudge it down from the divider a bit */
  .single-job_listing .entry-sidebar,
  .single-job_listing .listing-sidebar,
  .single-job_listing .sidebar{ margin-top: 20px !important; }
  .single-job_listing .company_logo,
  .single-job_listing .job-company-logo{ margin-top: 10px !important; }
}

/* Company chip next to name (under title) */
.itjp-company{ display:inline-flex; align-items:center; gap:8px; }
.itjp-company img{
  width:28px; height:28px; object-fit:contain;
  border-radius:6px; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.08);
}

/* Mobile size tweaks */
@media (max-width: 768px){
  .single-job_listing .itjp-job-header__inner{ padding-top: 32px; }
  .itjp-company img{ width:24px; height:24px; }
}










/* ITJP — restore Company Information sidebar on desktop + tidy spacing */

/* Ensure the editorial header never kisses the top bar */
.single-job_listing .itjp-job-header{ margin-top: 22px; }
.single-job_listing .itjp-job-header__inner{ padding-top: 36px; }

/* Hide the big hero ONLY on job pages (so header appears immediately) */
.single-job_listing .page-hero,
.single-job_listing .page-hero::before,
.single-job_listing .page-hero .page-hero-content { display:none !important; }

/* DESKTOP (≥992px): show the right sidebar column and its widgets */
@media (min-width: 992px){
  /* Un-hide the column and sidebar */
  .single-job_listing .col-xl-3.col-lg-4.col-xs-12,
  .single-job_listing .sidebar,
  .single-job_listing .entry-sidebar,
  .single-job_listing .listing-sidebar,
  .single-job_listing .widget-area {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Make sure the Company Information widget itself is visible */
  .single-job_listing .widget_ci-company-info-widget { display:block !important; }

  /* Nudge the sidebar down a touch so it doesn't kiss the divider */
  .single-job_listing .col-xl-3.col-lg-4.col-xs-12,
  .single-job_listing .sidebar { margin-top: 20px !important; }

  /* Logo/card spacing inside the Company Information widget */
  .single-job_listing .company_logo,
  .single-job_listing .job-company-logo { margin-top: 10px !important; }
  .single-job_listing .company_logo img,
  .single-job_listing .job-company-logo img { display:block; max-width:100%; height:auto; margin-top:8px !important; }

  /* If the theme collapses the grid at this breakpoint, force two columns */
  .single-job_listing .main .container > .row {
    align-items: flex-start;
  }
}

/* MOBILE: keep sidebar stacked below the content (default behavior) — no changes */




















/* ITJP — Sidebar company card reset + gentle spacing (DESKTOP only) */
@media (min-width: 992px){
  /* 1) Reset anything that might have hidden or displaced the sidebar */
  .single-job_listing .entry-sidebar,
  .single-job_listing .listing-sidebar,
  .single-job_listing .sidebar,
  .single-job_listing .col-xl-3.col-lg-4.col-xs-12{
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-top: 0 !important;      /* reset previous big margins */
    position: static !important;    /* reset any accidental positioning */
    clear: none !important;         /* reset our earlier clear */
  }

  /* 2) Add safe internal spacing so the logo clears the divider/header */
  .single-job_listing .sidebar{ 
    padding-top: 28px !important;   /* gentle, cannot collapse like margin can */
  }

  /* 3) Make sure the Company Information widget & logo breathe */
  .single-job_listing .widget_ci-company-info-widget{
    display: block !important;
    padding-top: 10px !important;
    overflow: visible !important;
  }
  .single-job_listing .company_logo,
  .single-job_listing .job-company-logo{ margin-top: 10px !important; }
  .single-job_listing .company_logo img,
  .single-job_listing .job-company-logo img{
    display: block; max-width: 100%; height: auto;
    margin-top: 6px !important;
  }

  /* 4) Keep the content + sidebar aligned to the top */
  .single-job_listing .main .container > .row{ align-items: flex-start; }
}



















/* ===== ITJP — Authoritative desktop sidebar restore (final) ===== */

/* Keep the editorial header comfortably below the thin top bar */
.single-job_listing .itjp-job-header{ margin-top:22px; }
.single-job_listing .itjp-job-header__inner{ padding-top:36px; }

/* DESKTOP (>= 992px): force the right sidebar to render and breathe */
@media (min-width: 992px){
  /* Ensure the row behaves like two columns, aligned at the top */
  .single-job_listing .main .container > .row{
    display: flex;
    align-items: flex-start;
  }

  /* Unhide any of the theme’s sidebar containers on job singles */
  .single-job_listing .entry-sidebar,
  .single-job_listing .listing-sidebar,
  .single-job_listing .sidebar,
  .single-job_listing .site-sidebar,
  .single-job_listing .widget-area,
  .single-job_listing .col-xl-3.col-lg-4.col-xs-12{
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    margin-top: 0 !important;       /* clear out past “big margin” experiments */
    padding-top: 28px !important;    /* creates clearance under sticky/thin header */
    z-index: 1;
  }

  /* Make sure the actual Company Information widget shows */
  .single-job_listing .widget_ci-company-info-widget{
    display: block !important;
    padding-top: 10px !important;    /* gentle breathing room inside the card */
    overflow: visible !important;
  }

  /* Logo/card spacing & safe sizing */
  .single-job_listing .company_logo,
  .single-job_listing .job-company-logo{ margin-top: 10px !important; }

  .single-job_listing .company_logo img,
  .single-job_listing .job-company-logo img{
    display: block;
    max-width: 100%;
    height: auto;
    margin-top: 6px !important;
  }
}

















/* ITJP — Sidebar company card: force show on desktop + clear the thin header */
@media (min-width: 1025px){
  /* 1) Unhide ANY sidebar-ish container on job singles */
  .single-job_listing [class*="sidebar"],
  .single-job_listing .site-sidebar,
  .single-job_listing .widget-area,
  .single-job_listing .entry-sidebar,
  .single-job_listing .listing-sidebar {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    float: none !important;     /* neutral baseline, avoids stray floats */
    margin-top: 0 !important;
    padding-top: 56px !important;  /* header clearance so the logo can’t get clipped */
    z-index: 1;
  }

  /* 2) Make sure the actual Company Information widget renders */
  .single-job_listing .widget_ci-company-info-widget {
    display: block !important;
    overflow: visible !important;
  }

  /* 3) Logo sizing & breathing room inside the card */
  .single-job_listing .company_logo,
  .single-job_listing .job-company-logo { margin-top: 10px !important; }

  .single-job_listing .company_logo img,
  .single-job_listing .job-company-logo img {
    display: block; max-width: 100%; height: auto; margin-top: 6px !important;
  }
}










/* ITJP — Nudge the sidebar down a bit more on desktop */
@media (min-width: 1025px){
  .single-job_listing [class*="sidebar"],
  .single-job_listing .site-sidebar,
  .single-job_listing .widget-area,
  .single-job_listing .entry-sidebar,
  .single-job_listing .listing-sidebar{
    /* extra clearance so the logo/card clears the thin top bar */
    padding-top: 128px !important;

    /* neutralize any earlier experiments that pulled it up */
    margin-top: 0 !important;
    top: auto !important;
    transform: none !important;
  }

  /* tiny breathing room inside the card */
  .single-job_listing .widget_ci-company-info-widget{
    margin-top: 6px !important;
  }
}





/* ITJP — Homepage mobile: hide the legacy hero search overlay (keep our UI) */
@media (max-width: 1024px){
  body.home .form-filter,
  body.home .form-filter-header,
  body.home .form-filter-dismiss{
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }
}







/* ITJP — Homepage mobile: make hamburger + "Menu" text blue on white bar */
@media (max-width: 1024px){
  /* Give the homepage header the same white bar look as job pages */
  body.home .header{
    background:#fff !important;
    box-shadow:0 1px 0 rgba(0,0,0,.06) !important;
    border-bottom:0 !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
  }

  /* Blue wireframe chip + blue text/icon (match job pages) */
  body.home .mobile-nav-trigger{
    background: transparent !important;
    color:#1e3a8a !important;                            /* text "Menu" */
    border:1px solid rgba(30,58,138,.85) !important;     /* blue wireframe */
    border-radius:12px; padding:8px 12px;
  }
  body.home .mobile-nav-trigger .fa,
  body.home .mobile-nav-trigger svg{
    color:#1e3a8a !important; fill:#1e3a8a !important;   /* hamburger icon */
  }
}












/* ITJP — 1) DESKTOP: Make top nav (Menu 4) links blue site-wide */
@media (min-width: 1025px){
  /* Top-level items in the header nav */
  #menu-menu-4.navigation-main > li > a{
    color: #1e3a8a !important;   /* deep brand blue */
    text-shadow: none !important; /* kill any fade/shadow */
  }
  /* Active/hover/focus states also blue (slightly brighter) */
  #menu-menu-4.navigation-main > li:hover > a,
  #menu-menu-4.navigation-main > li > a:focus,
  #menu-menu-4.navigation-main > .current-menu-item > a,
  #menu-menu-4.navigation-main > .current-menu-parent > a,
  #menu-menu-4.navigation-main > .current-menu-ancestor > a{
    color: #0046c3 !important;
  }
}

/* ITJP — 2) MOBILE/TABLET: Hamburger + “Menu” in blue on all pages (white bar safe) */
@media (max-width: 1024px){
  .mobile-nav-trigger{
    background: transparent !important;
    color:#1e3a8a !important;                            /* text “Menu” */
    border:1px solid rgba(30,58,138,.85) !important;     /* blue wireframe */
    border-radius:12px; padding:8px 12px;
  }
  .mobile-nav-trigger .fa,
  .mobile-nav-trigger svg{
    color:#1e3a8a !important; fill:#1e3a8a !important;   /* hamburger icon */
  }
}














/* ITJP — Reset desktop blue-hero to full-width cover (undo contain/ratio/clamp) */
@media (min-width:1025px){
  body.itjp-header-on-blue .page-hero{
    /* restore natural full-bleed background image */
    background-size: cover !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;

    /* drop earlier sizing constraints */
    height: auto !important;
    min-height: unset !important;
    aspect-ratio: unset !important;
  }

	@media (min-width:1025px){
  body.itjp-header-on-blue .page-hero{ min-height: clamp(240px, 20vw, 340px) !important; }
}

	
	
  /* Keep the gentle top fade so white nav/title stay readable (optional) */
  body.itjp-header-on-blue .page-hero::before{
    content:""; position:absolute; left:0; right:0; top:0; height:140px;
    background: linear-gradient(
      to bottom,
      rgba(0,16,56,.55) 0,
      rgba(0,16,56,.35) 80px,
      rgba(0,16,56,0) 140px
    );
    pointer-events:none;
  }
}












/* ITJP — Desktop: make top nav (Menu 4) white site-wide */
@media (min-width:1025px){
  #menu-menu-4.navigation-main > li > a{
    color:#fff !important;
    text-shadow:0 2px 6px rgba(0,0,0,.35) !important; /* subtle depth for 2025 feel */
  }
  #menu-menu-4.navigation-main > li:hover > a,
  #menu-menu-4.navigation-main > li > a:focus,
  #menu-menu-4.navigation-main > .current-menu-item > a,
  #menu-menu-4.navigation-main > .current-menu-parent > a,
  #menu-menu-4.navigation-main > .current-menu-ancestor > a{
    color:#fff !important;
    text-shadow:0 3px 10px rgba(0,0,0,.45) !important;
  }

  /* If you have dropdowns, keep those links white too */
  #menu-menu-4.navigation-main li ul a{
    color:#fff !important;
  }
}






/* ITJP — Desktop Menu 4: readable dropdowns on white panel */
@media (min-width:1025px){
  /* The dropdown panel itself */
  #menu-menu-4.navigation-main li ul,
  #menu-menu-4.navigation-main li .sub-menu {
    background: #fff !important;
    border: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 8px 24px rgba(15,23,42,.12);
    border-radius: 12px;
    padding: 8px;
    min-width: 220px; /* tweak if needed */
  }

  /* Dropdown links: dark by default on white panel */
  #menu-menu-4.navigation-main li ul li a {
    color: #0f172a !important;       /* dark text on white */
    text-shadow: none !important;
    padding: 10px 14px;
    border-radius: 8px;              /* for nice hover highlight */
    display: block;
  }

  /* Hover/focus inside the dropdown: subtle blue highlight */
  #menu-menu-4.navigation-main li ul li:hover > a,
  #menu-menu-4.navigation-main li ul li a:focus {
    color: #1e3a8a !important;       /* brand blue text */
    background: rgba(37,99,235,.08) !important; /* pale blue tint */
  }

  /* Nested dropdowns (if any) keep the same white styling */
  #menu-menu-4.navigation-main li ul ul {
    background: #fff !important;
  }

  /* Optional: caret arrows inside dropdowns pick up the link color */
  #menu-menu-4.navigation-main li ul li.menu-item-has-children > a:after {
    color: currentColor !important;
    border-top-color: currentColor !important; /* for triangle-style carets */
  }
}















/* ITJP — Desktop: default = WHITE menu (everywhere) */
@media (min-width:1025px){
  #menu-menu-4.navigation-main > li > a{
    color:#fff !important;
    text-shadow:0 2px 6px rgba(0,0,0,.35) !important;
  }
  #menu-menu-4.navigation-main > li:hover > a,
  #menu-menu-4.navigation-main > li > a:focus,
  #menu-menu-4.navigation-main > .current-menu-item > a,
  #menu-menu-4.navigation-main > .current-menu-parent > a,
  #menu-menu-4.navigation-main > .current-menu-ancestor > a{
    color:#fff !important;
    text-shadow:0 3px 10px rgba(0,0,0,.45) !important;
  }
}

/* ITJP — Desktop: on JOB pages, make top-level links BLUE for the white bar */
@media (min-width:1025px){
  body.itjp-job-context #menu-menu-4.navigation-main > li > a{
    color:#1e3a8a !important;    /* blue */
    text-shadow:none !important;
  }
  body.itjp-job-context #menu-menu-4.navigation-main > li:hover > a,
  body.itjp-job-context #menu-menu-4.navigation-main > li > a:focus{
    color:#0046c3 !important;    /* brighter blue on hover/focus */
  }
}







/* ITJP — Desktop: make Menu 4 BLUE on job pages (white everywhere else) */
@media (min-width:1025px){
  body.itjp-job-context #menu-menu-4.navigation-main > li > a{
    color:#1e3a8a !important;    /* blue */
    text-shadow:none !important;
  }
  body.itjp-job-context #menu-menu-4.navigation-main > li:hover > a,
  body.itjp-job-context #menu-menu-4.navigation-main > li > a:focus,
  body.itjp-job-context #menu-menu-4.navigation-main > .current-menu-item > a,
  body.itjp-job-context #menu-menu-4.navigation-main > .current-menu-parent > a,
  body.itjp-job-context #menu-menu-4.navigation-main > .current-menu-ancestor > a{
    color:#0046c3 !important;    /* brighter blue on hover/active */
    text-shadow:none !important;
  }
}
