
/* fonts */

@font-face {
  font-family: 'GFS Neohellenic';
  src: url("/?originalUrl=https%3A%2F%2Feg2026.github.io%2Ffonts%2FGFSNeohellenic-Regular.ttf") format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* @font-face {
  font-family: torontoSubway;
  src: url("/?originalUrl=https%3A%2F%2Feg2026.github.io%2Ffonts%2Ftoronto-subway-w01-regular.ttf");
} */
@font-face {
    font-family: 'Linux Libertine'; /* normal */
    src: url("/?originalUrl=https%3A%2F%2Feg2026.github.io%2Ffonts%2Flinux-libertine%2FLinLibertine_R.woff") format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Linux Libertine'; /* italic */
    src: url("/?originalUrl=https%3A%2F%2Feg2026.github.io%2Ffonts%2Flinux-libertine%2FLinLibertine_RI.woff") format('woff');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Linux Libertine'; /* bold */
    src: url("/?originalUrl=https%3A%2F%2Feg2026.github.io%2Ffonts%2Flinux-libertine%2FLinLibertine_RB.woff") format('woff');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Linux Libertine'; /* bold */
    src: url("/?originalUrl=https%3A%2F%2Feg2026.github.io%2Ffonts%2Flinux-libertine%2FLinLibertine_RBI.woff") format('woff');
    font-weight: bold;
    font-style: italic;
}

@font-face {
    font-family: 'Linux Biolinum'; /* normal */
    src: url("/?originalUrl=https%3A%2F%2Feg2026.github.io%2Ffonts%2Flinux-biolinum%2FLinBiolinum_R.woff") format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Linux Biolinum'; /* italic */
    src: url("/?originalUrl=https%3A%2F%2Feg2026.github.io%2Ffonts%2Flinux-biolinum%2FLinBiolinum_RI.woff") format('woff');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Linux Biolinum'; /* bold */
    src: url("/?originalUrl=https%3A%2F%2Feg2026.github.io%2Ffonts%2Flinux-biolinum%2FLinBiolinum_RB.woff") format('woff');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Linux Biolinum'; /* bold */
    src: url("/?originalUrl=https%3A%2F%2Feg2026.github.io%2Ffonts%2Flinux-biolinum%2FLinBiolinum_RBI.woff") format('woff');
    font-weight: bold;
    font-style: italic;
}

:root {
  --parchment: #eafaef;
  --dark-blue: #282b27;
  --turquoise: #fcfcfc;
  --footer-height: 251px;
  --green: #27a8a2;
  --red: #f74c4c;
  --blue: #f74c4c;
  --gray: #888;
  /* --mainfont: var(--bs-font-sans-serif); */
  /* --titlefont: torontoSubway, sans-serif; */

  --mainfont: 'GFS Neohellenic', serif;
  --titlefont: 'GFS Neohellenic', serif;


  --headerfont: var(--titlefont);
  --logoMaxWidth: 500px;
  
  /* --planet-background: #222831;
  --planet-menu-bg: #DFD0B8;
  --planet-line-section-1: #948979;
  --planet-line-section-2: #948979;
  --planet-line-section-3: #948979;
  --program-banner-bg: #D6BD98;
  --program-banner-text: #393E46; */

  --planet-background: #000000;
  --planet-menu-bg: #DFD0B8;
  --planet-line-section-1: #948979;
  --planet-line-section-2: #948979;
  --planet-line-section-3: #948979;
  --program-banner-bg: #D6BD98;
  --program-banner-text: #393E46;
}

body
{
  background-color: var(--planet-background);
  color: var(--turquoise);
  min-width: 400px;
  font-size: 12pt;
  /* max-width: 1200px; */
  margin: auto;
}

table
{
  margin-bottom: 8px;
  border-collapse: separate;
  border-spacing: 5px 0px;;
}

a
{
  color: var(--blue);
}
a:hover
{
  color: var(--turquoise);
}

#banner-outer
{
  width: 100%;
  background-color: var(--planet-background);
}
#banner-container
{
  width: 100%;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

img#banner
{
  height: 100%;
  width: 100%;
  min-width: 100%;
  min-height: 100%;
}

pre code
{
  /* font-family: var(--headerfont); */
  font-size: 1.5em;
  color: #FBDD00;
  word-break: normal;

}


table {
  /* font-family: var(--headerfont); */
  font-size: 15pt; 
  word-break: normal;
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 20px;
  margin-left: auto;
  margin-right: auto;
}

table th,
table td {
  text-align: center;
  /* color: #FBDD00; */
}

/* navigation bar */

#nav-border
{
  background-color: var(--planet-menu-bg);
  /* max-width: 100%; */
  /* border-top:4px solid #fcfcfc; */
}

#nav-border #nav a
{
  font-family: var(--headerfont);
  font-size: 1.1em;
  color: #393E46;
}

/* 1. Define your nav-bar height once */
:root {
  --navbar-height: 5rem;    /* ← adjust this to exactly match #nav-border’s rendered height */
}
body {
  padding-top: var(--navbar-height);
}

/* keep your scroll-margin so in‐page links still clear the nav */
:target,
h2, h3, h4 {
  scroll-margin-top: var(--navbar-height);
}


/* https://www.freecodecamp.org/news/how-to-keep-your-footer-where-it-belongs-59c6aa05c59c/ */

#page-container
{
  position: relative;
  min-height: 100vh;
}

#content-wrap
{
  padding-bottom: var(--footer-height);
}

#content
{
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
  padding-left: 25px;
  padding-right: 25px;
  width: 90%;
  margin-left:auto;
  margin-right:auto;
}
#simple-static
{
  padding-top: 25px;
}


h1
{
  font-size: 1.2em;
  color: #000000;
}
h1,h2,h3
{
  text-align: center;
  font-family: var(--headerfont);
  color: #ffffff;
}

h4
{
  text-align: center;
  font-family: var(--headerfont);
  color: #ffffff;
  font-size: 1.em;
}

h5
{
  text-align: left;
  font-family: var(--headerfont);
  color: #ffffff;
  font-size: 1.em;
}

/*
#landingSectionsContainer div:nth-of-type(3n+1)
{
  background-color: var(--red);
  color: var(--parchment);
}

#landingSectionsContainer div:nth-of-type(3n+2)
{
  background-color: var(--green);
}

#landingSectionsContainer div:nth-of-type(3n+0)
{
  background-color: var(--dark-blue);
  color: var(--parchment);
}

#landingSectionsContainer div:last-of-type
{
  background-color: var(--parchment);
  color: var(--dark-blue);
}
*/

#content p,table
{
  margin-left: auto;
  margin-right: auto;
  color: #ffffff;
}


#simple-static
{
  color: #ffffff;
}

#simple-static p
{
  text-align: justify;
  text-justify: inter-word;
  text-align-last: left;
  color: #ffffff;
}


div#footer
{
  position: absolute;
  bottom: 0;
  height: var(--footer-height);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-attachment: scroll; 
  /* background-image: url("/?originalUrl=https%3A%2F%2Feg2026.github.io%2Fimages%2Fsmall_image.png") ; */
  background-image: url("/?originalUrl=https%3A%2F%2Feg2026.github.io%2Fimages%2FEG_Logo_horizontal.svg") ;
  width: auto;
  min-width: 100%;
}

div#footer-text-container
{
  position: relative;
  height: 100%;
  width: 100%;
}

/* still not perfectly hugging the bottom... */
div#footer p
{
  margin: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
  color: var(--turquoise);
  width: 100%;
  position: absolute;
  bottom: 0;
  font-size: 0.7em;
}


.keynote-name
{
  font-weight: bold;
  font-size: 1.0em;
}
.keynote-affiliation
{
  font-style: italic;
  font-size: 0.9em;
}

.keynote-container
{
  overflow: hidden;
}

.keynote-container h3
{
  text-align: left;
}

.keynote-title:before
{
  content: "“";
}
.keynote-title:after
{
  content: "”";
}

.keynote-bio
{
  font-style: italic;
}


img.keynote-portrait
{
  float: left;
  min-width: 100px;
  width: 30%;
  max-width: 500px;
  shape-outside: circle(50%);
  padding: 10px;
  border-radius: 50%;
}

.keynote-text-container
{
  padding-left: 100px;
}

#simple-static .keynote-text-container p
{
  text-align: left;
  text-align-last: left;
  color: #ffffff;
}

.embedded-video
{
  float: left;
  width: 256px;
  height: 155px;
  margin: 20px;
  border-radius: 20px;
}

.keynote-embedded-video
{
  float: right;
  width: 256px;
  height: 155px;
  margin: 20px;
  border-radius: 20px;
}

img.graduate-school-teaser
{
  float: left;
  min-width: 200px;
  width: 40%;
  max-width: 400px;
  margin: 20px;
  border-radius: 20px;
}

table.fixed-table td
{
  padding-left: 10px;
  padding-right: 10px;
  padding-bottom: 2px;
  padding-top: 2px;
}

td.sponsor-category
{
  font-size: 1.2em;
  font-style: italic;
  font-weight: bold;
  text-align: right;
  vertical-align: middle;
}

tr:nth-of-type(3n+2) td.sponsor-category
{
  border-right: 6px solid var(--red);
}
tr:nth-of-type(3n+1) td.sponsor-category
{
  border-right: 6px solid var(--green);
}
tr:nth-of-type(3n+0) td.sponsor-category
{
  border-right: 6px solid var(--blue);
}


ul#platinum-sponsor-list
{
  font-size: 2em;
  padding: 0;
  margin: 0;
}

ul#gold-sponsor-list
{
  font-size: 1.4em;
  padding: 0;
  margin: 0;
}

ul#silver-sponsor-list
{
  font-size: 1.0em;
  padding: 0;
  margin: 0;
}
ul#institutional-sponsor-list
{
  font-size: 1.0em;
  padding: 0;
  margin: 0;
}

li
{
  list-style-type: none;
}

.news-banner ul
{
  margin: 0 0 1rem 1.25rem;
  padding-left: 1rem;
  column-width: auto;
  column-count: 1;
}

.news-banner ul li
{
  list-style-type: disc;
  margin-bottom: 0.35rem;
}

h2:nth-of-type(3n+1)
{
  border-bottom: 6px solid var(--planet-line-section-1);
}
h2:nth-of-type(3n+2)
{
  border-bottom: 6px solid var(--planet-line-section-2);
}
h2:nth-of-type(3n+0)
{
  border-bottom: 6px solid var(--planet-line-section-3);
}

div#events
{
  background-color: #d34c53;
  color: #f3f3f3;
  font-family: var(--headerfont);
  font-size: 2em;
  text-align: center;
  text-align-last: center;
  border-radius: 0px 0px 3px 3px;
  line-height: 90%;
}
div#events p
{
  padding-top: 5px;
  padding-bottom: 5px;
}

p#about
{
  text-align: justify;
  hyphens: auto;
  text-justify: inter-word;
  text-align-last: center;
}


.important-date-name
{
  font-style: italic;
  text-align: right;
}

.important-date-date
{
}

#simple-static p.single-line
{
  font-style: italic;
  text-align: center;
  text-justify: inter-word;
  text-align-last: center;
  color: #ffffff;
}

ul
{
  width: 100%;
  column-width: 400px;
}
ul.committee-list
{
  min-width: 200px;
  column-width: 300px;
  margin-left: auto;
  margin-right: auto;
}

ul.committee-list li
{
  webkit-column-break-inside: avoid;
          page-break-inside: avoid;
               break-inside: avoid;
  padding-left: 24px;
  text-indent: -24px;
  margin-left: 0;
  margin-right: 0;
  text-align: left;
}

ul.committee-list li table
{
  margin: 0;
  margin-left: 0;
  margin-right: 0;
  padding: 0;
  border-collapse: separate;
  border-spacing: 0;
  text-align: left;
}
ul.committee-list li table td
{
  vertical-align: top;
}
blockquote ul
{
  width: 100%;
  column-width: auto;
}
blockquote ul li
{
  padding-bottom: 10px;
  list-style-type: square;
}

table.fixed-table
{
  width: 100%;
  table-layout: fixed;
  margin-left: auto;
  margin-right: auto;
}
table.chairs-table td
{
  padding-bottom: 20px;
}
table.chairs-table td.chairs-name { 
  vertical-align: top; 
}

.submit-now
{
  margin-top: 20px;
  font-weight: bold;
  text-align: center;
  text-justify: inter-word;
  text-align-last: center;
}

/* encourage line break */
.line {
  white-space:nowrap;
}

td.chairs-name{
  text-align: right;
  font-weight: bold;
  font-style: italic;
  vertical-align: middle;
}
td.chairs-items ul
{
  padding: 0;
  margin: 0;
}
td.chairs-items ul li
{
  padding: 0;
  margin: 0;
}

div.poster-container
{
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
img.poster
{
  max-width: 300px;
}

div.twitter-container
{
  text-align: center;
}

img.logo_institutional
{
  width: 50%;
  max-width: calc(0.5 * var(--logoMaxWidth));
  padding-bottom: 10px;
}

img.logo_silver
{
  width: 50%;
  max-width: calc(0.5 * var(--logoMaxWidth));
  padding-bottom: 10px;
}

img.logo_gold
{
  width:  75%;
  max-width: calc(0.75 * var(--logoMaxWidth));
  padding-bottom: 10px;
}

img.logo_platinum
{
  width: 100%;
  max-width: calc(1.00 * var(--logoMaxWidth));
  padding-bottom: 10px;
}

img[src$='#logo_award']
{
  width: 200px;
}

.logoDisclaimer
{
  font-size: 0.3em;
  font-style: italic;
  padding-bottom: 10px;
}

#languageBanner
{
  background-color: var(--turquoise);
  text-align: center;
  color: var(--turquoise);
  font-style: italic;
  font-size: 0.9em;
}

#languageBanner a
{
  color: var(--turquoise);
}

#languageBanner a:hover
{
  color: var(--blue);
}

.graduate-school-container h3
{
  text-align: left;
}

ul.graduate-school-speakers
{
  column-width: auto;
  column-count: auto;
}

button
{
  color: inherit;
  background-color: inherit;
  border: none;
  font-family: var(--headerfont);
  font-size: 1.1em;
  color: var(--dark-blue);
}
div.graduate-school-text-container
{
  overflow: auto;
}

#simple-static p.code-of-conduct
{
  margin-top: 20px;
  text-align: center;
  text-justify: inter-word;
  text-align-last: center;
  color: #ffffff;
}

.schedule
{
  border: none;
  border-radius: 10px;
  padding:       10px;
  background-color: #fff;
  width: 100%;
  min-height: 950px;
  min-width: 430px;
  margin-left: auto;
  margin-right: auto;
}

div.sessionContainer
{
  overflow: auto;
}
div.paperListContainer
{
  max-width: 800px;
  display: inline-block;
}
ul.paperList
{
  column-width: auto;
  column-count: auto;
  padding-left: 0;
}

ul.paperList li
{
  padding-top: 4px;
  padding-bottom: 4px;
}
ul.paperList li:first-of-type
{
  padding-top: 0px;
}

ul.paperList li:before
{
}

h3.sessionName
{
  text-align: left;
}
img.session-teaser
{
  width: 100%;
  border-radius: 20px;
}

table.paperTable tr td
{
  padding-bottom: 8px;
  padding-top: 8px;
}

td.teaserColumn
{
  vertical-align: top;
  width: 20%;
  min-width: 80px;
  max-width: 100px;
  padding: 0px;
  margin: 0px;
  padding-right: 20px;
}


.paper-title
{
  font-size: 1.1em;
}
.paper-title:before
{
  content: "“";
}
.paper-title:after
{
  content: "”";
}
.paper-note
{
  color: var(--turquoise);
}
.authorList
{
  overflow: auto;
}
.paper-author
{
  float: left;
  padding-right: 1em;
  column-width: auto;
  column-count: auto;
  font-style: italic;
  font-size: 0.9em;
}
.paper-author-affiliation
{
  color: var(--turquoise);
}

#program-banner
{
  background-color: var(--program-banner-bg);
  max-width: 100%;
  border-radius: 0px 0px 10px 10px;
}

#program-banner #program-nav a
{
  font-family: var(--headerfont);
  font-size: 1.1em;
  color: var(--program-banner-text);
}

#program-banner #program-nav a:after
{
  content: "↓";
}
#program-banner #program-nav a:before
{
  content: "↓";
}

/* program timetable */

#week_overview {
  margin-top: 2rem;
}

.week-overview-download {
  margin: 0.8rem 0 1rem;
  display: flex;
  justify-content: center;
}

.week-overview-download-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 0.95rem;
  border: 1px solid rgba(223, 208, 184, 0.45);
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.04);
  color: var(--planet-menu-bg);
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.week-overview-download-link:hover,
.week-overview-download-link:focus {
  background-color: rgba(223, 208, 184, 0.12);
  border-color: var(--planet-menu-bg);
  color: #ffffff;
  text-decoration: none;
}

.week-overview-legend {
  margin: 1rem 0 0.95rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.55rem;
}

.week-overview-legend-item {
  width: auto;
  min-width: 0;
  column-width: auto;
}

.week-overview-wrapper {
  margin: 0 0 2rem;
  border: 1px solid rgba(255, 255, 255, 0.48);
  background-color: rgba(255, 255, 255, 0.035);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
  overflow: hidden;
}

.week-overview-table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: clamp(0.74rem, 0.82vw, 0.95rem);
}

.week-overview-row {
  height: calc(1rem + var(--segment-minutes, 30) * 0.025rem);
}

.week-overview-row-brief .week-overview-time {
  background-color: rgba(255, 255, 255, 0.04);
  color: rgba(223, 208, 184, 0.72);
  font-weight: 600;
}

.week-overview-row-brief .week-overview-cell-empty {
  background-color: rgba(255, 255, 255, 0.012);
  background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.028) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.028) 50%, rgba(255, 255, 255, 0.028) 75%, transparent 75%, transparent);
  background-size: 18px 18px;
}

.week-overview-table th,
.week-overview-table td {
  padding: clamp(0.35rem, 0.65vw, 0.65rem);
  border: 1px solid rgba(255, 255, 255, 0.28);
  vertical-align: top;
  text-align: left;
}

.week-overview-table thead th {
  background-color: var(--planet-menu-bg);
  color: #000000;
  text-align: center;
  font-family: var(--headerfont);
  font-size: 1.05em;
  border-color: rgba(0, 0, 0, 0.35);
  border-bottom: 2px solid rgba(0, 0, 0, 0.55);
}

.week-overview-heading-time {
  width: clamp(5.4rem, 8vw, 8rem);
}

.week-overview-time {
  background-color: rgba(255, 255, 255, 0.08);
  color: var(--planet-menu-bg);
  font-weight: 700;
  text-align: center;
  border-right: 2px solid rgba(223, 208, 184, 0.55);
}

.week-overview-time-range {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.12rem;
  max-width: 100%;
}

.week-overview-time-start,
.week-overview-time-end {
  display: block;
}

.week-overview-time-sep {
  opacity: 0.78;
}

.week-overview-cell {
  background-color: rgba(255, 255, 255, 0.05);
}

.week-overview-cell-spans {
  vertical-align: top;
}

.week-overview-cell-title-only {
  vertical-align: middle;
  padding: 0;
}

.week-overview-cell-title-only .week-overview-session-title-single {
  width: 100%;
  min-height: 100%;
  height: 100%;
  box-sizing: border-box;
}

.week-overview-cell-empty {
  background-color: rgba(255, 255, 255, 0.025);
  background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.05) 50%, rgba(255, 255, 255, 0.05) 75%, transparent 75%, transparent);
  background-size: 16px 16px;
}

.week-overview-session-title {
  margin: 0;
  font-size: 1em;
}

.week-overview-session-title-single {
  min-height: 3.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.week-overview-session-context {
  margin: 0 0 0.35rem;
  text-align: center;
  color: var(--planet-menu-bg);
  font-size: 0.86em;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.week-overview-session-block {
  --session-rgb: 223, 208, 184;
  margin: 0;
  padding: 0.42rem 0.45rem;
  border: 1px solid rgba(var(--session-rgb), 0.42);
  box-shadow: inset 4px 0 0 rgb(var(--session-rgb));
  background-color: rgba(var(--session-rgb), 0.14);
  color: #ffffff;
  text-align: center;
  font-weight: 700;
  line-height: 1.25;
  overflow-wrap: anywhere;
  hyphens: auto;
}

.week-overview-session-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.week-overview-session-link:hover,
.week-overview-session-link:focus {
  color: #ffffff;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.8);
}

.week-overview-session-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.4rem;
  column-width: auto;
  column-count: 1;
}

.week-overview-session-list li {
  margin: 0;
}

.week-overview-session-list-parallel {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.session-type-full-paper {
  --session-rgb: 53, 113, 201;
}

.session-type-short-paper {
  --session-rgb: 214, 148, 82;
}

.session-type-tutorial {
  --session-rgb: 214, 196, 90;
}

.session-type-star {
  --session-rgb: 197, 111, 88;
}

.session-type-education {
  --session-rgb: 112, 171, 120;
}

.session-type-panel {
  --session-rgb: 126, 181, 186;
}

.session-type-poster {
  --session-rgb: 170, 128, 214;
}

.session-type-keynote {
  --session-rgb: 65, 196, 163;
}

.session-type-community {
  --session-rgb: 192, 128, 150;
}

.session-type-general {
  --session-rgb: 223, 208, 184;
}

#timetable {
  margin-top: 2rem;
}

.timetable-tabs {
  margin: 1.25rem 0 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.35);
  display: flex;
  justify-content: center;
  gap: 0.35rem;
  flex-wrap: wrap;
}

.timetable-tabs .nav-link {
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-bottom: none;
  color: var(--turquoise);
  background-color: rgba(255, 255, 255, 0.06);
  font-family: var(--headerfont);
  padding: 0.5rem 0.9rem;
}

.timetable-tabs .nav-link:hover,
.timetable-tabs .nav-link:focus {
  color: var(--turquoise);
  border-color: rgba(255, 255, 255, 0.6);
  background-color: rgba(255, 255, 255, 0.14);
}

.timetable-tabs .nav-link.active,
.timetable-tabs .nav-link.active:hover,
.timetable-tabs .nav-link.active:focus {
  color: #000000;
  background-color: var(--planet-menu-bg);
  border-color: var(--planet-menu-bg);
}

.timetable-content {
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-top: none;
  padding: 1.25rem;
  margin-bottom: 2rem;
}

.timetable-day-heading {
  text-align: left;
  margin: 0 0 1rem;
  font-size: 1.35em;
}

.timetable-day-date {
  font-size: 0.85em;
  opacity: 0.85;
  font-weight: normal;
}

.timetable-entry {
  padding: 0.9rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background-color: rgba(255, 255, 255, 0.04);
  margin-bottom: 0.8rem;
}

.timetable-entry-time {
  margin: 0 0 0.25rem;
  font-weight: bold;
  color: var(--planet-menu-bg);
  text-align: center;
}

.timetable-entry-title {
  margin: 0;
  font-size: 1.05em;
  color: var(--turquoise);
}

.timetable-entry-title-single {
  text-align: center;
}

.timetable-item-link {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.45);
}

.timetable-item-link:hover,
.timetable-item-link:focus {
  color: var(--planet-menu-bg);
  text-decoration-color: var(--planet-menu-bg);
}

.timetable-entry-details {
  margin: 0.5rem 0 0 1.15rem;
  padding: 0;
}

.timetable-entry-details li {
  margin-bottom: 0.2rem;
}

.timetable-entry-details-grid {
  margin: 0.55rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(var(--timetable-detail-columns, 4), minmax(0, 1fr));
  gap: 0.45rem;
}

.timetable-entry-details-grid li {
  margin: 0;
  list-style: none;
  text-align: center;
  padding: 0.35rem 0.3rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background-color: rgba(255, 255, 255, 0.04);
}

.timetable-keynote-info {
  margin: 0.35rem 0 0;
  padding: 0;
  list-style: none;
  text-align: center;
  column-width: auto;
  column-count: 1;
}

.timetable-keynote-info li {
  margin-bottom: 0.3rem;
  list-style: none;
  text-align: center;
  padding: 0.35rem 0.3rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background-color: rgba(255, 255, 255, 0.04);
}

.timetable-keynote-name {
  display: block;
  font-weight: 600;
}

.timetable-keynote-start-time {
  display: block;
  font-weight: 700;
  color: var(--planet-menu-bg);
  margin-bottom: 0.12rem;
}

.timetable-keynote-name-link {
  display: block;
  font-weight: 600;
  color: inherit;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.45);
}

.timetable-keynote-name-link:hover,
.timetable-keynote-name-link:focus {
  color: var(--planet-menu-bg);
  text-decoration-color: var(--planet-menu-bg);
}

.timetable-keynote-talk {
  display: block;
  margin-top: 0.1rem;
  opacity: 0.9;
}

.timetable-empty {
  margin: 0.5rem 0 0;
  font-style: italic;
  color: var(--turquoise);
  opacity: 0.85;
}

/* full program type filters */

.program-type-tabs {
  margin: 1.25rem 0 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.35);
  display: flex;
  justify-content: center;
  gap: 0.35rem;
  flex-wrap: wrap;
}

.program-type-tabs .nav-link {
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-bottom: none;
  color: var(--turquoise);
  background-color: rgba(255, 255, 255, 0.06);
  font-family: var(--headerfont);
  padding: 0.5rem 0.85rem;
}

.program-type-tabs .nav-link:hover,
.program-type-tabs .nav-link:focus {
  color: var(--turquoise);
  border-color: rgba(255, 255, 255, 0.6);
  background-color: rgba(255, 255, 255, 0.14);
}

.program-type-tabs .nav-link.active,
.program-type-tabs .nav-link.active:hover,
.program-type-tabs .nav-link.active:focus {
  color: #000000;
  background-color: var(--planet-menu-bg);
  border-color: var(--planet-menu-bg);
}

.program-type-content {
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-top: none;
  padding: 1.25rem;
  margin-bottom: 2rem;
}

.program-type-item {
  padding: 0.75rem 0.9rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background-color: rgba(255, 255, 255, 0.04);
  margin-bottom: 0.65rem;
}

.program-type-meta {
  margin: 0 0 0.2rem;
  color: var(--planet-menu-bg);
  font-weight: bold;
  text-align: center;
}

.program-type-title {
  margin: 0;
  text-align: center;
}

.program-type-session {
  margin: 0.3rem 0 0.85rem;
  text-align: center;
  font-weight: 700;
  font-size: 1.08rem;
  color: var(--turquoise);
}

.program-type-keynote-talk-title {
  margin: 0.2rem 0 0;
  text-align: center;
  font-weight: 700;
}

.program-type-speakers {
  margin: 0.35rem 0 0;
  text-align: center;
}

.program-type-keynote-row + .program-type-keynote-row {
  margin-top: 0.6rem;
  padding-top: 0.6rem;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.program-type-star-slot-note {
  margin: 0 0 0.5rem;
  text-align: center;
  font-style: italic;
  opacity: 0.9;
}

.program-type-star-row + .program-type-star-row {
  margin-top: 0.6rem;
  padding-top: 0.6rem;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.program-type-star-paper {
  margin: 0.2rem 0 0;
  text-align: center;
  font-weight: 700;
}

.program-type-star-doi {
  margin: 0.2rem 0 0;
  text-align: center;
}

.program-type-star-doi a {
  color: var(--turquoise);
}

.program-type-star-doi a:hover,
.program-type-star-doi a:focus {
  color: var(--planet-menu-bg);
}

.program-type-star-authors {
  margin: 0.25rem 0 0;
  text-align: center;
  opacity: 0.95;
  font-style: italic;
}

.program-type-paper-list {
  margin: 0.85rem 0 0;
  padding: 0.85rem 0 0;
  list-style-position: inside;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.program-type-paper-entry + .program-type-paper-entry {
  margin-top: 0.8rem;
}

.program-type-paper-title {
  margin: 0;
  text-align: left;
  font-weight: 700;
}

.program-type-paper-authors {
  margin: 0.2rem 0 0;
  text-align: left;
  opacity: 0.95;
  font-style: italic;
}

.program-type-speaker-link {
  color: var(--turquoise);
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.45);
}

.program-type-speaker-link:hover,
.program-type-speaker-link:focus {
  color: var(--planet-menu-bg);
  text-decoration-color: var(--planet-menu-bg);
}

.program-type-speaker-sep {
  opacity: 0.8;
}

#full-program-keynote .program-type-speakers {
  text-align: center !important;
}

#full-program-keynote .program-type-speaker-link {
  display: inline-block;
  text-align: center;
}

.program-type-empty {
  margin: 0.5rem 0 0;
  font-style: italic;
  color: var(--turquoise);
  opacity: 0.85;
}

@media (max-width: 768px) {
  .week-overview-legend {
    justify-content: flex-start;
    gap: 0.4rem;
  }

  .week-overview-legend-item {
    font-size: 0.76rem;
  }

  .week-overview-wrapper {
    margin-bottom: 1.5rem;
  }

  .week-overview-table {
    font-size: 0.62rem;
  }

  .week-overview-row {
    height: calc(0.8rem + var(--segment-minutes, 30) * 0.018rem);
  }

  .week-overview-row-brief .week-overview-time {
    font-size: 0.68rem;
  }

  .week-overview-time {
    font-size: 0.72rem;
    line-height: 1.15;
  }

  .week-overview-time-range {
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
    width: 100%;
    line-height: 1.05;
  }

  .week-overview-time-sep {
    display: none;
  }

  .week-overview-heading-time {
    width: 4.45rem;
  }

  .week-overview-table th,
  .week-overview-table td {
    padding: 0.22rem;
  }

  .week-overview-cell-title-only {
    padding: 0;
  }

  .week-overview-session-context {
    font-size: 0.72rem;
    margin-bottom: 0.25rem;
  }

  .week-overview-session-block {
    padding: 0.28rem 0.22rem;
    box-shadow: inset 3px 0 0 rgb(var(--session-rgb));
    line-height: 1.18;
  }

  .week-overview-session-list-parallel {
    grid-template-columns: 1fr;
  }

  .timetable-tabs {
    justify-content: flex-start;
  }

  .timetable-tabs .nav-link {
    padding: 0.45rem 0.65rem;
    font-size: 0.95em;
  }

  .timetable-content {
    padding: 1rem;
  }

  .timetable-entry {
    padding: 0.75rem;
  }

  .timetable-entry-details-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .program-type-tabs {
    justify-content: flex-start;
  }

  .program-type-tabs .nav-link {
    padding: 0.45rem 0.6rem;
    font-size: 0.95em;
  }

  .program-type-content {
    padding: 1rem;
  }

  .program-type-item {
    padding: 0.65rem 0.75rem;
  }
}

.sessionChair
{
  font-size: 0.6em;
  color: var(--turquoise);
}

.video-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 0;
    height: 0;
    overflow: hidden;
}

.video-container iframe,
.video-container object,
.video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* dropdown submenu */

/* make the nav container fixed at top */
#nav-border {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: #DFD0B8;    /* match your design */
  z-index: 1000;        /* sit above page content */
  border-bottom: 1px solid #DFD0B8;
}

/* ensure nav items align nicely */
#nav {
  padding: 0.5rem 0;
}



/* submenu hidden by default */
.dropdown-menu {
  box-shadow: 0 .5rem 1rem rgba(0,0,0,.3);
  background-color: #ffffff;
  min-width: 0;
  width: auto;
  white-space: nowrap;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

/* show submenu on hover */
.nav-item.dropdown:hover .dropdown-menu {
  display: block;
}

/* optional: change background on hover */
.dropdown-item:hover {
  background-color: #000000;
}

.dropdown-item {
  white-space: nowrap;
  padding-left: .75rem;
  padding-right:.75rem;
}

/* spread nav: home-button left, menu centered */
#nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* wrapper takes available space and centers its children */
.nav-menu-wrapper {
  display: flex;
  justify-content: center;
  flex: 1;
}

/* style the home-button image */
.nav-home-button img {
  height: 4rem;   /* adjust to match your nav height */
  width: auto;
  display: block;
}

/* spacing between the home-button and menu */
.nav-home-button {
  margin-right: 1rem;
}

/* dropdown wrapper */
.nav-item.dropdown {
    position: relative;   /* for absolute submenu positioning */
}

/* keynotes grid on the landing page */
.speakers-section {
  padding: 4rem 0;
  text-align: center;
}

/* increase specificity a bit to beat theme rules */
.speakers-section .speakers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 3rem;
  justify-items: center;
  max-width: calc(3 * 280px + 2 * 3rem); /* 3 items + 2 gaps */
  margin: 0 auto; /* center the grid on large screens */
}


.speakers-section .speaker-item { max-width: 240px; }
.speakers-section .speaker-photo {
  width: 180px; height: 180px; object-fit: cover; border-radius: 50%; display: block; margin: 0 auto;
}

/* Hard breakpoints as a safety net */
/* @media (max-width: 900px) {
  .speakers-section .speakers-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 600px) {
  .speakers-section .speakers-grid {
    grid-template-columns: 1fr !important;
  }
  .speakers-section .speaker-photo { width: 160px; height: 160px; }
} */

.map-container {
  width: 100%;
  aspect-ratio: 4 / 2.5;   /* or 16 / 9 if you prefer */
}
.map-container iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}


/* Consent box styling */
.map-consent {
  border: 1px solid #ddd;
  background: #fafafa;
  padding: 1rem;
  border-radius: 0.5rem;
  max-width: 100%;
}

.map-consent__btn {
  cursor: pointer;
  border: 0;
  padding: 0.6rem 1rem;
  border-radius: 0.5rem;
  background: #1a73e8; /* theme primary? adjust if needed */
  color: #fff;
  font-weight: 600;
}

/* Responsive map once consented */
.map-container {
  width: 100%;
  aspect-ratio: 4 / 3; /* or 16/9 if you prefer */
}

.map-container iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.map-consent__notice { color: #000 !important; }
