/* NS215 event content. Native registration and timetable controls retain their styling. */
:root {
  --ns215-ink: #19333d;
  --ns215-muted: #53656b;
  --ns215-bronze: #8a571d;
  --ns215-teal: #245e62;
  --ns215-line: #dce4e5;
  --ns215-paper: #f6f8f7;
}
/* The event header and menu share the symposium's restrained visual identity. */
.confheader, .confTitleBox, .confSubTitleBox { background: #eff3f1 !important; border-color: #d5dfdc !important; }
.confTitle, .confSubTitleContent, #confSectionsBox { max-width: 1180px; width: calc(100% - 48px); margin-left: auto; margin-right: auto; }
.confTitle { padding: 28px 0 16px; }
.confTitle h1 { margin: 0; font-size: 29px; line-height: 1.25; font-weight: 400; }
.conference-title-link { display: flex; align-items: center; gap: 32px; color: #19333d !important; }
.confLogoBox { display: none !important; }
.confLogo { display: block; width: 200px !important; max-width: 100% !important; height: auto !important; }
.confSubTitle { color: #19333d !important; padding: 0 0 20px; }
.confSubTitleContent { align-items: center; gap: 20px; }
.simpleTextAnnouncement { background: #faf6eb; color: #705014; padding: 12px 24px; border-top: 1px solid #ded3b6; border-bottom: 1px solid #ded3b6; font-size: 13px; }
.conf_leftMenu { padding-top: 20px; }
.description .ns215-hero::before { content: ''; display: block; height: 250px; margin: -34px -36px 30px; background: #102332 url('/event/3422/images/93-symposium-science.jpg') center 47% / cover no-repeat; }
@media (max-width: 800px) {
 .confTitle, .confSubTitleContent, #confSectionsBox { width: calc(100% - 28px); }
 .conference-title-link { flex-direction: column; align-items: flex-start; gap: 20px; }
 .confTitle h1 { font-size: 25px; }
 .confLogoBox { flex-basis: auto; }
 .confSubTitleContent { flex-wrap: wrap; }
 .conf_leftMenu { float: none !important; width: 100% !important; }
 #confSectionsBox .col2 { margin-left: 0 !important; width: 100% !important; }
 .description .ns215-hero::before { margin: -25px -22px 26px; height: 210px; }
}
.ns215-page { color: var(--ns215-ink); font-family: Arial, Helvetica, sans-serif; font-size: 16px; line-height: 1.7; max-width: 1120px; min-width: 0; margin: 0 auto; overflow-wrap: break-word; }
.ns215-page * { box-sizing: border-box; }
.ns215-page h1, .ns215-page h2, .ns215-page h3 { color: var(--ns215-ink); line-height: 1.22; }
.ns215-page h1 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-size: clamp(32px, 4vw, 54px); letter-spacing: -.025em; margin: 12px 0 20px; }
.ns215-page h2 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-size: 30px; margin: 38px 0 18px; }
.ns215-page h3 { font-size: 19px; margin: 22px 0 10px; font-weight: 600; }
.ns215-page p { margin: 0 0 18px; }
.ns215-page a { color: #1d606b; text-decoration: underline; text-underline-offset: 3px; }
.ns215-page a:hover { color: #804c13; }
.ns215-page a:focus-visible { outline: 3px solid #a8651d; outline-offset: 4px; }
.ns215-page ul, .ns215-page ol { padding-left: 24px; margin: 12px 0 22px; }
.ns215-page li { margin: 7px 0; }
.ns215-kicker { color: var(--ns215-bronze); font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 12px; }
.ns215-lead { font-size: 20px; line-height: 1.55; max-width: 820px; color: #2e4b54; }
.ns215-hero { padding: 34px 36px; margin: 0 0 34px; border-top: 5px solid var(--ns215-bronze); background: linear-gradient(125deg, #f5f4ec, #f1f6f5 80%); border-radius: 3px; }
.ns215-hero p:last-child { margin-bottom: 0; }
.ns215-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0 10px; }
.ns215-actions a { display: inline-block; color: #fff; background: var(--ns215-teal); border: 1px solid var(--ns215-teal); padding: 10px 17px; border-radius: 3px; font-size: 14px; font-weight: 600; text-decoration: none; }
.ns215-actions a:hover { color: #fff; background: #18484c; border-color: #18484c; }
.ns215-actions a + a { background: #fff; color: var(--ns215-teal); }
.ns215-actions a + a:hover { background: #eaf1f0; }
.ns215-theme-grid, .ns215-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 22px 0 30px; }
.ns215-theme, .ns215-card { min-width: 0; background: #f6f8f7; border: 1px solid #e0e6e5; border-top: 4px solid var(--ns215-teal); padding: 21px 23px; border-radius: 3px; }
.ns215-theme h3, .ns215-card h3 { margin-top: 0; }
.ns215-theme p:last-child, .ns215-card p:last-child { margin-bottom: 0; }
.ns215-s1 { border-top-color: #267184; background: #f0f7f8; }
.ns215-s2 { border-top-color: #756096; background: #f6f3f8; }
.ns215-s3 { border-top-color: #327767; background: #f1f7f4; }
.ns215-s4 { border-top-color: #ac653e; background: #fbf5ef; }
.ns215-s5 { border-top-color: #5467a3; background: #f2f4f9; }
.ns215-s6 { border-top-color: #93721f; background: #faf7ed; }
.ns215-note { padding: 18px 22px; border-left: 4px solid var(--ns215-bronze); background: #fbf7ee; margin: 24px 0; }
.ns215-note p:last-child { margin-bottom: 0; }
.ns215-page table { width: 100%; border-collapse: collapse; font-size: 15px; margin: 22px 0 30px; line-height: 1.5; }
.ns215-page caption { text-align: left; font-weight: 600; margin-bottom: 9px; color: var(--ns215-ink); }
.ns215-page th { text-align: left; vertical-align: top; padding: 13px 15px; background: #eaf0ee; border-bottom: 2px solid #aebfbd; font-weight: 600; }
.ns215-page td { text-align: left; vertical-align: top; padding: 13px 15px; border-bottom: 1px solid var(--ns215-line); }
.ns215-page tbody tr:nth-child(even) { background: #f7f9f8; }
.ns215-page tbody th { background: transparent; border-bottom: 1px solid var(--ns215-line); }
.ns215-page .ns215-week tbody th { color: var(--ns215-teal); width: 22%; }
.ns215-week td:last-child { width: 22%; }
.ns215-page figure { margin: 24px 0; }
.ns215-page figure img { width: 100%; height: auto; display: block; border-radius: 3px; }
.ns215-page figcaption { font-size: 12px; color: var(--ns215-muted); padding-top: 7px; }
.ns215-logos { display: flex; flex-wrap: wrap; gap: 28px; align-items: center; margin: 24px 0; }
.ns215-logos img { max-width: 250px; max-height: 100px; width: auto; height: auto; object-fit: contain; }
.ns215-footer { border-top: 1px solid var(--ns215-line); margin-top: 36px; padding-top: 18px; color: var(--ns215-muted); font-size: 13px; }
.ns215-status { display: inline-block; padding: 3px 9px; background: #f2ead7; color: #705014; font-size: 12px; font-weight: 600; border-radius: 3px; }
/* Complete page-class coverage and optional uploaded-banner hooks. */
.ns215-page img { max-width: 100%; height: auto; }
.ns215-page .ns215-kicker { color: var(--ns215-bronze); font-size: 12px; line-height: 1.55; margin: 0 0 12px; }
.ns215-section { margin: 34px 0; }
.ns215-section > h2:first-child { margin-top: 0; }
.ns215-section > :last-child { margin-bottom: 0; }
.ns215-hero > h1, .ns215-hero > h2 { font-size: clamp(36px, 4vw, 54px); line-height: 1.12; letter-spacing: -.025em; margin: 12px 0 8px; }
.ns215-page .ns215-subtitle { color: #294851; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(21px, 2.3vw, 28px); line-height: 1.35; margin: 0 0 20px; }
.ns215-page .ns215-meta { color: #485f63; font-size: 14px; line-height: 1.7; padding-bottom: 21px; margin-bottom: 24px; border-bottom: 1px solid #cedbd7; }
.ns215-hero > :last-child { margin-bottom: 0; }
.ns215-page .ns215-banner { margin: 0 0 30px; padding: 0; background: #101823; overflow: hidden; border-radius: 3px; }
.ns215-page .ns215-banner img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 7; object-fit: cover; object-position: 50% 50%; border-radius: 0; }
.ns215-page .ns215-banner figcaption { background: #fff; padding: 9px 0 0; }
.ns215-overview > .ns215-section { margin: 38px 0; }
.ns215-participation { padding: 28px; background: #f0f5f4; border: 1px solid #d5e2df; border-radius: 3px; }
.ns215-actions { align-items: stretch; }
.ns215-page .ns215-button, .ns215-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; color: var(--ns215-teal); background: #fff; border: 1px solid #8aa9a7; padding: 10px 17px; border-radius: 3px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 1.45; font-weight: 600; text-align: center; text-decoration: none; vertical-align: middle; }
.ns215-page p > .ns215-button { margin: 4px 6px 4px 0; }
.ns215-page .ns215-button:hover, .ns215-actions a:hover { color: #173f42; background: #e7efed; border-color: var(--ns215-teal); }
.ns215-page .ns215-button-primary, .ns215-actions a:first-child { color: #fff; background: var(--ns215-teal); border-color: var(--ns215-teal); }
.ns215-page .ns215-button-primary:hover, .ns215-actions a:first-child:hover { color: #fff; background: #18484c; border-color: #18484c; }
.ns215-theme h3 a { color: inherit; text-decoration-thickness: 1px; text-decoration-color: #adbfbd; }
.ns215-theme h3 a:hover { color: #804c13; text-decoration-color: currentColor; }
.ns215-page .ns215-theme-label { color: #425b62; font-size: 12px; font-weight: 700; letter-spacing: .07em; line-height: 1.45; text-transform: uppercase; margin: 0 0 12px; }
.ns215-section.ns215-theme { scroll-margin-top: 24px; }
.ns215-section.ns215-theme h2 { font-size: 27px; margin: 0 0 18px; }
.ns215-note h2 { margin-top: 0; font-size: 25px; }
.ns215-table-wrap { max-width: 100%; overflow-x: auto; margin: 22px 0 28px; -webkit-overflow-scrolling: touch; }
.ns215-table-wrap > table { margin: 0; }
.ns215-table { width: 100%; }
.ns215-supporter { padding-bottom: 26px; border-bottom: 1px solid var(--ns215-line); }
.ns215-supporter h2 { margin-top: 0; }
.ns215-page .ns215-trademark { color: var(--ns215-muted); font-size: 12px; line-height: 1.6; margin-top: 28px; }
.ns215-footer .ns215-trademark { margin-top: 12px; }

@media (max-width: 700px) {
  .ns215-page { font-size: 15px; }
  .ns215-hero { padding: 25px 22px; }
  .ns215-hero > h1, .ns215-hero > h2 { font-size: 37px; }
  .ns215-page .ns215-subtitle { font-size: 22px; }
  .ns215-theme, .ns215-card { padding: 20px; }
  .ns215-section.ns215-theme h2 { font-size: 24px; }
  .ns215-participation { padding: 22px; }
  .ns215-week { min-width: 490px; }
  .ns215-page h2 { font-size: 26px; }
  .ns215-lead { font-size: 18px; }
  .ns215-theme-grid, .ns215-cards { grid-template-columns: 1fr; }
  .ns215-page th, .ns215-page td { padding: 10px 9px; overflow-wrap: anywhere; }
  .ns215-page table { font-size: 13px; }
  .ns215-logos { gap: 18px; }
  .ns215-logos img { max-width: 160px; max-height: 75px; }
}
@media (max-width: 420px) {
  .ns215-hero { padding: 22px 17px; }
  .ns215-hero > h1, .ns215-hero > h2 { font-size: 32px; }
  .ns215-page .ns215-subtitle { font-size: 20px; }
  .ns215-actions { flex-direction: column; }
  .ns215-actions a { width: 100%; }
  .ns215-note { padding: 16px; }
}
@media print {
  .ns215-page { font-size: 10pt; max-width: none; }
  .ns215-hero { padding: 15px; }
  .ns215-page h1, .ns215-hero > h1, .ns215-hero > h2 { font-size: 28pt; }
  .ns215-page h2, .ns215-section.ns215-theme h2 { font-size: 18pt; }
  .ns215-page .ns215-subtitle { font-size: 17pt; }
  .ns215-page .ns215-lead { font-size: 12pt; }
  .ns215-table-wrap { overflow: visible; }
  .ns215-week { min-width: 0; }
  .ns215-page table { font-size: 9pt; }
  .ns215-page figure { break-inside: avoid; }
  .ns215-theme, .ns215-card, .ns215-note, .ns215-page tr { break-inside: avoid; }
  .ns215-actions { display: none; }
}

/* Append after ns215.css. Local review only; verify at 375, 700 and 800 px. */

/* Keep the scientific banner aligned with the hero's padding at every breakpoint. */
.description .ns215-hero {
  --ns215-hero-pad-y: 34px;
  --ns215-hero-pad-x: 36px;
}
.description .ns215-hero::before {
  height: clamp(175px, 26vw, 250px);
  margin: calc(-1 * var(--ns215-hero-pad-y))
          calc(-1 * var(--ns215-hero-pad-x)) 28px;
}

/* Allow long conference and session titles to wrap within their own columns. */
.conference-title-link { min-width: 0; max-width: 100%; }
.confTitle h1,
.ns215-hero > h1,
.ns215-hero > h2,
.ns215-theme h3,
.ns215-section.ns215-theme h2 {
  overflow-wrap: anywhere;
  text-wrap: balance;
}

@media screen and (max-width: 700px) {
  .description .ns215-hero {
    --ns215-hero-pad-y: 25px;
    --ns215-hero-pad-x: 22px;
  }

  /* Fits both the live unwrapped table and the locally wrapped version. */
  .ns215-page .ns215-week {
    min-width: 0;
    width: 100%;
    table-layout: fixed;
  }
  .ns215-page .ns215-week th:first-child { width: 25%; }
  .ns215-page .ns215-week td:last-child,
  .ns215-page .ns215-week th:last-child { width: 25%; }
  .ns215-page .ns215-week th,
  .ns215-page .ns215-week td {
    padding: 10px 7px;
    overflow-wrap: anywhere;
  }
}

@media screen and (max-width: 420px) {
  .description .ns215-hero {
    --ns215-hero-pad-y: 22px;
    --ns215-hero-pad-x: 17px;
  }
}

@media print {
  .description .ns215-hero::before { display: none; }
}

/* Indico conference containers need their own narrow-screen reset. */
@media screen and (max-width:800px) {
  #confSectionsBox .confBodyBox,
  #confSectionsBox .mainContent,
  #confSectionsBox .col2 {
    float:none!important;
    clear:both;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding-left:0!important;
    left:auto!important;
  }
  #confSectionsBox .conf_leftMenu { margin:0 0 24px!important; }
  #confSectionsBox nav #outer {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1px;
    padding:0;
  }
  #confSectionsBox nav #outer > li { width:auto; min-width:0; margin:0; }
  #confSectionsBox nav #outer > li > a {
    display:block;
    font-size:13px;
    line-height:1.35;
    padding:9px 10px;
    overflow-wrap:anywhere;
  }
  #confSectionsBox nav #outer ul.inner:empty { display:none; }
  .confTitle h1 { font-size:23px!important; }
  .conferenceDetails .description { width:100%; }
}

/* Append after ns215-final.css. Uses the existing uploaded scientific image. */

/* Native event title over a compact scientific banner, across all event pages. */
.confheader {
  background: #0b1422 !important;
}
.confTitleBox {
  background:
    linear-gradient(90deg, rgba(8, 17, 30, .87), rgba(8, 17, 30, .62)),
    url('/event/3422/images/93-symposium-science.jpg') center 47% / cover no-repeat
    #0b1422 !important;
  border: 0 !important;
}
.confTitle {
  box-sizing: border-box;
  min-height: 200px;
  padding: 28px 0;
  display: flex;
  align-items: center;
}
.confTitle .conference-title-link {
  display: block;
  width: 100%;
  max-width: 1040px;
  color: #fff !important;
  text-decoration: none;
}
.confTitle h1 {
  max-width: 1040px;
  margin: 0;
  color: #fff !important;
  font-size: clamp(29px, 2.8vw, 37px) !important;
  font-weight: 500;
  line-height: 1.22;
  letter-spacing: -.015em;
  white-space: normal;
  overflow-wrap: anywhere;
  text-wrap: balance;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .35);
}
.confTitle .conference-title-link:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 6px;
}

/* Dates and place remain a slim, readable strip beneath the picture. */
.confSubTitleBox {
  background: #f4f6f5 !important;
  border-bottom: 1px solid #d5dfdc !important;
}
.confSubTitle { padding: 12px 0; }

/* The picture now lives in the native header; avoid repeating it in Overview. */
.description .ns215-hero::before {
  content: none;
  display: none;
}

@media screen and (max-width: 800px) {
  .confTitle { min-height: 180px; padding: 24px 0; }
  .confTitle h1 { font-size: clamp(24px, 4.5vw, 31px) !important; }
  .confSubTitle { padding: 10px 0; }
}

@media screen and (max-width: 420px) {
  .confTitle { min-height: 180px; padding: 22px 0; }
  .confTitle h1 { font-size: 24px !important; line-height: 1.25; }
}

@media print {
  .confheader, .confTitleBox, .confSubTitleBox { background: #fff !important; }
  .confTitle { min-height: 0; padding: 12px 0; }
  .confTitle h1, .confTitle .conference-title-link {
    color: #19333d !important;
    text-shadow: none;
  }
}

/* No announcement-hiding rule: .simpleTextAnnouncement is styled DOM content,
   not generated deadline text. Remove the native announcement in Indico.
   Remove duplicated page-title h2 elements from the relevant HTML; do not hide
   every first heading, which would also remove real scientific section titles. */


/* Named sidebar contacts, preserving visible email addresses and native mailto links. */
#confSectionsBox .support_box a[href^="mailto:Roman.Pasechnik@fysik.lu.se" i]::before { content: "Roman Pasechnik"; display: block; font-weight: 600; }
#confSectionsBox .support_box a[href^="mailto:tsallis@cbpf.br" i]::before { content: "Constantino Tsallis"; display: block; font-weight: 600; }
#confSectionsBox .support_box a { overflow-wrap: anywhere; }
.ns215-affiliation { display: inline-block; font-size: .9em; font-weight: 400; color: #455a63; margin-top: .25em; }
.ns215-speakers th:first-child { width: 34%; }
.ns215-speakers td:last-child { width: 50px; text-align: center; }
.ns215-session-label { display: inline-block; min-width: 2.2em; padding: .2em .3em; border-radius: 3px; color: #fff; background: #245263; font-weight: 600; }
.ns215-session-label.ns215-s1 { background: #285e78; }
.ns215-session-label.ns215-s2 { background: #347b71; }
.ns215-session-label.ns215-s3 { background: #866125; }
.ns215-session-label.ns215-s4 { background: #86505c; }
.ns215-session-label.ns215-s5 { background: #695586; }
.ns215-session-label.ns215-s6 { background: #467046; }
.ns215-identity-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-evenly; gap: 26px; padding: 24px 12px; background: #fff; border: 1px solid #dce5e3; margin: 22px 0 12px; }
.ns215-identity-item { text-align: center; flex: 0 1 260px; }
.ns215-identity-item img { display: block; width: auto; max-width: 100%; height: 115px; object-fit: contain; margin: 0 auto 10px; }
.ns215-identity-item p { margin: 0; font-size: .92em; }
@media screen and (max-width: 600px) {
 .ns215-speakers thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
 .ns215-speakers, .ns215-speakers tbody { display: block; }
 .ns215-speakers tr { display: grid; grid-template-columns: 1fr 45px; margin-bottom: 10px; border: 1px solid #dce5e3; }
 .ns215-speakers th:first-child { width: auto; grid-column: 1; grid-row: 1; }
 .ns215-speakers td:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
 .ns215-speakers td:last-child { grid-column: 2; grid-row: 1; width: auto; }
 .ns215-speakers th, .ns215-speakers td { border: 0; padding: 10px; }
 .ns215-identity-row { gap: 20px; }
}

/* Keep the native navigation and account controls inside compact screens. */
@media screen and (max-width: 850px) {
  .main-action-bar { flex-wrap: wrap; height: auto !important; }
  .main-action-bar .button-bar { flex-wrap: wrap; height: auto; }
  .main-action-bar #session-bar { max-width: 100%; margin-left: auto; }
  .main-action-bar #session-bar .toolbar { max-width: 100%; min-width: 0; }
  .main-action-bar #session-bar .toolbar .group { display: flex; flex-wrap: wrap; justify-content: flex-end; max-width: 100%; }
}

@media screen and (max-width: 600px) {
  footer.footer > .flexrow { flex-direction: column; align-items: flex-start; gap: 10px; }
  footer.footer .footer-links { margin: 0; padding: 0; }
  footer.footer .footer-extra:empty { display: none; }
}