html {max-width:940px; /*height:100vh;*/ height:101% !important; margin:0px auto;}

body {
  height:101% !important;
  text-align:left;
  padding:0px;
  margin:0px auto;
  font-family: Arial,Helvetica,sans-serif;
  color: #555;
  background-color: white;
  font-size:14px;
  line-height:1.6;
}


.has_contributions {
  border-bottom: solid #339682 2px !important;
  background-color: #fff !important; /*effbf7*/
   /*border-bottom: solid 1px #ccc !important;*/
}

/* Accordion for parallel sessions */
.parallel_accordion {
  cursor: pointer;
  padding: 18px;
  width: 100%;
  border: none;
  text-align: left;
  outline: none;
  transition: 0.7s;
}
.active_session, .parallel_accordion:hover {
}
.parallel_session {
  padding: 0 18px;
  background-color: white;
  max-height: 0;
  overflow: hidden;
  transition: 0.5s ease-out;
  border-left: solid #fff 5px;
}
/* End - Accordion for parallel sessions */

.center {
  margin: auto;
  width: 50%;
}
.text_right {
  text-align: right;
  margin-right: 10px;
}
.highlight { background: #FFFF40; }


/* Page structure (width, height, color, margins, paddings) */
#pg0 {
  background-color: white;
  max-width:940px;
  /*   border:solid #4E90C3; border-width: 0 1px 0 1px; */
  height:101% !important;
  margin:0;
  padding:0;

}
#content0 {
  padding:0;
  margin:40px 0 0 0;
  background-color:white;
  height:101% !important;
  box-shadow: none;
}
/*  */
#content1 {
  padding:10px 10px;
  margin:0px;
  background-color:white;
box-shadow: none;
}
/*  */
#content2 {
  padding:20px 0;
  margin:0px;
}
.mobile_banner {width:100%; margin:10px; background-color:white; color:#4a9cd7;}
.search_section, .result_section, #search_results, .summary, .result_pagescount {
  background-color: white;
  max-width:940px;
  padding:0 20px;
  margin:20px 0 0 0;
}

#calendar {margin:20px 0;}
/* End of Page structure (width, height, color, margins, paddings)  */


/* Headings */
h1 {
  padding: 20px 0 0 0;
  margin: 0px;
  font-family: Arial,Helvetica,sans-serif;
  font-weight: bold;
  font-style: normal;
  font-size: 1.7em;
  font-variant: small-caps;
  color: #0390d5;
}

h1.filter_hdr {
  padding: 0px 0 10px 0;
  margin: 60px 0px 0px 0px;
  font-family: Arial,Helvetica,sans-serif;
  font-style: normal;
  font-size: 1.5em;
  font-variant: small-caps;
  color: #0390d5;font-weight:bold;
}
/* end of Headings */

.banner  {
  vertical-align:middle;
  /*   height:80px; */
  text-align:center;
  line-height:80px;
  /*  */
  display:none;
}

.banner image {
  margin:0 auto;
}

#footer {
  background-color: white;
  max-width:940px;
  margin:auto;
}

#coms_lang {}











/* Buttons and form controls */
radio,  checkbox{
    cursor: pointer;
}
.cb-inline {
   display:flex;
   flex-wrap:nowrap;
   align-items: center;
}
.btn-primary {
  color: #fff !important;
  background-color:#38848c !important;
  border-color:#38848c !important;
  font-size:1.1em;
}

.btn {
    display: table;
    margin-bottom: 0;
    font-weight: normal;
    text-align: center;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    background-image: none;
    border: 1px solid transparent;
        border-top-color: transparent;
        border-right-color: transparent;
        border-bottom-color: transparent;
        border-left-color: transparent;
    white-space: nowrap;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    border-radius: 4px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
input, button, select, textarea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}
input {
    line-height: normal;
}
button, input, optgroup, select, textarea {
    color: inherit;
    font: inherit;
        font-weight: inherit;
        font-size: inherit;
        line-height: inherit;
        font-family: inherit;
    margin: 0;
        margin-bottom: 0px;
}
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.form-control {
    display: inline-block;
    width: auto;
    padding: 6px 12px;
    line-height: 1.42857143;
    margin: 0 0 20px 0;
    background-color: #f5f5f5 !important;
    box-shadow: none;
    border: 2px solid #bbb;
    border-radius: 2px;
    box-shadow: none;
}
.form-control:focus {
  outline: 0;
}
input.zoom_searchbox {
  width: 30em !important;
  padding-left: 0.25em;
  margin: 0px 20px 10px 0;
  background-color: #f5f5f5;
    border: 2px solid #bbb;
    border-radius: 2px;
    box-shadow: none;
}
.zoom_metaform_text {
  width: 30em;
}


/* End of Buttons and form controls */





/* Search results */
.result_block, .result_altblock {
  margin: 15px 0px 35px 0px;
  padding: 20px;
  clear: left;
}
.bg-success {background-color:#DDEFFC;}
.bg-warning {background-color:#F5F1EE;}
.meta_section {margin-left:0em; }
.result_meta_val {white-space:normal; }
.result_metaname {font-weight:bold; }
.hrbkm {
  margin: 9px 0;
  border: 0;
  height: 1px;
  background-color: white;
}
.description {
  display: none;
}
/* End of Search results */

.back_link {
  padding: 0px 0 0px 10px;
}
#content {
  padding: 0px;
  text-align: left;
  background-color: white;
}


.save-to-cal-checkbox {margin:0 10px;}
.save-to-cal-checkbox .cb {
    padding: 20px 0px ;
    display: flex;
    align-self: center;
}
.save-to-cal-checkbox .cb-label {padding:3px 10px 0px 10px; }
.cb-label1 {padding:3px 10px 0px 10px; }

.btn-file {  position: relative;  overflow: hidden;}
.btn-file input[type="file"] {
    position: absolute;
    top: 0;
    right: 0;
    min-width: 100%;
    min-height: 100%;
    font-size: 100px;
    text-align: right;
    filter: alpha(opacity=0);
    opacity: 0;
    outline: none;
    background: white;
    cursor: inherit;
    display: block;
}

.result_custommeta {display:flex; }
.result_meta_val {margin-left: 5px;}
.cover {--cover-primary:#0080ef;} /* the site's primary colour, parameter 604 */
/*--- cover page sections - functional layer ( code-owned, see pm/cover_sections.pm ) ---*/
.cover img {max-width:100%; height:auto;}
.cover-map {position:relative; padding-bottom:56.25%; height:0;}
.cover-map iframe {position:absolute; top:0; left:0; width:100%; height:100%; border:0;}
.cover-sponsor {display:inline-flex; align-items:center; justify-content:center;}
.cover-sponsor img {display:block; width:auto; height:auto; object-fit:contain;}
/*--- the Download button element: the EDITABLE copy of these rules lives in
      the styles box ( _button_box_css - its own commented section, her
      request ), comes later in the cascade and wins. This one-line copy of
      the essentials is the fallback for a delivery whose box predates that
      block: the box only upgrades when the builder page is visited, while
      this layer rides with the code. ---*/
.cover-button {text-align:center;}
.cover-btn {display:inline-block; padding:10px 26px; background:var(--cover-primary, #4a6a96); color:#fff; border-radius:6px; text-decoration:none; font-weight:600;}
.cover-btn:hover {filter:brightness(1.1); color:#fff;}
/*--- position:relative makes the grid the anchor of the opened-bio panel
      ( .cover-speaker-biopanel in the editable box ), so the panel's left:0 /
      right:0 span exactly the grid's width.
      The column definition is written TWICE on purpose. The second one is the
      real one - the card width comes from --speaker-min / --speaker-max in the
      editable box. The plain first one is what an engine that cannot parse the
      second keeps instead: the old fixed 190-240px, which ignores the box's
      knobs but stays a grid. Without it such an engine throws the only
      declaration away, and grid-without-columns is ONE full-width column -
      every card blown up to the width of the grid.
      A min() capping the lower bound at 100% of the grid used to sit in the
      second declaration ( so a card set wider than a phone screen would wrap
      instead of pushing the page sideways ). It came out on 2026-08-19: it
      nested three functions - min inside minmax inside repeat - and that broke
      the declaration on her phones as well as on a tablet, not just on old
      engines. Keep the nesting shallow here; the overflow case is a card width
      set wider than a phone, which is the site's own choice to avoid.
      The safety net for the knobs is the max-width on .cover-speaker in the
      editable box, which needs no grid support at all. ---*/
.cover-speakers-grid {display:grid; grid-template-columns:repeat(auto-fit, minmax(190px, 240px)); grid-template-columns:repeat(auto-fit, minmax(var(--speaker-min, 190px), var(--speaker-max, 240px))); justify-content:center; position:relative;}
/*--- breathing room under an opened bio panel: the page's scrollable area
      ends exactly at an absolute box's border - a margin below it would not
      count - so an invisible 1px-wide strut hangs below the panel and
      stretches the page instead, keeping a panel that reaches past the last
      row from ending flush with the bottom of the screen. The clearance is
      tunable as --biopanel-clearance in the editable box. ---*/
.cover-speaker-bio[open] .cover-speaker-biopanel::after {content:""; position:absolute; top:100%; width:1px; height:var(--biopanel-clearance, 40px);}
/*--- the opened bio's background is LOAD-BEARING, not cosmetic: the panel is
      laid over the cards below it, and without an opaque background the bio
      and the covered cards read through each other. So a fallback lives here
      in the functional layer - it covers every delivery whose styles box
      predates the panel rule ( the box is only upgraded when a site's builder
      page is visited, while this layer rides with the code ). The box's own
      .cover-speaker-biopanel rule comes later in the cascade and keeps
      winning wherever it exists; deleting it still collapses the panel into
      the card ( position stays box-owned ), now on a white card instead of
      bare text. ---*/
.cover-speaker-bio[open] .cover-speaker-biopanel {background:var(--biopanel-bg, #fff); color:var(--biopanel-color, #444);}
/*--- THE APP'S opened bio ( mobile context only - the -flow class appears
      solely in the markup of the delivered cover.html, so these rules are
      inert on the web ): a MODAL since 2026-08-30 ( her request - the bio
      on top of the page instead of inside the flow, which is also what lets
      the app's list be a grid again, see the column note below ). What
      makes it possible without a line of script is that the OPEN SUMMARY IS
      THE SCRIM: while the details is open, its summary line becomes a fixed
      full-screen layer, so a tap anywhere on the dimmed page is a tap on
      the summary - the native toggle - and the modal closes. Closed, the
      summary is an ordinary line in the card and NOTHING sits out of flow,
      which answers the 2026-08-19 objection to overlays ( their invisible
      box swallowed taps; that box no longer exists while closed, and while
      open, swallowing taps is exactly a modal's job ). The card is the
      bioframe, fixed and centred over the scrim; its fill, frame and shadow
      all sit on its ::before, and the scrim's dim on the summary's, because
      only pseudo-element fills reliably paint in the app ( renderer facts
      below ). The frame repeats the speaker's name as a header line
      ( cover-speaker-bioname, _render_speakers ) - over the scrim the card
      behind is dimmed, so the modal must say itself whose text it shows -
      and a long bio scrolls INSIDE the frame: the scroll box is the inner
      div, so the ::before frame stays put while it scrolls. The fill cannot
      inherit the theme ( an inherited transparent card would float the text
      on the scrim ), so it follows the device scheme via
      prefers-color-scheme; a current app build pins it to the exact theme
      background from its injected stylesheet ( home_page.dart
      _generateCss ), which comes later with !important and wins - the
      media query is the fallback for the builds already in the stores.
      What the ecc26 rounds ( 2026-08-19 ) established about the renderer,
      still load-bearing here:
      - it applies the style block but discards inline style attributes,
        wipes backgrounds on REAL elements ( a white panel came out
        transparent in three different deliveries ) and overrides their text
        colours ( light grey over #444 ); only pseudo-element fills painted
        ( the scrim, the white backdrop ).
      - position:fixed paints and centres ( her scrim experiment ).
      - the numbers stay plain px / vh on purpose: a min()/calc() nest broke
        the grid declaration on her phones once already ( see the column
        note above ).
      The IN-FLOW FOLD this replaces ( her pick of 2026-08-19 evening, after
      a day of alternatives on ecc26 - chosen because a full-width bio could
      not live inside a grid, the constraint the modal dissolves ), for a
      revival, together with its single-column list:
        .cover-speakers-grid.cover-speakers-m {display:block;}
        .cover-speakers-m .cover-speaker {margin:0 auto 30px; max-width:640px;}
        .cover-speaker-bio-flow[open] {text-align:start;}
        .cover-speaker-bio-flow[open] .cover-speaker-bioframe {position:relative; margin-top:10px;}
        .cover-speaker-bio-flow[open] .cover-speaker-bioframe::before {content:""; position:absolute; top:0; right:0; bottom:0; left:0; border:1px solid rgba(127,127,127,0.55); border-radius:8px;}
        .cover-speaker-bio-flow[open] .cover-speaker-bioscroll {padding:12px 16px;}
      ( the fold pushed the content below it down; the modal moves nothing -
      the open summary and the frame are both out of flow, so the grid
      never reflows ). ---*/
.cover-speaker-bio-flow[open] summary {position:fixed; top:0; right:0; bottom:0; left:0; z-index:60; font-size:0;} /* the scrim IS the open summary: any tap on it is the native close; font-size:0 hides its label and arrow */
.cover-speaker-bio-flow[open] summary::before {content:""; position:absolute; top:0; right:0; bottom:0; left:0; background:rgba(0,0,0,0.55);}
.cover-speaker-bio.cover-speaker-bio-flow[open] summary::after {content:"\00d7"; position:absolute; top:8px; right:18px; width:44px; height:44px; font-size:30px; line-height:44px; text-align:center; color:#fff; background:rgba(0,0,0,0.45); border-radius:22px;} /* an explicit close ( her request 2026-08-30: around a tall card the tappable scrim thins to slivers, and nothing said "tap outside" ) - a lightbox-style x in the corner, ON the summary, so it is a real close button by construction while the whole scrim keeps closing too. Plain px, paired with the frame's top:64px: the x ends at 52px, the card starts 12px lower, so the x sits clear ABOVE the card in either orientation - at top:2vh/10vh, landscape squeezed the pair into overlap and the card ( the higher z-index, and necessarily so ) masked the x's lower half ( her report 2026-08-30 ). The double class out-specifies the styles box's open-state arrow rule ( content:"\2039" ), which ties on specificity with a single class and would win on order; the explicit font-size revives the glyph from the summary's font-size:0 */
.cover-speaker-bio-flow[open] .cover-speaker-bioframe {position:fixed; z-index:61; top:64px; left:18px; right:18px; margin:0 auto; max-width:560px; text-align:start;}
.cover-speaker-bio-flow[open] .cover-speaker-bioframe::before {content:""; position:absolute; top:0; right:0; bottom:0; left:0; z-index:-1; background:#fbfbfb; border:1px solid rgba(127,127,127,0.55); border-radius:12px; box-shadow:0 12px 32px rgba(0,0,0,0.35);} /* z-index:-1 pins the fill under the text ( the frame's own z-index makes it a stacking context, so -1 cannot fall behind the scrim ); the dave9 blank-panel episode showed what an opaque layer over the text looks like - belt and braces below */
@media (prefers-color-scheme: dark) {
.cover-speaker-bio-flow[open] .cover-speaker-bioframe::before {background:#2c2c31;} /* a step ABOVE the dark page background, not level with it - a page-coloured card over the dimmed page reads as a hole ( her report 2026-08-30 ); the app's own injected rule overrides this with the exact theme colour on current builds */
}
.cover-speaker-bioname {position:relative; z-index:1; margin:0; padding:14px 18px 0; text-align:center;} /* lifted above the ::before fill both ways: explicit z-index for a renderer that mis-orders the positioned-paint phase, position:relative so the z-index takes */
.cover-speaker-bio-flow[open] .cover-speaker-bioscroll {position:relative; z-index:1; max-height:62vh; overflow-y:auto; padding:10px 18px 16px; -webkit-overflow-scrolling:touch;} /* 64px top + header + 62vh keeps the card on-screen without a calc(), landscape included */
body:has(.cover-speaker-bio-flow[open]) {overflow:hidden;} /* no page scroll behind the open modal; an engine without :has simply keeps scrolling - harmless */
/*--- THE APP'S SPEAKER LIST IS A GRID AGAIN ( 2026-08-30, her request -
      more than one profile where the width allows, tablets foremost. The
      2026-08-19 single-column decision existed only because a full-width
      IN-FLOW bio has no workable anchor inside a grid - a day of
      screenshots proved every anchor fails: under the open card's summary
      it cuts through taller neighbours; reserved inside the card, the row
      grows and the neighbours' bottom-pinned lines ride into the band;
      docked under the whole grid it opens below the fold on a phone. The
      modal above removes the bio from the flow, and the whole problem with
      it ). NO -m column rules at all: the -m grid carries the plain
      cover-speakers-grid class too, so the functional grid rule and the
      editable box's knobs ( --speaker-min/max, gap, max-width ) reach it by
      themselves - a phone too narrow for two cards gets one column from
      auto-fit, wider screens fill up, and the card width set for the web
      holds in the app. The box's .cover-speaker max-width + margin-inline
      safety net keeps even a broken-grid fallback a centred narrow
      column. ---*/
.cover-speakers-m .cover-speaker-photo {max-width:var(--speaker-max, 200px); margin:0 auto;} /* the portrait follows the box's card-width knob, so the size set for the web grid holds in the app's list too; 200px where a site never set one */
/*--- no tap flash on the Read more line: the webview's own touch highlight
      and the focus styling it leaves behind after the tap ---*/
.cover-speaker-bio-flow summary {-webkit-tap-highlight-color:rgba(0,0,0,0); outline:none;}
.cover-speaker-bio-flow summary:focus, .cover-speaker-bio-flow summary:active {outline:none; background:transparent !important;}
.cover-speaker-photo {aspect-ratio:var(--speaker-ratio, 3 / 4); overflow:hidden;}
.cover-speaker-photo img {width:100%; height:100%; max-width:100%; object-fit:cover; display:block;}
/* The affiliation line under the name ( 2026-08-21 ): muted via opacity, not a
   colour, so it follows whatever text colour the page - or the app's theme
   layer - gives the card. In the functional layer like the other mechanics; a
   site wanting another look adds its own .cover-speaker-affil rule to the
   styles box, which comes later in the cascade and wins. */
.cover-speaker-affil {margin:2px 0 0; font-size:0.9em; opacity:0.75;}
/*--- the divider's line: the browser's own hr is a 1px INSET BORDER, which
      would frame the coloured bar in grey - so the border goes and the line
      is the box itself. Thickness, colour and spacing are all set in the
      editable box, on .cover-divider ( one rule for every divider ); the
      fallbacks here only keep a line visible if that rule is deleted. ---*/
.cover-divider hr {border:0; margin:0; height:var(--divider-thickness, 2px); background:var(--divider-color, var(--cover-primary, #ddd));}
/*--- the separator between two sections ( render puts one between every pair
      of them ): built exactly like the divider - an <hr> inside the div, the
      hr IS the line, the div carries the spacing. Thickness and colour come
      from the editable box, on .cover-separator; its own two variables, so the
      two lines can be styled apart. The separator is placed automatically, for
      every site, so it stays LOW KEY ( her decision 2026-08-17 ): thin and
      grey, where the divider - which someone chose to add - takes the site's
      primary colour. The fallbacks here only keep a line visible if the rule
      in the box is deleted. NOTE that the div must NOT be given a height and a
      background of its own: that would draw a second line above this one. ---*/
.cover-separator hr {border:0; margin:0; height:var(--separator-thickness, 1.5px); background:var(--separator-color, #999);}
/*--- pages-mode navigation bar ( the app's cover, param 730 - see _render_tabbed ) ---*/
.cover-nav {display:flex; flex-wrap:wrap; gap:6px; justify-content:center; margin:0 0 20px; padding-bottom:10px; border-bottom:1px solid #ddd;}
.cover-nav .cover-nav-button {border:0; background:none; padding:8px 14px; font-size:1.05em; cursor:pointer; border-radius:6px 6px 0 0; color:inherit;}
.cover-nav .cover-nav-button:hover {background:#f0f4f8;}
.cover-nav .cover-nav-button.cover-nav-active {font-weight:600; box-shadow:inset 0 -3px 0 #4a7ab5;}
/* --- cover-defaults-v1 ---------------------------------------------------
   The styles of the section-based cover page, placed here so you can edit
   them. Rules you write BELOW these win over them. Deleting a rule falls
   back to the plain browser rendering, never to a broken page. */

/* --- General  -------------------------------------------- */
.cover {
    --cover-radius: 8px;
}
.cover-element {
    margin: 20px 0;
}

/* --- Sections  -------------------------------------------- */
.cover-section {
    margin: 20px 0;
}
.cover-section-label {
    margin: 0 0 6px;
    color: inherit;
}
.cover-section-label + .cover-element {
    margin-top: 6px;
}
.cover-section-label + .cover-element .cover-body > :first-child {
    margin-top: 0;
}
.cover-separator {
    --separator-thickness: 1.5px;
    --separator-color: #999;
    margin-block: 30px 20px;
    margin-inline: 0;
}

/* --- Conference identity  -------------------------------------------- */
.cover-title {
    font-size:2.1em;
    font-weight: 600;
    text-align: center;
    margin: 25px 0 10px;
}
.cover-conference {
    text-align: center;
}
.cover-dates {
    font-size: 1.65em;
    text-align: center;
    margin: 4px 0;
}
.cover-location {
    font-size: 1.65em;
    text-align: center;
    margin: 4px 0;
}
.cover-banner {
    margin: 0 auto 10px;
    text-align: center;
}
.cover-banner img {
    width: 100%;
    max-width: 1100px;
    border-radius: calc(var(--cover-radius, 8px) * 2);
}

/* --- Pictures  -------------------------------------------- */
.cover-picture {
    margin: 30px auto;
    text-align: center;
}
.cover-picture img {
    max-width: min(900px, 100%);
    border-radius: calc(var(--cover-radius, 8px) * 2);
}
.cover-picture figure, .cover-picture .image {
    margin-inline-start: auto;
    margin-inline-end: auto;
}

/* --- Maps  -------------------------------------------- */
.cover-map {
    max-width: 900px;
    margin: 0 auto;
    border-radius: calc(var(--cover-radius, 8px) * 2);
    overflow: hidden;
}

/* --- Sponsors  -------------------------------------------- */
.cover-sponsors {
    margin: 25px 0;
}
.cover-sponsor-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 30px 44px;
    max-width: 1000px;
    margin: 0 auto;
}
.cover-sponsor img {width:min(220px, 76vw); height:120px; object-fit:contain; background:#fff; border-radius:var(--cover-radius, 8px);}

/* --- Profiles  -------------------------------------------- */
.cover-speakers {
    margin: 25px 0;
}
.cover-speakers-grid {
    --speaker-min: 190px;
    --speaker-max: 240px;
    gap: 28px 24px;
    max-width: 1000px;
    margin: 0 auto;
}
.cover-speaker {
    text-align: center;
    max-width: 240px;
    max-width: var(--speaker-max, 240px);
    margin-inline-start: auto;
    margin-inline-end: auto;
}
.cover-speaker-photo {
    border-radius: var(--cover-radius, 8px);
    background: #eef1f4;
}
.cover-speaker-name {
    font-weight: 600;
    margin: 10px 0 2px;
}
.cover-speaker-name a {
    color: inherit;
}
.cover-speaker-bio {
    font-size: 0.92em;
    text-align: start;
}
.cover-speaker-bio p {
    margin: 6px 0;
}
.cover-speaker-bio summary {
    list-style: none;
    cursor: pointer;
    color: var(--cover-primary, #4a7ab5);
    text-align: center;
}
.cover-speaker-bio summary::-webkit-details-marker {
    display: none;
}
.cover-speaker-bio summary::after {
    content: " \203A";
}
.cover-speaker-bio[open] summary::after {
    content: " \2039";
}
.cover-speaker-bio[open] .cover-speaker-biopanel {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 5;
    margin-top: 10px;
    padding: 18px 24px;
    background: #fff;
    color: #444;
    border: 1px solid #d5dbe2;
    border-radius: var(--cover-radius, 8px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.18);
}

/* --- Divider  -------------------------------------------- */
.cover-divider {
    --divider-thickness: 2px;
    --divider-color: var(--cover-primary, #ddd);
    margin-block: 30px 20px;
    margin-inline: 0;
}

/* --- Download button  -------------------------------------------- */
.cover-btn {
    display: inline-block;
    background-color: var(--cover-primary, #4a6a96);
    color: #fff;
    font-weight: 600;
    padding: 10px 26px;
    border: none;
    border-radius: var(--cover-radius, 8px);
    text-decoration: none;
    cursor: pointer;
    transition: filter 0.3s ease;
}
.cover-btn:hover {
    filter: brightness(1.1);
    color: #fff;
}
.cover-button {
    text-align: center;
}
/* --- end of cover-defaults-v1 -------------------------------------------- */

/* --- General  -------------------------------------------- */
.cover-section {margin:20px 0;}
.cover-section-label {margin:0 0 6px 0; color:inherit;} 
.cover-section-label + .cover-element {margin-top:6px;}
.cover-section-label + .cover-element .cover-body > :first-child {margin-top:0;}
.cover-element {margin:20px 0;}
.cover-separator {--separator-thickness:1.5px; --separator-color:#999; margin-block:30px 20px; margin-inline:0;} 
.cover {--cover-radius:8px;} 

/* --- Conference descriptors and cover image  -------------------------------------------- */
.cover-title {font-size:2.3em; font-weight:600; text-align:center; margin:25px 0 10px;}
.cover-conference {text-align:center;}
.cover-dates {font-size:1.7em; text-align:center; margin:4px 0; font-weight:600; }
.cover-location {font-size:1.7em; text-align:center; color:#555; margin:4px 0; font-weight:600; }
.cover-banner {margin:0 auto 10px auto; text-align:center;}

/* --- Images  -------------------------------------------- */
.cover-banner img {width:100%; max-width:1100px; border-radius:calc(var(--cover-radius, 8px) * 1.5);}

/* --- Maps  -------------------------------------------- */
.cover-map {max-width:900px; margin:0 auto; border-radius:calc(var(--cover-radius, 8px) * 1.5); overflow:hidden;}

/* --- Pictures  -------------------------------------------- */
.cover-picture {margin:30px auto; text-align:center;}
.cover-picture img {max-width:min(900px, 100%); border-radius:calc(var(--cover-radius, 8px) * 1.5);}
.cover-picture figure, .cover-picture .image {margin-left:auto; margin-right:auto;}

/* --- Sponsors  -------------------------------------------- */
.cover-sponsors {margin:25px 0;}
.cover-sponsor-row {display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:30px 44px; max-width:1000px; margin:0 auto;}
.cover-sponsor img {width:min(220px, 76vw); height:120px; object-fit:contain; background:#fff; border-radius:var(--cover-radius, 8px);}

/* --- Speakers  -------------------------------------------- */
.cover-speakers {margin:0px 0;}
.cover-speakers-grid {max-width:1000px; margin:50px auto;}
.cover-speaker {text-align:center; max-width:240px; max-width:var(--speaker-max, 240px); margin-inline-start:auto; margin-inline-end:auto;} 
.cover-speaker-photo {border-radius:var(--cover-radius, 8px); background:#eef1f4;}
.cover-speaker-name {font-weight:600; margin:10px 0 2px;}
.cover-speaker-name a {color:inherit;}
.cover-speaker-bio {font-size:0.92em; text-align:start;}
.cover-speaker-bio p {margin:6px 0;}
.cover-speakers-grid {--speaker-min:130px; --speaker-max:130px; gap:40px 40px;}
.cover-speaker-bio summary {list-style:none; cursor:pointer; color:var(--cover-primary, #4a7ab5); text-align:center;} 
.cover-speaker-bio summary::-webkit-details-marker {display:none;} /* the browser"s own triangle, for older webviews that ignore list-style:none above */
.cover-speaker-bio summary::after {content:" \203A";} /* the small arrow after the label: > while closed ... */
.cover-speaker-bio[open] summary::after {content:" \2039";} /* ... and < while open */
.cover-speaker-bio[open] .cover-speaker-biopanel {position:absolute; left:0; right:0; z-index:5; margin-top:10px; padding:18px 24px; background:#fff; color:#444; border:1px solid #d5dbe2; border-radius:var(--cover-radius, 8px); box-shadow:0 12px 32px rgba(0,0,0,0.18);} /* an opened bio: a panel spanning the whole speaker grid, laid over the cards below it; it carries its own background and text colour because it lies over other content. Delete this rule and a bio opens inside its own narrow card instead */

/* --- Divider  -------------------------------------------- */
.cover-divider {--divider-thickness:2px; --divider-color:var(--cover-primary, #ddd); margin-block:30px 20px; margin-inline:0;} 


/* --- Download button ---------------------------------------------------- */
.cover-btn {
    display: inline-block;
    background-color: var(--cover-primary, #4a6a96);
    color: #fff !important;
    font-weight: 600;
    padding: 10px 26px;
    border: none;
    border-radius: var(--cover-radius, 8px);
    text-decoration: none;
    cursor: pointer;
    transition: filter 0.3s ease;
}
.cover-btn:hover {
    filter: brightness(1.1); /* a touch brighter on hover, whatever the colour above */
    color: #ffffff;
}
.cover-button {
    text-align: center; 
}

.room-nav {display:flex; flex-wrap:wrap; justify-content:space-around; background-color: #F0F8FF;  margin:0; padding: 16px 0px;  border-bottom:1px #337ab7 solid;}
.room-nav li {display:inline-block; list-style-type: none;    margin: 3px 20px;  padding: 0;}
.room-nav a {}
.room-pill a {text-decoration:none !important; padding:3px 1px;}
.room-active a { border-bottom:3px #337ab7 solid;}
        /* Works on Firefox  #4a9cd7 */
        * {
        scrollbar-width: thin;
        scrollbar-color: transparent transparent;
        }

        /* Works on Chrome, Edge, and Safari */
        *::-webkit-scrollbar {
        width: 10px !important;
        }

        *::-webkit-scrollbar-track {
        background: transparent;
        }

        *::-webkit-scrollbar-thumb {
        background-color: #ccc;
        border-radius: 20px;
        border: 5px solid transparent;
        }

        body::-webkit-scrollbar {
        width: 10px !important;               /* width of the entire scrollbar */
        }

        body::-webkit-scrollbar-track {
        background: transparent;        /* color of the tracking area */
        }

        /* Handle on hover */
        ::-webkit-scrollbar-thumb:hover {
        background: #ccc;
        }

    @supports (font-variation-settings : normal) {
        @font-face {
            font-family: 'Open Sans';
            src:
            url("./fonts/OpenSans-VariableFont_wdth,wght.woff2") format('woff2-variations');
            font-style: normal;
            font-display: swap;
            font-weight: 1 999;
            font-stretch: 75% 100%;
        }
        @font-face {
            font-family: 'Open Sans';
            src:
            url("./fonts/OpenSans-Italic-VariableFont_wdth,wght.woff2") format('woff2-variations');
            font-style: italic;
            font-display: swap;
            font-weight: 1 999;
            font-stretch: 75% 100%;
        }
    }
    .d_inline_block {display:inline;}  .parallel_accordion .session_times { 	color: #555; } .parallel_accordion_title { 	font-size: 1.0em; 	font-weight: bold; 	line-height: 1; 	padding-left: 10px; 	background-color: transparent !important; 	align-self: center; 	display: flex; 	justify-content: space-between; 	align-items: center; 	width: 100%; }  /*.navitem_links {display:none !important;}*/ #boa_navitem {display:none !important;}a {color:#555t;}        .session_listing {border-bottom: solid #339682 2px !important;}       .session_header0 {margin:0px 0 10px 0; padding:0px 0; color:#555; }       .session_header0 {background-color:#Fff;padding:10px 0; }       .session_header1 {background-color:#fff; margin:0 0 10px 0 !important; padding:10px 0 !important;}       .session_header2 {background-color:#eeeeee !important;}       .session_header3  {background-color: #fff ; color:#222;  } .session_header3 .right-arrow {display:none;} .session_header4  {background-color: #fff !important;   padding: 0 20px 20px 0;} .session_header4   .session_times {   white-space: nowrap !important;   width: auto !important;   min-width: auto !important; }              /* ----------------------------------------------------- */       .room-nav {display:flex; flex-wrap:wrap; justify-content:space-between; background-color: #443787;  margin:0; padding: 10px 20px;  border-bottom:1px #443787 solid;}       .room-nav li {display:inline-block; list-style-type: none; margin: 5px 20px;  padding: 0;}       .room-nav a {color: #fff !important;}       .room-pill a {text-decoration:none !important; padding:4px 10px;}       .room-active a { border-bottom:0px #443787 solid; background-color: #fff; color:#443787 !important; border-radius:4px;}a {color:#555t;}        .session_listing {border-bottom: solid #339682 2px !important;}       .session_header0 {margin:0px 0 10px 0; padding:0px 0; color:#555; }       .session_header0 {background-color:#Fff;padding:10px 0; }       .session_header1 {background-color:#fff; margin:0 0 10px 0 !important; padding:10px 0 !important;}       .session_header2 {background-color:#eeeeee !important;}       .session_header3  {background-color: #fff ; color:#222;  } .session_header3 .right-arrow {display:none;} .session_header4  {background-color: #fff !important;   padding: 0 20px 20px 0;} .session_header4   .session_times {   white-space: nowrap !important;   width: auto !important;   min-width: auto !important; }              /* ----------------------------------------------------- */       .room-nav {display:flex; flex-wrap:wrap; justify-content:space-between; background-color: #443787;  margin:0; padding: 10px 20px;  border-bottom:1px #443787 solid;}       .room-nav li {display:inline-block; list-style-type: none; margin: 5px 20px;  padding: 0;}       .room-nav a {color: #fff !important;}       .room-pill a {text-decoration:none !important; padding:4px 10px;}       .room-active a { border-bottom:0px #443787 solid; background-color: #fff; color:#443787 !important; border-radius:4px;}a {color:#555t;}        .session_listing {border-bottom: solid #339682 2px !important;}       .session_header0 {margin:0px 0 10px 0; padding:0px 0; color:#555; }       .session_header0 {background-color:#Fff;padding:10px 0; }       .session_header1 {background-color:#fff; margin:0 0 10px 0 !important; padding:10px 0 !important;}       .session_header2 {background-color:#eeeeee !important;}       .session_header3  {background-color: #fff ; color:#222;  } .session_header3 .right-arrow {display:none;} .session_header4  {background-color: #fff !important;   padding: 0 20px 20px 0;} .session_header4   .session_times {   white-space: nowrap !important;   width: auto !important;   min-width: auto !important; }              /* ----------------------------------------------------- */       .room-nav {display:flex; flex-wrap:wrap; justify-content:space-between; background-color: #443787;  margin:0; padding: 10px 20px;  border-bottom:1px #443787 solid;}       .room-nav li {display:inline-block; list-style-type: none; margin: 5px 20px;  padding: 0;}       .room-nav a {color: #fff !important;}       .room-pill a {text-decoration:none !important; padding:4px 10px;}       .room-active a { border-bottom:0px #443787 solid; background-color: #fff; color:#443787 !important; border-radius:4px;}a {color:#555t;}        .session_listing {border-bottom: solid #339682 2px !important;}       .session_header0 {margin:0px 0 10px 0; padding:0px 0; color:#555; }       .session_header0 {background-color:#Fff;padding:10px 0; }       .session_header1 {background-color:#fff; margin:0 0 10px 0 !important; padding:10px 0 !important;}       .session_header2 {background-color:#eeeeee !important;}       .session_header3  {background-color: #fff ; color:#222;  } .session_header3 .right-arrow {display:none;} .session_header4  {background-color: #fff !important;   padding: 0 20px 20px 0;} .session_header4   .session_times {   white-space: nowrap !important;   width: auto !important;   min-width: auto !important; }              /* ----------------------------------------------------- */       .room-nav {display:flex; flex-wrap:wrap; justify-content:space-between; background-color: #443787;  margin:0; padding: 10px 20px;  border-bottom:1px #443787 solid;}       .room-nav li {display:inline-block; list-style-type: none; margin: 5px 20px;  padding: 0;}       .room-nav a {color: #fff !important;}       .room-pill a {text-decoration:none !important; padding:4px 10px;}       .room-active a { border-bottom:0px #443787 solid; background-color: #fff; color:#443787 !important; border-radius:4px;}a {color:#555t;}        .session_listing {border-bottom: solid #339682 2px !important;}       .session_header0 {margin:0px 0 10px 0; padding:0px 0; color:#555; }       .session_header0 {background-color:#Fff;padding:10px 0; }       .session_header1 {background-color:#fff; margin:0 0 10px 0 !important; padding:10px 0 !important;}       .session_header2 {background-color:#eeeeee !important;}       .session_header3  {background-color: #fff ; color:#222;  } .session_header3 .right-arrow {display:none;} .session_header4  {background-color: #fff !important;   padding: 0 20px 20px 0;} .session_header4   .session_times {   white-space: nowrap !important;   width: auto !important;   min-width: auto !important; }              /* ----------------------------------------------------- */       .room-nav {display:flex; flex-wrap:wrap; justify-content:space-between; background-color: #443787;  margin:0; padding: 10px 20px;  border-bottom:1px #443787 solid;}       .room-nav li {display:inline-block; list-style-type: none; margin: 5px 20px;  padding: 0;}       .room-nav a {color: #fff !important;}       .room-pill a {text-decoration:none !important; padding:4px 10px;}       .room-active a { border-bottom:0px #443787 solid; background-color: #fff; color:#443787 !important; border-radius:4px;} /* Abstract page: fixed-width time column, submission block indented to match (v2) */ @media (min-width: 769px) {   .session_listing.session_header4 {border-left: 0 !important;}   .session_listing.session_header4 .session_times {width: 9em !important; min-width: 9em !important;}   .session_listing.session_header4 ~ #pg .abstract {padding-left: 9em;} } .presentation a:link {              background-color: #007c63;              color: #effbf7 !important;           padding: 5px 12px;          border-radius:3px;            }     .zoom_link  a:link {color: #007c63 !important;  }                        .session_listing {display:flex; flex-wrap:nowrap; }                        .flex_row {display:flex; flex-wrap:nowrap;}                        .session_times {padding:9px 7px 0 0; text-align:right; color: #555; font-weight:normal; }                        .session_desc {width:100%; padding:9px 7px 0 0 !important;}                        .div_border_left {}                                                .org_tz {display:inline;  color:#999; font-size:0.9em;}                        .org_tz div {display:inline;}                        .loc_tz {display:inline; margin-left:10px;}                        .session_times .org_tz {display:block;}                        .session_times .org_tz div {display:block;}                        .session_times .loc_tz {display:block; margin-left:0px;}                                                                     .checkbox-inline {                          display: flex;                          align-items: center;                     }                        @media (max-width: 768px)  {                                               .nav {   margin-top: 25px;}                        .session_listing {display: block;  }                                      .session_times {                            width: 100%;        display:flex; justify-content:space-between; align-items: flex-start;                        }                                      .navitem {                       /*height: 21px;                       line-height: 21px;*/                       margin: 0 7px !important;                   }                                           .flex_row {display:flex; flex-wrap:wrap;}                                           .session_times {padding:0px 7px !important; text-align:left; }                        .session_desc {padding:10px 7px !important;}                                            }a {color:#555t;}        .session_listing {border-bottom: solid #339682 2px !important;}       .session_header0 {margin:0px 0 10px 0; padding:0px 0; color:#555; }       .session_header0 {background-color:#Fff;padding:10px 0; }       .session_header1 {background-color:#fff; margin:0 0 10px 0 !important; padding:10px 0 !important;}       .session_header2 {background-color:#eeeeee !important;}       .session_header3  {background-color: #fff ; color:#222;  } .session_header3 .right-arrow {display:none;} .session_header4  {background-color: #fff !important;   padding: 0 20px 20px 0;} .session_header4   .session_times {   white-space: nowrap !important;   width: auto !important;   min-width: auto !important; }              /* ----------------------------------------------------- */       .room-nav {display:flex; flex-wrap:wrap; justify-content:space-between; background-color: #443787;  margin:0; padding: 10px 20px;  border-bottom:1px #443787 solid;}       .room-nav li {display:inline-block; list-style-type: none; margin: 5px 20px;  padding: 0;}       .room-nav a {color: #fff !important;}       .room-pill a {text-decoration:none !important; padding:4px 10px;}       .room-active a { border-bottom:0px #443787 solid; background-color: #fff; color:#443787 !important; border-radius:4px;}.parallel_accordion { background-color:#fff; color:#555;  /*#d7ede4*/ border-left: 5px solid #005761;}   .parallel_accordion .session_times {background-color:#d7ede4; color:#555; }  .parallel_accordion_title { font-size:1.0em; font-weight:bold;  line-height:1; padding-left:10px; background-color:transparent !important; align-self:center; display:flex; justify-content:space-between; align-items:center; width:100%; } /* .session_txt1 {display:none !important;}  .session_header0 .session_txt1 {display:none !important; }  .session_header3 .session_txt1 {display:none !important; padding: 0 15px 10px 0;}*/  .session_txt1 table th, .session_txt1 table td { 	padding: 2px 12px 2px 0  !important; }  .session_txt1 {margin-top:10px;}  .keywords {font-style: italic; margin:10px  0 ;}         .session_ref {font-weight: 600;}                      .join_link  {                color:#339682 !important;                display: inline;                                font-weight: 600;                white-space: nowrap;                font-size:1.1em;                }                .join_link > a:link {               /*  background-color: #eff7f4; border-radius: 3px;*/                 color: #339682 !important;                 padding: 7px 0px;                 text-decoration: underline;                }                                .join_link  > a:hover, .join_link > a:focus {                    background-color: #fff !important;                    color: #c94e4a !important;                    padding: 7px 0px;                   text-decoration: none !important;                }.pres_row {margin-bottom:0px; border-bottom: 1px #dadada solid; padding-bottom: 12px; }.free_slot {    border-left: 0px solid #fcd48f;     background-color: #fff;/*#fcf8ee;*/    /*border-bottom: solid 1px #ccc;*/  }.session_header1 {border-bottom: 1px #4a9cd7 solid;}.pres_cell {   padding: 9px 7px 0 0;   margin: 0px;   flex-grow: 1; }.authors u {background-color:#9bb1c5 !important  ; border-radius: 3px; color:white !important; display:inline; padding:2px 7px; text-decoration: none; font-weight:bold; white-space:nowrap; margin: 11px 0; line-height:2;}    .authors u a:link {color:white !important; }  .authors .presenter {background-color:#9bb1c5 !important  ; border-radius: 3px; color:white !important; display:inline; padding:2px 7px; text-decoration: none; font-weight:bold; white-space:nowrap; margin: 11px 0; line-height:2;}    .authors .presenter a:link {color:white !important; }  .paper_id {margin:1px 0; font-weight:500; ;}.x_abstract a:link {text-decoration: underline !important;} .presentation_summary {margin:20px 0px 30px 0px; }   .presentation_details{padding: 0px 10px 10px 0px;}   .presentation_summary {padding: 0px 0px 20px 0px;}   .presentation_type {}   .presentation_section {margin:20px 0px;    padding:10px;    background-color: #eee; display:none; }     /* .presentation {     display: flex;     justify-content: center;     width: auto;     max-width: 100%; }*/   .poster_link {padding:0px; margin:0px; }   .session {margin:auto; clear:both;}   .summary_label {font-weight:bold; text-align:left; margin-bottom:3px; padding-right:6px; float:left;}   .summary_value {padding-left:0px; float:left;}      .abstract {background-color: transparent;}   .abstract {padding: 10px 10px 0px 10px; line-height: 1.65em;}   .abstract .abstracttitle {margin-bottom:10px; font-weight:bold; font-size:1.2em; padding-bottom:3px;}   .abstract .abstracttext {margin-top:0px; text-align:justify;}   .abstract .authors-affiliations {margin-bottom:10px;   padding: 0;}   .abstract .authors {margin-bottom:10px;}   .abstract .affiliations {margin-bottom:10px; font-style: italic;  margin:0; padding:0; }      .authors u {       background-color: #9bb1c5;       border-radius: 3px;       color: white;       display: inline;       padding: 2px 7px;       text-decoration: none;       font-weight: bold;       white-space: nowrap;       margin: 11px 0;       line-height: 2;   }      .horiz_separator {color: #99bfe8; background-color: #99bfe8; height: 1px; border: 0; clear: both;}   .notes ul { margin: 0px; padding: 0px; display: inline; }   .notes li {  margin-left: 15px;  }.presentation_entry {          display:flex;                     align-items:flex-start;           justify-content: space-between;           width:100%;      }            .uploaded_presentation {          width:240px;           display:flex;           flex-wrap:wrap;           align-items:flex-start;          justify-content: flex-end !important; display:none;      }               .glyphicon {         display: inline-block !important;     }        .fc-event-container a:link, .fc-event-container a:visited, .fc-event-container a:hover, .fc-event-container a:active {        text-decoration: none;    }        .fc-state-default {         background-color: transparent !important;         padding:4px 8px !important;        background-image: none !important;        box-shadow: none !important;        border: none !important;        text-shadow: none !important;        text-decoration:underline !important;        font-weight:bold !important;        color:#777 !important;    }        .fc-state-down, .fc-state-active {         background-color: transparent !important;         padding:4px 8px !important;        background-image: none !important;        box-shadow: none !important;        border: none !important;        text-shadow: none !important;    }      .fc-state-active {color:black !important;}    .fc-state-hover, .fc-state-down, .fc-state-active, .fc-state-disabled {       }/* fixed navigation bar at the top */                   #top_nav_fixed {                                    position: fixed;                     top: 0;                     width:100%;                     max-width: 940px;                     margin: auto;                     height: 40px;                     color: #555 !important;                     background-color: white !important;                     z-index: 1000;                     border-bottom: 0px #555 solid;                     box-shadow: 0 4px 6px -6px #555;                   }                   #top_nav_fixed a {color:#555 !important;}                   #navitems {                         display:flex;                         flex-wrap: nowrap;                         flex-direction:row;                         align-items:center !important;                         justify-content:space-between;                         height: 40px;                        padding: 0 5px;                     }                   .navitem {                       padding: 0;                       margin: 0 10px;                       font-weight: normal;                       font-size: 1.0em;                   }             .navitem_links {                         display:flex;                         flex-wrap: nowrap;                         flex-direction:row;                         align-items:center !important;                         justify-content:flex-end !important;                         width: 100%;                        white-space: nowrap;             }             .logo {                         display:flex;                         flex-wrap: nowrap;                         flex-direction:row;                         align-items:center !important;                         justify-content:flex-start !important;                         margin-right:auto;             }             .logo a {                        display:inline;                        overflow: hidden;                        text-overflow: ellipsis;            }                               .nav li {list-style:none;}                   .navitem a {text-decoration:none !important;}                   .nav_logo {                        font-weight:bold;                         font-size:1.3em;                         margin-right: auto;                        display:inline;                        white-space: nowrap;                        overflow: hidden;                        text-overflow: ellipsis;               }                   .nav-txt {font-weight:bold;}                   /*  end of fixed navigation bar at the top */                                      @media (max-width: 500px)  {                     .zoom-desc {display:none;}                     .nav_logo {                        font-size: 1.0em;                        margin-right: auto;                        white-space: nowrap;                        overflow: hidden;                        text-overflow: ellipsis;                        max-width: 150px;                        display: block;                     }                  }/* Navigation pills (daily overviews) */ .nav {   border-bottom: 4px #007c63 solid;   margin-top:5px; padding: 0px 0px 0px 0;   display:flex;   flex-wrap:wrap;   justify-content:space-between;   background-color: #fff !important; } .nav li {list-style: none;} .nav-pills > li > a {   color: #007c63;   font-weight:bold;   border-width: 0px 0px 0px 0px !important;   border: transparent solid;   display:inline-block;   float:left;   margin:0px;   padding:4px 12px;   border-radius:0; } .nav-pills > li.active > a {   border: transparent solid;   color: #fbf6ff !important;   background-color:#007c63 !important;   text-decoration: none !important; } .nav-pills > li > a:hover, .nav-pills > li > a:focus {   background-color: #effbf7 !important;   color: #007c63 !important; } .last_tab {   margin-right: 0;   border-right: 0 !important; }  #day_btns {  display:flex;  flex-direction:row;   justify-content:center;   align-items:center;   flex-wrap:wrap;  }   /* End of Navigation pills (daily overviews) */.hdr_frame {margin-top:0px;}               .session_header0 {             padding: 0;             margin:0 0 13px 0;             font-weight: normal;             padding-bottom: 12px;           }                                 .session_times {             width:15em;             min-width:15em;             /*white-space: nowrap;*/           }           .session_desc {             padding:0px;             margin:0;             font-size:1.0em;           }           .session_header0  .session_desc a:link {  text-decoration: none; color: #555;}           .session_header0  .session_desc a:visited,           .session_header0  .session_desc a:hover,           .session_header0  .session_desc a:active           {   text-decoration: underline !important;}           .session_desc  a {font-weight: bold; }           .session_desc  a:link {}                                            /* Links */                      a:link {             color: #4a9cd7;             text-decoration: underline;             font-weight: bold;           }           a:visited, a:hover, a:active {             color: #4a9cd7;             text-decoration: underline;             font-weight: bold;           }           .body_css a:link {             color: #005761;             text-decoration: none;             font-weight: bold;           }           .body_css a:visited, .body_css a:hover, .body_css a:active {             color: #005761;             text-decoration: underline;           }           .abstracttitle a:link {             color: #007c63;             text-decoration: none !important;             font-weight: bold;           }           .abstracttitle a:visited, .abstracttitle a:hover, .session_desc a:active{             color: #c94e4a;             text-decoration: underline !important;             font-weight: bold;           }                    .fc-right .fc-button {border:2px white solid !important; background-color:white !important;}          thead.fc-head {position:sticky; top:40px; background-color:white; z-index:10; }           .fc-event-container a:link, .fc-event-container a:visited, .fc-event-container a:hover, .fc-event-container a:active {             font-weight: normal !important;           }              .fc-event-container a:link, .fc-event-container a:visited, .fc-event-container a:hover, .fc-event-container a:active {              text-decoration: none;          }                    .fc-state-default {               background-color: transparent !important;               padding:4px 8px !important;              background-image: none !important;              box-shadow: none !important;              border: none !important;              text-shadow: none !important;              text-decoration:underline !important;              font-weight:bold !important;              color:#777 !important;          }                    .fc-state-down, .fc-state-active {               background-color: transparent !important;               padding:4px 8px !important;              background-image: none !important;              box-shadow: none !important;              border: none !important;              text-shadow: none !important;          }                  .fc-state-active {color:black !important;}          .fc-state-hover, .fc-state-down, .fc-state-active, .fc-state-disabled {                   }           /* Link to the abstract on the search page */           .result_title a:link {             color: #262525;             text-decoration: underline !important;             font-weight: bold;           }           /* end of Links */.hdr_frame {margin-top:0px;}    .time_cell {   width:15em;   min-width:15em; margin-top:2px;  /* white-space: nowrap;*/ }  /*#xport1 {display:none;}*/

@media (max-width: 768px)  {
    #side-menu-container {display:none !important;}
    #side-menu {display:none;}
}
@media (min-width: 769px)  {
    #left_menu_agenda {display:none;}
    #ham {display:none;}
    #side-menu {display:block;}
}

/*  Sliding left menu  */
.hamburger {
  font-size: max(1.1em, 18px);
  cursor: pointer;
  background-color:<banner_bgcolor_mobile>;
  color:<banner_color_mobile>;
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  padding:0;
  margin:0;
}
#ham a:link {
  color:<banner_color_mobile>;
  text-decoration:none;
}

.drawer {
  display: none;
}
.drawer_agenda_overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1200;
  opacity: 0;
  transition: opacity 0.3s;
  will-change: opacity;
  background-color: #000;

  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.drawer_agenda_header {
  /* Optional */
  /* padding: 1.5rem; */
  padding: 0.25rem 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #ddd;
}

.drawer_agenda_close {
  /* Optional */
  margin: 0;
  padding: 0;
  border: none;
  background-color: transparent;
  flex-shrink: 0;
  margin-inline-start: 1rem;
  font-weight:bold;
  font-size:1.3em;
  color:#555;
}

.drawer_agenda_wrapper {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  height:100%;
  width: 100%;
  max-width: 300px;
  z-index: 9999;
  overflow: auto;

  transition: transform 0.3s;
  will-change: transform;
  background-color: #fff;

  display: flex;
  flex-direction: column;

  -webkit-transform: translate3d(103%, 0, 0);
  transform: translate3d(103%, 0, 0); /* extra 3% because of box-shadow */

  -webkit-overflow-scrolling: touch; /* enables momentum scrolling in iOS overflow elements */

  /* Optional */
  box-shadow: 0 2px 6px #777;
}

.drawer_agenda_content {
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  height:100%;
  flex-grow: 1;
  /* padding: 1.5rem; */
  padding:0rem 1.5rem 0rem; padding-inline-start:0rem;
  margin: 0 1rem 0 -0.75rem;
}

.drawer--left .drawer_agenda_wrapper {
  left: 0;
  right: auto;
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
}

.drawer.is-active {
  display: block;
}

.drawer.is-visible .drawer_agenda_wrapper {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.drawer.is-visible .drawer_agenda_overlay {
  opacity: 0.5;
}

.drawer_agenda_content details > summary {
  list-style-type: none;
}
.drawer_agenda_content details > summary::-webkit-details-marker {
  display: none;
}
.drawer_agenda_content details.accordion > summary {
  list-style-type: none;
  display:flex;
}
.drawer_agenda_content details.accordion > summary::-webkit-details-marker {
  display: none;
}
.drawer_agenda_content details > summary:first-of-type {
    list-style-type: none;
}
.drawer_agenda_content details > summary {
    border-bottom: #777 solid 2px;
}
.drawer_agenda_content .tab_is_selected {background-color:transparent !important;}
.drawer_agenda_content .menu_hdr0 {border:none;}
/* End: Sliding left menu  */

body { font-family: 'Open Sans', sans-serif; }
.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -moz-font-feature-settings: 'liga';
  -moz-osx-font-smoothing: grayscale;
}
.box {
    width:640px; 
    max-height: 360px;
    background-color: #000;
    position: relative;
}
.container {
  background-color: #000;
  position: relative;
  width: 100%;
  overflow: hidden;
  margin:0px 0;
  padding-top: 56.25%; /* 16:9 Aspect Ratio */
}
.responsive-iframe {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  border: none;
  padding:0; 
  margin:0;
  overflow: hidden;
}

.innerBox-container {
    position:absolute;
    top:0;left:0;
    display:flex;
    flex-direction:column;
    height:100%;
    width:100%;
    align-items:flex-start;
    justify-content:space-between;
    cursor: pointer;
}
#div-top {width:100%; }
#div-bottom {width:100%;}

/*
.center_hv {
    display:flex; 
    flex-direction:row; 
    justify-content:center;
    align-items:center; 
    display:block;
}


.outerBox {
    width:100%;
    height: 0;
    background: #000;
    padding-bottom: 56.25%;
    border:0;
    cursor: pointer; 
    position: relative;
}


.innerBox {
    background: transparent;
    padding: 0px;
    font-size: 20px;
    border:0;
    position: absolute;
    width:100%;
    height: 100%;left:0;
}

.start-button {
    font-size:5vh;
    z-index: 99;
    color: white;
    background: transparent;
}
*/

.result_block, .result_altblock { padding:0 20px 20px; }
.result_session_title { font-weight: 600; font-size: 1em; padding: 4px 20px; margin: 0 -20px 6px -20px; background-color: rgba(0,0,0,0.04); color: #262525; word-wrap: break-word; }
.result_title { font-size: 1em; }
.result_title a { font-weight: normal !important; text-decoration: underline !important; }
.result_title a:hover { text-decoration: none !important; }
/* .result_title::after { content: '\203A'; margin-inline-start: 0.4em; font-size: 1.6em; line-height: 1; } */
.form-control, input.zoom_searchbox {
    // width: 30em !important;
    padding-inline-start: 0.25em;
    margin:0px 20px 10px; margin-inline-start:0;
    border: 1px solid #bbb;
    border-radius: 4px;
    box-shadow: none;
}
h1, h1.filter_hdr {color:#555;}
.container_fluid.zoom_metaform {
	padding-bottom: 16px;
}
.summary, .result_pagescount {
	padding: 0 !important;
	margin: 0 !important;
}
@media (max-width: 768px) {
    .summary, .result_pagescount {
        padding: 0 !important;
        margin:0 0 0; margin-inline-start:11px !important;
    }
}
.result_block, .result_altblock {
	display: flex;
	flex-direction: column;
}
@media (max-width: 768px)  {@media (max-width:768px)  {
body {background-color: white !important;

  overflow-wrap: break-word;
  word-wrap: break-word;
  -ms-word-break: break-all;
  word-break: break-all;
  word-break: break-word;
  -ms-hyphens: auto;
  -moz-hyphens: auto;
  -webkit-hyphens: auto;
  hyphens: auto;
}

  .flex_row {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
  }
.pres_cell {
  padding: 9px 7px 0 9px;
  margin: 0px;
  flex-grow: 1;
}

 .big-start-btn .start-button {display:none;}
#content0 {
  padding: 0;
  margin: 40px 0 0 0;
  background-color: white;
  height: 101% !important;
  box-shadow: none;
}
#content1 {
  padding: 0px 0px;
  margin: 0px;
  background-color: white;
  box-shadow: none;
}
#content2 {padding:10px;}
.page_bottom {
  margin:0 20px;
}
.mobile_banner {width:100%; margin:10px; background-color:white; color:#4a9cd7; margin-top:20px;display: none;}
.mobile_banner_srch {}

#srch_frm {margin: 0 10px;}
.search_section, .result_section, #search_results, .summary {
  padding: 10px;
  margin: 0px;
}
.searchheading  h1 {    padding: 20px 0 0 10px;}

.results {
  padding: 0 0px;
  margin: 0 10px;
}
.zoom_metaform_text {
  max-width: 20em;
}
input.zoom_searchbox {
  max-width: 20em;
}
.result_custommeta {display:inline-block; }
.result_metaname {
    font-weight: bold;
    word-break: keep-all;
}

.pres_row {padding-top:10px;    border-bottom: 2px  #dadada solid;}

.presentation_entry {
         display:flex; 
         flex-direction:column;
         align-items:flex-start; 
         justify-content: space-between; 
         width:100%;
     }

.pic {margin:0; display:block; float:none; width:100%; height:auto;}

#xport1 {margin-left: 20px;}

  .back_link {
    padding: 0 !important; 
    display:none !important;
  }
.text_right {
  text-align: left !important;
  margin-left:0px  !important;
width:100%  !important;
}

.session_times {display:flex; width:auto; padding:7px 0;}
.session_desc .text_right {
  text-align: left  !important;
  margin-left:0px  !important;
width:100%  !important;
padding-top: 12px;
padding-right: 16px;
}

h1.filter_hdr {
  margin: 0;
}

  .back_link {
    width: 100% !important;
display: none !important;
  }


.abstract {
  padding: 0px 6px;
}
.abstracttext {text-align:left !important;}
.abstracttext a:link {text-decoration:underline !important;}
.back_link {
  padding: 0px 0 0px 10px;
}
.back_link a {text-decoration: none !important;}
.save-to-cal-checkbox {
  margin: 0 6px;
}

#calendar {
  padding: 10px 16px;
}
.fc-agendaAllDays-button {display:none;}
.embedded_link {
    width:300px !important; 
    height:200px !important;
}

}}