:root {
  --wrapper-max: 1297px;   /* #confSectionsBox width cap (from "max-width" / "width cap") */
  --menu-gutter: 400px;    /* the "menu gutter" line */
  --logo-height: 155px;    /* logo size, your call */
}

.confheader {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: calc(var(--logo-height) + 40px);
  padding: 16px 0;
  box-sizing: border-box;
}

/* Title + dates share the body's box, indented by the menu gutter,
   so they start exactly on the content column's left edge */
.confTitleBox,
.confSubTitleBox {
  width: 100%;
  max-width: var(--wrapper-max);
  margin-inline: auto;                 /* centred case */
  padding-left: var(--menu-gutter);
  box-sizing: border-box;
  background: none;
  border: none;
}
.confTitle,
.confSubTitleContent { width: auto; margin: 0; }
.conference-title-link { display: block; padding: 0; }
.confSubTitleBox { margin-top: 6px; }

/* Logo: right edge pinned to that same content-column line, full header height */
.confLogoBox {
  position: absolute;
  top: 0; bottom: 0;
  left: calc(50% - (var(--wrapper-max) / 2) + var(--menu-gutter));
  transform: translateX(-102%);
  display: flex;
  align-items: center;
  margin: 0; padding-right: 20px;
}
.confLogoBox img.confLogo { height: var(--logo-height); width: auto; display: block; }

@media (max-width: 1200px) {   /* match --wrapper-max */
  .confTitleBox, .confSubTitleBox { max-width: none; margin: 0; padding-left: 350px; }
  .confLogoBox { left: 24px; transform: none; }
  .confheader { padding-left: 0; }
}

.page-content p {
    text-align: justify;
    hyphens: auto;
}

.page-content ul,
.page-content ol {
    text-align: justify;
    hyphens: auto;
    padding-left: 1.5em;
}