/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Oct 28 2026 | 09:00:55 */
/* Publications page (CSS)
   Goes with "Publications page (JS)". Same look as the redesigned pages
   (Fira Sans, blue band, cards, content width 1180px). Every rule needs
   html.shd-pb-on (set by the script) and the scope below, so no other page
   is affected. Scope now: the Publications page /publications/ only (page ID 3165).
   Nothing is loaded from other websites. */

/* Until the script has drawn the new design, the content is hidden (no
   flash of the old layout); after 1.5s it is shown anyway. */
body.page-id-3165:not(.shd-pb-ready):not(.elementor-editor-active) #content { visibility: hidden; animation: shd-pb-reveal 0s linear 1.5s forwards; }
@keyframes shd-pb-reveal { to { visibility: visible; } }

html.shd-pb-on body.page-id-3165 .shd-pb-hidden { display: none !important; }
html.shd-pb-on body.page-id-3165 #content { overflow-x: clip; }
html.shd-pb-on body.page-id-3165 #content > :is(.shd-pb-band, .shd-pb-sec),
html.shd-pb-on body.page-id-3165 #content > :is(.shd-pb-band, .shd-pb-sec) * { box-sizing: border-box; font-family: "Fira Sans", fira-sans, sans-serif; }
html.shd-pb-on body.page-id-3165 :where(#content > .shd-pb-band, #content > .shd-pb-sec) :where(*) { letter-spacing: 0; text-transform: none; font-style: normal; }
html.shd-pb-on body.page-id-3165 .shd-pb-wrap { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 24px; text-align: left; }

/* 1. Blue band */
html.shd-pb-on body.page-id-3165 .shd-pb-band { padding: 44px 0 40px; background: #003399; color: #fff; }
html.shd-pb-on body.page-id-3165 .shd-pb-title { margin: 0 0 10px; padding: 0; font-size: clamp(32px, 3.8vw, 42px); line-height: 1.15; font-weight: 500; text-align: left; color: #fff; }
html.shd-pb-on body.page-id-3165 .shd-pb-lead { margin: 0; font-size: 18px; line-height: 1.5; text-align: left; color: #fff; }

/* 2. Cards: 3 per row, 2 on tablets, 1 on mobile */
html.shd-pb-on body.page-id-3165 .shd-pb-sec { padding: 48px 0 64px; background: #fff; }
html.shd-pb-on body.page-id-3165 #content .shd-pb-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; }
html.shd-pb-on body.page-id-3165 #content .shd-pb-item { display: flex; margin: 0; padding: 0; list-style: none; }
html.shd-pb-on body.page-id-3165 #content .shd-pb-item::before { content: none; }
html.shd-pb-on body.page-id-3165 a.shd-pb-card { display: flex; flex-direction: column; width: 100%; overflow: hidden; border: 1px solid #D9E2F4; border-radius: 14px; background: #fff; color: #13203F !important; text-decoration: none !important; transition: box-shadow .2s ease, transform .2s ease; }
html.shd-pb-on body.page-id-3165 a.shd-pb-card:hover { box-shadow: 0 8px 22px rgba(19, 32, 63, .12); transform: translateY(-2px); }
/* The cover is shown in full (never cropped) inside a same-size grey frame. */
html.shd-pb-on body.page-id-3165 .shd-pb-frame { position: relative; display: block; aspect-ratio: 4 / 3; min-height: 0; overflow: hidden; padding: 0; background: #F3F5F9; border-bottom: 1px solid #E1E7F2; }
html.shd-pb-on body.page-id-3165 img.shd-pb-cover { position: absolute; top: 20px; left: 20px; width: calc(100% - 40px); height: calc(100% - 40px); max-width: none; margin: 0; object-fit: contain; object-position: center; filter: drop-shadow(0 2px 6px rgba(19, 32, 63, .22)); }
html.shd-pb-on body.page-id-3165 .shd-pb-body { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 18px 20px 22px; }
html.shd-pb-on body.page-id-3165 .shd-pb-year { display: inline-block; padding: 3px 10px; border-radius: 999px; background: #C4313A; color: #fff; font-size: 13px; line-height: 1.3; font-weight: 600; }
html.shd-pb-on body.page-id-3165 .shd-pb-name { font-size: 18px; line-height: 1.35; font-weight: 500; color: #13203F; }
html.shd-pb-on body.page-id-3165 a.shd-pb-card:hover .shd-pb-name { color: #003399; text-decoration: underline; text-underline-offset: 3px; }
html.shd-pb-on body.page-id-3165 a.shd-pb-card:focus-visible { outline: 3px solid #13203F; outline-offset: 3px; }

/* Tablets */
@media (max-width: 1000px) {
  html.shd-pb-on body.page-id-3165 #content .shd-pb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}
/* Mobile */
@media (max-width: 640px) {
  html.shd-pb-on body.page-id-3165 .shd-pb-wrap { padding: 0 16px; }
  html.shd-pb-on body.page-id-3165 .shd-pb-band { padding: 32px 0 30px; }
  html.shd-pb-on body.page-id-3165 .shd-pb-lead { font-size: 17px; }
  html.shd-pb-on body.page-id-3165 .shd-pb-sec { padding: 32px 0 44px; }
  html.shd-pb-on body.page-id-3165 #content .shd-pb-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  html.shd-pb-on body.page-id-3165 .shd-pb-name { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  html.shd-pb-on body.page-id-3165 a.shd-pb-card { transition: none; }
  html.shd-pb-on body.page-id-3165 a.shd-pb-card:hover { transform: none; }
}
