/* Fixed pages whose body is edited in WordPress. Their hero is shared with the service pages. */
.jj-fixed-cms-main > .jj-post-breadcrumb-wrap {
  padding: 12px 0;
  background: #fff;
}
.jj-fixed-cms-main .jj-post-breadcrumb-wrap > .jj-container {
  width: min(calc(100% - 40px), 1200px);
  margin-inline: auto;
  padding-inline: 0;
}
.jj-fixed-cms-main .jj-breadcrumb { color: #4c6471; font-size: 13px; line-height: 1.6; }
.jj-fixed-cms-main .jj-breadcrumb-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.jj-fixed-cms-main .jj-breadcrumb-item { display: inline-flex; align-items: baseline; gap: 8px; min-width: 0; }
.jj-fixed-cms-main .jj-breadcrumb-item a { color: inherit; }
.jj-fixed-cms {
  color: #17394b;
  --jj-primary: #006fae;
  line-break: strict;
  overflow-wrap: anywhere;
}
.jj-fixed-cms > .jj-fixed-cms-body {
  width: min(100% - 2 * clamp(20px, 4vw, 54px), 1080px);
  margin: 0 auto;
  padding: clamp(40px, 6.5vw, 90px) 0;
  font-size: 16px;
  line-height: 1.9;
}
.jj-fixed-cms--standard .jj-fixed-cms-body > :is(p, h2, h3, ol, ul),
.jj-fixed-cms--standard .jj-fixed-cms-body > .jj-section > :is(p, h2, h3, ol, ul) {
  max-width: 48rem;
  margin-inline: auto;
}
.jj-fixed-cms--standard .jj-fixed-cms-body h2 {
  padding: 0;
  border: 0;
  color: var(--jj-primary, #006fae);
  font-size: clamp(23px, 2.5vw, 36px);
  line-height: 1.55;
  text-align: center;
  text-wrap: balance;
}
.jj-fixed-cms--standard .jj-fixed-cms-body h2::after { content: none; }
.jj-fixed-cms--standard .jj-fixed-cms-body > h2,
.jj-fixed-cms--standard .wp-block-group h2 { margin-block: clamp(40px, 6vw, 80px) 22px; }
.jj-fixed-cms--standard :is(.jj-fixed-cms-body,.jj-section,.wp-block-group) > h2:first-child { margin-top: 0; }
.jj-fixed-cms--standard .jj-fixed-cms-body h3 { color: #15384e; line-height: 1.6; }
.jj-fixed-cms--standard .jj-fixed-cms-body .jj-section {
  margin: 0;
  padding: clamp(36px, 5vw, 68px) 0;
}
.jj-fixed-cms--standard .jj-fixed-cms-body > .jj-section:first-child { padding-top: 0; }
.jj-fixed-cms--standard .jj-fixed-cms-body .jj-section--alt {
  padding: clamp(28px, 5vw, 56px) clamp(18px, 4vw, 48px);
  border: 0;
  border-radius: 20px;
  background: #f3f8fb;
}
.jj-fixed-cms--standard .jj-grid-2,
.jj-fixed-cms--standard .jj-grid-3 {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(14px, 2vw, 24px);
  margin-block: 22px 0;
}
@media (min-width: 768px) {
  .jj-fixed-cms--standard :is(.jj-grid-2, .jj-grid-3, .jj-text-image) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(14px, 2vw, 24px);
  }
}
@media (min-width: 1024px) {
  .jj-fixed-cms--standard .jj-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.jj-fixed-cms--standard .jj-card {
  display: block;
  min-width: 0;
  padding: clamp(18px, 2.6vw, 32px);
  border: 1px solid #d4e5ee;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 3px 12px rgb(23 57 75 / 5%);
}
.jj-fixed-cms--standard .jj-card .jj-card-icon { margin-bottom: 10px; font-size: 1.4rem; text-align: left; }
.jj-fixed-cms--standard .jj-card h3 { font-size: clamp(17px, 1.6vw, 21px); }
.jj-fixed-cms--standard .jj-card p { color: #445d6b; font-size: 1rem; line-height: 1.8; }
.jj-fixed-cms--standard .jj-faq-item { padding: 18px 0; border-block-end: 1px solid #d4e0e5; }
.jj-fixed-cms--standard .jj-faq-item h3 { margin: 0 0 6px; font-size: 1.05rem; }
.jj-fixed-cms--standard .jj-faq-item p { margin: 0; }
.jj-fixed-cms--standard .jj-flow { display: grid; gap: 12px; margin-block: 24px; }
.jj-fixed-cms--standard .jj-flow-step {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 0 16px;
  min-width: 0;
  padding: 18px 20px;
  border: 1px solid #d4e5ee;
  border-radius: 12px;
  background: #f3f8fb;
}
.jj-fixed-cms--standard .jj-flow-step > :is(.jj-flow-num, .step-num) {
  display: grid;
  grid-row: 1 / span 2;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--jj-primary);
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
}
.jj-fixed-cms--standard .jj-flow-step > p { grid-column: 2; margin: 0; }
.jj-fixed-cms--standard .jj-flow-step > p:empty { display: none; }
.jj-fixed-cms--standard .jj-fixed-cms-body .jj-related { margin-top: 32px; padding: 22px; background: #f3f8fb; border-radius: 12px; }
.jj-fixed-cms--standard .jj-fixed-cms-body :where(ul,ol) { padding-inline-start: 1.5em; }
.jj-fixed-cms--standard .jj-fixed-cms-body ul { list-style: disc; }
.jj-fixed-cms--standard .jj-fixed-cms-body ol { list-style: decimal; }
.jj-fixed-cms--standard .jj-fixed-cms-body a:not(.jj-legacy-chat-cta) { color: var(--jj-primary); text-decoration: underline; text-underline-offset: .2em; }
.jj-fixed-cms--standard .jj-fixed-cms-body :is(h2,h3) { font-weight: 700; }
.jj-fixed-cms--standard .jj-fixed-cms-body p + p { margin-block-start: 1em; }
.jj-fixed-cms--standard .jj-cta-block {
  margin-block: clamp(32px, 4vw, 60px);
  padding: clamp(24px, 4.5vw, 56px) clamp(16px, 4vw, 48px);
  border: 0;
  border-radius: 18px;
  background: #e0f2fd;
  text-align: center;
}
.jj-fixed-cms .jj-cta-block .jj-legacy-chat-cta { display: inline-flex; align-items: center; justify-content: center; gap: .5em; min-height: 52px; padding: 12px 24px; font-weight: 700; text-decoration: none; }
.jj-fixed-cms .jj-cta-block .jj-legacy-chat-cta,
.jj-fixed-cms--intern .jjlp .jj-bm {
  border-radius: 7px;
  color: #fff;
  background: var(--jj-consultation-bg, #ea0000);
  border-color: var(--jj-consultation-bg, #ea0000);
}
.jj-fixed-cms .jj-cta-block .jj-legacy-chat-cta:hover,
.jj-fixed-cms--intern .jjlp .jj-bm:hover { background: var(--jj-consultation-bg-hover, #c90000); color: #fff; }
.jj-fixed-cms-body img { max-width: 100%; height: auto; }
.jj-fixed-cms-body .wp-block-image { margin-inline: auto; }
.jj-fixed-cms-body .wp-block-image img { display: block; height: auto; margin-inline: auto; border-radius: 10px; }
.jj-fixed-cms-body .wp-block-columns { display: flex; flex-wrap: wrap; align-items: center; gap: clamp(24px, 4vw, 48px); }
.jj-fixed-cms-body .wp-block-column { flex: 1 1 240px; min-width: 0; }
.jj-fixed-cms-body .wp-block-table { margin-inline: 0; }
.jj-fixed-cms-body .jj-table-scroll, .jj-fixed-cms-body .wp-block-table {
  max-width: 100%;
  overflow-x: auto;
}
.jj-fixed-cms-body table { width: 100%; border-collapse: collapse; table-layout: auto; }
.jj-fixed-cms-body :is(th, td) { padding: 12px clamp(8px, 2vw, 18px); border: 1px solid #d4e0e5; text-align: start; vertical-align: top; }
.jj-fixed-cms-body th { background: #eff7fb; }
.jj-fixed-cms-body :where(figure, ul, ol, li, div, p) { min-width: 0; }

/* The older internship and confirmation pages already include a complete hero in their body. */
.jj-fixed-cms--thanks > .jj-fixed-cms-body,
.jj-fixed-cms--intern > .jj-fixed-cms-body { width: 100%; padding: 0; }
.jj-fixed-cms--intern .jjlp .jj-hero,
.jj-fixed-cms--thanks > .jj-fixed-cms-body { background: var(--jj-fixed-hero-background, #e5f3fa); }
.jj-fixed-cms--thanks .jj-thanks-wrap { max-width: 740px !important; padding: clamp(40px, 6vw, 82px) 24px !important; }
.jj-fixed-cms--thanks .jj-thanks-wrap h1 {
  color: #15384e !important;
  font-size: clamp(29px, 4vw, 48px) !important;
  line-height: 1.45;
  text-wrap: balance;
}
.jj-fixed-cms--thanks .jj-thanks-wrap > div:has(> p) { margin-top: 28px; background: #fff !important; }
.jj-fixed-cms--intern .jjlp { --intern-accent: var(--jj-consultation-bg, #ea0000); }
.jj-fixed-cms--intern .jjlp .jj-hero { border: 0; padding: clamp(36px, 5vw, 70px) 0; }
.jj-fixed-cms--intern .jjlp .jj-w,
.jj-fixed-cms--intern .jjlp .jj-bar-inner { width: min(1120px, calc(100% - 40px)); margin-inline: auto; }
.jj-fixed-cms--intern .jjlp .jj-hgrid { display: grid; grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 0; text-align: center; }
.jj-fixed-cms--intern .jjlp .jj-hgrid > div { display: contents; }
.jj-fixed-cms--intern .jjlp .jj-hgrid > div > * { width: min(100%, 700px); margin-inline: auto; }
.jj-fixed-cms--intern .jjlp .jj-hgrid .jj-catch { order: 0; color: var(--jj-primary); }
.jj-fixed-cms--intern .jjlp .jj-hgrid .jj-h1 {
  order: 1;
  color: #15384e;
  font-size: clamp(30px, 4.1vw, 56px);
  line-height: 1.45;
  text-wrap: balance;
}
.jj-fixed-cms--intern .jjlp .jj-h1 [style] { color: var(--jj-primary) !important; }
.jj-fixed-cms--intern .jjlp .jj-hgrid .jj-img {
  order: 2;
  width: min(100%, 600px);
  height: auto !important;
  aspect-ratio: auto;
  margin: 24px auto 0 !important;
  border: 7px solid #fff;
  border-radius: 17px;
}
.jj-fixed-cms--intern .jjlp .jj-hgrid .jj-lead { order: 3; }
.jj-fixed-cms--intern .jjlp .jj-hgrid .jj-btns { order: 4; justify-content: center; }
.jj-fixed-cms--intern .jjlp .jj-hgrid .jj-tags { order: 5; }
.jj-fixed-cms--intern .jjlp .jj-hgrid .jj-trust { order: 6; }
.jj-fixed-cms--intern .jjlp .jj-hgrid .jj-offer { order: 7; margin-top: 28px; border: 0; border-radius: 16px; }
.jj-fixed-cms--intern .jjlp .jj-ctr .jj-ttl { color: var(--jj-primary); }

@media (max-width: 600px) {
  .jj-fixed-cms--standard .jj-section--alt .jj-grid-2,
  .jj-fixed-cms--standard .jj-section--alt .jj-grid-3 { gap: 12px; }
  .jj-fixed-cms-body table { font-size: .9rem; }
  .jj-fixed-cms--intern .jjlp .jj-hgrid .jj-trust { grid-template-columns: minmax(0, 1fr); }
}
