/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Oct 19 2026 | 16:18:27 */
/* Publication pages (CSS)
   Styles for the "Publication page – full" and "Publication page – short"
   Elementor templates. For now every rule is tied to body.page-id-2900 (the
   draft), so no other page is affected. Most rules also need the class
   "shd-pub-on", which the "Publication pages (JS)" entry adds.
   Font: the site's own Fira Sans; nothing is loaded from another website. */

body.page-id-2900:not(.elementor-editor-active):not(.shd-pub-ready) #content { visibility: hidden; animation: shd-pub-reveal 0s linear 1.5s forwards; }
@keyframes shd-pub-reveal { to { visibility: visible; } }

html.shd-pub-on body.page-id-2900 .shd-pub-hidden { display: none !important; }
html.shd-pub-on body.page-id-2900 #content { overflow-x: clip; }
html.shd-pub-on body.page-id-2900 .shd-pub,
html.shd-pub-on body.page-id-2900 .shd-pub * { box-sizing: border-box; font-family: "Fira Sans", fira-sans, sans-serif; letter-spacing: 0; text-transform: none; }
html.shd-pub-on body.page-id-2900 .shd-pub.e-con { --padding-block-start: 0; --padding-block-end: 0; --padding-inline-start: 0; --padding-inline-end: 0; --margin-block-start: 0; --margin-block-end: 0; --gap: 0; --row-gap: 0; --column-gap: 0; max-width: none; width: 100%; }
html.shd-pub-on body.page-id-2900 .shd-pub .e-con { --padding-block-start: 0; --padding-block-end: 0; --padding-inline-start: 0; --padding-inline-end: 0; --margin-block-start: 0; --margin-block-end: 0; --gap: 0; --row-gap: 0; --column-gap: 0; }
html.shd-pub-on body.page-id-2900 .shd-pub .elementor-widget { margin: 0; width: auto; }
html.shd-pub-on body.page-id-2900 .shd-pub .elementor-widget-container { text-align: left; }
html.shd-pub-on body.page-id-2900 .shd-pub-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
html.shd-pub-on body.page-id-2900 .shd-pub a:focus-visible,
html.shd-pub-on body.page-id-2900 .shd-pub button:focus-visible { outline: 3px solid #13203F; outline-offset: 3px; }
/* The content area of every section is the same 1132px as on the EU Call To
   Action page: the side padding grows with the screen. */
html.shd-pub-on body.page-id-2900 .shd-pub-band,
html.shd-pub-on body.page-id-2900 .shd-pub-section,
html.shd-pub-on body.page-id-2900 .shd-pub-more { padding-left: max(24px, calc((100% - 1132px) / 2)); padding-right: max(24px, calc((100% - 1132px) / 2)); }

/* 1. Blue band */
html.shd-pub-on body.page-id-2900 .shd-pub-band { position: relative; overflow: hidden; padding-top: 64px; padding-bottom: 72px; background: #003399; color: #fff; box-shadow: 0 -12px 0 #003399; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; gap: 48px; }
html.shd-pub-on body.page-id-2900 .shd-pub-band__text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; }
html.shd-pub-on body.page-id-2900 .shd-pub-band__cover { flex: 0 0 260px; width: 260px; display: flex; justify-content: center; }
html.shd-pub-on body.page-id-2900 .shd-pub-crumb { margin: 0 0 14px; font-size: 15px; line-height: 1.4; font-weight: 500; color: #FFD0D3; }
html.shd-pub-on body.page-id-2900 .shd-pub-title .elementor-heading-title { margin: 0 0 12px; max-width: 760px; font-size: clamp(30px, 3.6vw, 44px); line-height: 1.15; font-weight: 600; font-style: normal; text-align: left; color: #fff; }
html.shd-pub-on body.page-id-2900 .shd-pub-subtitle .elementor-heading-title { margin: 0 0 30px; max-width: 760px; font-size: 20px; line-height: 1.5; font-weight: 400; font-style: normal; text-align: left; color: #fff; }
html.shd-pub-on body.page-id-2900 .shd-pub-band--short .shd-pub-subtitle .elementor-heading-title { color: #E6ECFA; font-size: 18px; }
html.shd-pub-on body.page-id-2900 .shd-pub-actions { display: flex; flex-direction: row; flex-wrap: wrap; gap: 14px; width: auto; }
html.shd-pub-on body.page-id-2900 .shd-pub-btn .elementor-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 13px 28px; border-radius: 999px; font-size: 16px; line-height: 1.2; font-weight: 600; text-decoration: none !important; transition: background-color .2s ease, color .2s ease, box-shadow .2s ease; }
html.shd-pub-on body.page-id-2900 .shd-pub-btn .elementor-button-content-wrapper { display: inline-flex; align-items: center; gap: 10px; }
html.shd-pub-on body.page-id-2900 .shd-pub-btn .elementor-button-icon { display: inline-flex; font-size: 16px; }
html.shd-pub-on body.page-id-2900 .shd-pub-btn .elementor-button-icon svg { width: 16px; height: 16px; fill: currentColor; }
html.shd-pub-on body.page-id-2900 .shd-pub-btn--read .elementor-button { background: #C4313A; border: 2px solid #C4313A; color: #fff !important; }
html.shd-pub-on body.page-id-2900 .shd-pub-btn--read .elementor-button:hover { background: #A5242C; border-color: #A5242C; color: #fff !important; }
html.shd-pub-on body.page-id-2900 .shd-pub-btn--download .elementor-button { background: transparent; border: 2px solid #fff; color: #fff !important; }
html.shd-pub-on body.page-id-2900 .shd-pub-btn--download .elementor-button:hover { background: rgba(255, 255, 255, .14); color: #fff !important; }
html.shd-pub-on body.page-id-2900 .shd-pub-band a:focus-visible { outline-color: #FFCC00; }
/* The cover: a link to the PDF, lifts on hover and keyboard focus and shows "Open PDF ↗". */
html.shd-pub-on body.page-id-2900 .shd-pub-cover { position: relative; display: block; width: 260px; max-width: 100%; border-radius: 10px; overflow: hidden; background: #fff; box-shadow: 0 18px 40px rgba(0, 0, 0, .35); transition: transform .25s ease, box-shadow .25s ease; }
html.shd-pub-on body.page-id-2900 .shd-pub-cover img { display: block; width: 100%; height: auto; max-width: none; border-radius: 0; }
html.shd-pub-on body.page-id-2900 .shd-pub-cover__hint { position: absolute; left: 0; right: 0; bottom: 0; padding: 12px 14px; background: rgba(0, 51, 153, .92); color: #fff; font-size: 15px; line-height: 1.2; font-weight: 600; text-align: center; transform: translateY(100%); transition: transform .25s ease; }
html.shd-pub-on body.page-id-2900 .shd-pub-cover:hover,
html.shd-pub-on body.page-id-2900 .shd-pub-cover:focus-visible { transform: translateY(-6px); box-shadow: 0 26px 50px rgba(0, 0, 0, .4); }
html.shd-pub-on body.page-id-2900 .shd-pub-cover:hover .shd-pub-cover__hint,
html.shd-pub-on body.page-id-2900 .shd-pub-cover:focus-visible .shd-pub-cover__hint { transform: translateY(0); }
html.shd-pub-on body.page-id-2900 .shd-pub-cover:focus-visible { outline: 3px solid #FFCC00; outline-offset: 4px; }

/* 2. Summary and 3. Recommendations */
html.shd-pub-on body.page-id-2900 .shd-pub-section { padding-top: 56px; padding-bottom: 8px; background: #fff; }
html.shd-pub-on body.page-id-2900 .shd-pub-section,
html.shd-pub-on body.page-id-2900 .shd-pub-more { display: flex; flex-direction: column; align-items: stretch; }
html.shd-pub-on body.page-id-2900 .shd-pub-h2 .elementor-heading-title { margin: 0 0 18px; font-size: clamp(24px, 2.6vw, 30px); line-height: 1.2; font-weight: 600; font-style: normal; text-align: left; color: #003399; }
html.shd-pub-on body.page-id-2900 .shd-pub-text { max-width: 860px; }
html.shd-pub-on body.page-id-2900 .shd-pub-text p { margin: 0 0 16px; font-size: 17px; line-height: 1.65; text-align: left; color: #3A4252; }
html.shd-pub-on body.page-id-2900 .shd-pub-recs { padding-bottom: 64px; }
/* Each card is a grid of three rows (number, heading, text) that it shares with
   the other cards of its row (subgrid), so the heading row is as tall as the
   tallest heading in that row and the grey text starts at the same height in
   every card. With one card per row (mobile) each heading takes its own height.
   Browsers without subgrid simply stack the three parts. */
html.shd-pub-on body.page-id-2900 .shd-pub-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); grid-auto-rows: auto; gap: 20px; width: 100%; counter-reset: shd-pub-card; }
html.shd-pub-on body.page-id-2900 .shd-pub-card { display: grid; grid-template-rows: auto auto 1fr; grid-row: span 3; row-gap: 0; align-content: start; align-items: start; padding: 26px 22px 28px; border: 1px solid #DDE3EE; border-radius: 16px; background: #fff; box-shadow: 0 1px 2px rgba(19, 32, 63, .06); counter-increment: shd-pub-card; }
/* Elementor uses the container's ::before for its background overlay (absolutely
   positioned); here it carries the number, so it is put back into the flow. */
@supports (grid-template-rows: subgrid) {
  html.shd-pub-on body.page-id-2900 .shd-pub-card { grid-template-rows: subgrid; }
}
html.shd-pub-on body.page-id-2900 .shd-pub-card > .elementor-widget { width: 100%; }
html.shd-pub-on body.page-id-2900 .shd-pub-card::before { content: counter(shd-pub-card, decimal-leading-zero); position: static; inset: auto; width: auto; height: auto; display: block; align-self: start; margin: 0 0 14px; font-size: clamp(34px, 3.4vw, 46px); line-height: 1.05; font-weight: 700; font-variant-numeric: tabular-nums; color: #B4233A; }
html.shd-pub-on body.page-id-2900 .shd-pub-card__title .elementor-heading-title { margin: 0 0 10px; font-size: 19px; line-height: 1.3; font-weight: 600; font-style: normal; text-align: left; color: #003399; }
html.shd-pub-on body.page-id-2900 .shd-pub-card__text p { margin: 0; font-size: 15px; line-height: 1.6; text-align: left; color: #3A4252; }

/* 4. More publications */
html.shd-pub-on body.page-id-2900 .shd-pub-more { padding-top: 56px; padding-bottom: 64px; background: #F3F5F9; }
html.shd-pub-on body.page-id-2900 .shd-pub-more--short { padding-top: 28px; padding-bottom: 28px; }
html.shd-pub-on body.page-id-2900 .shd-pub-minis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; list-style: none; margin: 0 0 28px; padding: 0; }
html.shd-pub-on body.page-id-2900 .shd-pub-mini { margin: 0; padding: 0; }
html.shd-pub-on body.page-id-2900 .shd-pub-mini::before, html.shd-pub-on body.page-id-2900 .shd-pub-mini::marker { content: none; }
html.shd-pub-on body.page-id-2900 .shd-pub-mini__link { display: flex; align-items: center; gap: 16px; height: 100%; padding: 14px 16px; border: 1px solid #DDE3EE; border-radius: 14px; background: #fff; color: #13203F !important; text-decoration: none !important; transition: box-shadow .2s ease, border-color .2s ease; }
html.shd-pub-on body.page-id-2900 .shd-pub-mini__link:hover { border-color: #003399; box-shadow: 0 8px 20px rgba(19, 32, 63, .12); }
html.shd-pub-on body.page-id-2900 .shd-pub-mini__cover { display: block; flex: 0 0 56px; width: 56px; height: 78px; overflow: hidden; border-radius: 6px; background: #F3F5F9; }
html.shd-pub-on body.page-id-2900 .shd-pub-mini__cover img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center top; border-radius: 0; }
html.shd-pub-on body.page-id-2900 .shd-pub-mini__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
html.shd-pub-on body.page-id-2900 .shd-pub-mini__meta { font-size: 13px; line-height: 1.35; font-weight: 700; color: var(--shd-pub-type, #4A5568); }
html.shd-pub-on body.page-id-2900 .shd-pub-mini__title { font-size: 15px; line-height: 1.4; font-weight: 600; color: #13203F; overflow-wrap: anywhere; }
html.shd-pub-on body.page-id-2900 .shd-pub-back .elementor-heading-title { margin: 0; font-size: 16px; line-height: 1.4; font-weight: 600; text-align: left; }
html.shd-pub-on body.page-id-2900 .shd-pub-back .elementor-heading-title a { color: #003399; text-decoration: none; }
html.shd-pub-on body.page-id-2900 .shd-pub-back .elementor-heading-title a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Tablet and mobile */
@media (max-width: 1024px) {
  html.shd-pub-on body.page-id-2900 .shd-pub-minis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  html.shd-pub-on body.page-id-2900 .shd-pub-band,
  html.shd-pub-on body.page-id-2900 .shd-pub-section,
  html.shd-pub-on body.page-id-2900 .shd-pub-more { padding-left: 16px; padding-right: 16px; }
  /* The cover goes above the title, 200px wide; the buttons stack full width. */
  html.shd-pub-on body.page-id-2900 .shd-pub-band { padding-top: 40px; padding-bottom: 56px; flex-direction: column; align-items: stretch; gap: 28px; }
  html.shd-pub-on body.page-id-2900 .shd-pub-band__cover { order: -1; flex-basis: auto; width: 100%; justify-content: flex-start; }
  html.shd-pub-on body.page-id-2900 .shd-pub-cover { width: 200px; }
  html.shd-pub-on body.page-id-2900 .shd-pub-title .elementor-heading-title { font-size: 28px; }
  html.shd-pub-on body.page-id-2900 .shd-pub-subtitle .elementor-heading-title { font-size: 18px; margin-bottom: 24px; }
  html.shd-pub-on body.page-id-2900 .shd-pub-actions { flex-direction: column; align-items: stretch; width: 100%; }
  html.shd-pub-on body.page-id-2900 .shd-pub-actions .elementor-widget-button,
  html.shd-pub-on body.page-id-2900 .shd-pub-btn .elementor-widget-container,
  html.shd-pub-on body.page-id-2900 .shd-pub-btn .elementor-button-wrapper,
  html.shd-pub-on body.page-id-2900 .shd-pub-btn .elementor-button { display: flex; width: 100%; }
  html.shd-pub-on body.page-id-2900 .shd-pub-section { padding-top: 40px; padding-bottom: 8px; }
  html.shd-pub-on body.page-id-2900 .shd-pub-recs { padding-bottom: 44px; }
  html.shd-pub-on body.page-id-2900 .shd-pub-text p { font-size: 16px; }
  html.shd-pub-on body.page-id-2900 .shd-pub-cards { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  html.shd-pub-on body.page-id-2900 .shd-pub-more { padding-top: 40px; padding-bottom: 48px; }
  html.shd-pub-on body.page-id-2900 .shd-pub-minis { grid-template-columns: minmax(0, 1fr); gap: 12px; }
}

/* Visitors who ask for reduced motion: nothing moves. */
@media (prefers-reduced-motion: reduce) {
  html.shd-pub-on body.page-id-2900 .shd-pub-cover,
  html.shd-pub-on body.page-id-2900 .shd-pub-cover__hint,
  html.shd-pub-on body.page-id-2900 .shd-pub-btn .elementor-button,
  html.shd-pub-on body.page-id-2900 .shd-pub-mini__link { transition: none; }
  html.shd-pub-on body.page-id-2900 .shd-pub-cover:hover,
  html.shd-pub-on body.page-id-2900 .shd-pub-cover:focus-visible { transform: none; }
}
