@charset "UTF-8";
body {
  font-family: "Liberation Sans", sans-serif;
  background: url("/images/timezones.svg");
  background-size: cover;
  height: 100vh;
  display: flex;
  flex-direction: column;
  line-height: 130%;
  padding: 0;
  margin: 0; }
  body h1, body h2, body h3, body h4, body h5, body h6 {
    line-height: 120%; }
  body > header.main, body > footer.main {
    background: black;
    color: white;
    padding: 1rem;
    margin: 0;
    box-shadow: 0px 0px 20px grey;
    font-weight: bold; }
    body > header.main .logo img, body > footer.main .logo img {
      height: 3ex; }
    body > header.main a, body > footer.main a {
      text-decoration: none;
      color: white; }
  body div.main {
    flex-grow: 1;
    flex-shrink: 1;
    overflow: auto; }

main {
  background-color: #f5f0ee;
  color: #333;
  max-width: 50rem;
  margin: 4rem auto;
  padding: 1rem;
  padding-bottom: 4rem;
  border: 1px solid grey;
  box-shadow: 0px 1px 3px rgba(3, 7, 18, 0.02), 0px 4px 12px rgba(3, 7, 18, 0.04), 0px 9px 27px rgba(3, 7, 18, 0.05), 0px 16px 48px rgba(3, 7, 18, 0.07), 0px 25px 75px rgba(3, 7, 18, 0.09); }
  main article {
    max-width: 42rem;
    margin: 1rem auto;
    padding: 2rem; }
    main article header {
      text-align: center; }
      main article header h1 {
        font-size: 2em;
        margin-bottom: 1ex; }
      main article header p {
        margin: auto; }
    main article p {
      max-width: 40rem;
      margin-right: auto;
      margin-top: 2ex; }
    main article p.register {
      text-align: center;
      margin-left: auto; }
    main article figure.logo {
      width: 200px;
      margin: auto;
      margin-top: 3rem; }
      main article figure.logo img {
        width: 100%; }
    main article .announce {
      max-width: 40em;
      margin: 1rem auto; }
      main article .announce .signature {
        margin: 0;
        padding: 0;
        text-align: right;
        font-style: italic;
        font-size: smaller; }
    main article div.proverb {
      max-width: 20em;
      margin: auto; }
      main article div.proverb .signature {
        text-align: right;
        font-style: italic;
        font-size: smaller; }
    main article table.confdates {
      border-spacing: 0 0.6ex; }
      main article table.confdates tr th, main article table.confdates tr td {
        vertical-align: baseline; }
      main article table.confdates tr th {
        font-weight: inherit;
        padding: 0px;
        padding-right: 1rem;
        text-align: start; }
      main article table.confdates tr td .tba {
        font-style: italic; }
      main article table.confdates tr.bygone th, main article table.confdates tr.bygone th + td {
        opacity: 0.5; }
    main article ul.association {
      list-style: none;
      margin: 0;
      padding: 0; }
      main article ul.association li {
        margin: 0;
        padding: 0;
        display: inline; }
        main article ul.association li::before {
          content: "• "; }
        main article ul.association li:first-child::before {
          content: ""; }
  main.intro, main.venue {
    background-image: url(/images/Bamberg-klein_Venedig-bg.png);
    background-repeat: no-repeat; }
    main.intro header, main.venue header {
      margin-top: 10rem; }
      main.intro header h1, main.venue header h1 {
        color: black; }
  main.cfp header {
    margin-bottom: 4ex; }
    main.cfp header h1 {
      margin-bottom: 0; }
    main.cfp header p {
      margin-bottom: 1ex; }
  main.cfp h3 {
    margin-bottom: 1ex; }
    main.cfp h3 + p {
      margin-top: 1ex; }
  main dl.conferences {
    display: grid;
    grid-template-columns: [link] max-content [data] 1fr;
    align-items: first baseline;
    column-gap: 1em; }
    main dl.conferences dt {
      grid-column: link; }
    main dl.conferences dd {
      grid-column: data; }
    main dl.conferences dt, main dl.conferences dd {
      margin-inline-start: 0;
      margin: 0;
      padding: 0; }

body > header.main, body > footer.main {
  margin: 0;
  padding: 0; }
  body > header.main ul, body > footer.main ul {
    margin: 0 1rem;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    column-gap: 2rem;
    align-items: baseline;
    line-height: 2.1rem; }
    body > header.main ul li a, body > footer.main ul li a {
      display: block;
      padding: 0.5rem; }
      body > header.main ul li a.logo img, body > footer.main ul li a.logo img {
        vertical-align: middle; }
      body > header.main ul li a:hover, body > footer.main ul li a:hover {
        background: #302929; }

a.button {
  background: #241f31;
  color: white;
  font-size: large;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  margin: 1rem;
  display: block;
  padding: 1rem;
  margin: 3rem;
  margin-bottom: 1rem;
  border-radius: 1ex;
  /* https://smoothshadows.com/#djEsMSwxLDAuNiwyOCwwLDAsIzAzMDcxMiwjZjNmNGY2LCMyNDFmMzEsMg%3D%3D */
  box-shadow: 0px 0px 28px rgba(3, 7, 18, 0.6); }
  a.button:hover, a.button:focus {
    background: #324;
    color: white;
    text-decoration: none; }

a {
  text-decoration: underline dotted;
  color: #228; }
  a:hover {
    text-decoration: underline;
    color: #33d; }

section.keynote.speaker {
  overflow: auto; }
  section.keynote.speaker figure {
    float: right;
    width: 15rem;
    max-width: 100%; }
    section.keynote.speaker figure img {
      width: 100%; }

p.important {
  text-align: center;
  font-weight: bold; }

ul.publications {
  list-style-type: "▶ "; }
  ul.publications li {
    margin-bottom: 2ex; }

figure.map {
  max-width: 100%;
  margin: 2ex 0;
  padding: 0; }
  figure.map img {
    border: 1px solid grey;
    width: 100%; }
  figure.map figcaption {
    line-height: 2; }
    figure.map figcaption a {
      padding: 0.4ex 1ex;
      border: 1px solid #edb;
      border-radius: 1ex;
      background: #f3e7cf; }

.venue .links {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  align-items: flex-start;
  margin-top: 4ex; }
  .venue .links * {
    flex-grow: 1;
    line-height: 160%; }
  .venue .links .linkbox a {
    display: block;
    margin: 2px 0;
    padding: 0.4ex 1ex;
    border: 1px solid #edb;
    border-radius: 1ex;
    background: #f3e7cf; }
  .venue .links address.venue {
    font-style: normal; }

a.boxlink {
  padding: 0.4ex 1ex;
  border: 1px solid #edb;
  border-radius: 1ex;
  background: #f3e7cf; }

img.journal {
  margin: 1ex;
  height: 3rem;
  max-width: 45%; }

main.logos {
  background: #ddd; }
  main.logos ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap; }
    main.logos ul img {
      max-width: 15rem;
      max-height: 6rem;
      display: block;
      margin: 3rem; }

table.schedule {
  width: 100%; }
  table.schedule col.time {
    width: 0px;
    min-width: fit-content; }
  table.schedule col.event {
    width: auto; }
  table.schedule th.time {
    background: #255;
    color: #ffc; }
  table.schedule tr.time {
    border-top: 2px solid; }
    table.schedule tr.time th {
      background: #255;
      color: #ffc;
      margin-top: 2px;
      text-align: center; }
  table.schedule tr.long th {
    height: 6em; }
  table.schedule th, table.schedule td {
    padding: 1ex;
    text-align: left; }
  table.schedule td {
    padding-left: 2em; }
    table.schedule td.talk, table.schedule td.poster {
      background: #ffd7; }
    table.schedule td.ws {
      background: #dff7; }
    table.schedule td.keynote, table.schedule td.orga {
      background: #daa7; }

main.faqs ul, main.venue ul {
  margin-top: 1ex;
  padding-left: 1.5em; }
  main.faqs ul li, main.venue ul li {
    margin-left: 0;
    margin-bottom: 1ex;
    list-style-type: "➤ "; }

main.faqs header h1 {
  line-height: 170%; }
  main.faqs header h1 img.inline {
    height: 4ex;
    vertical-align: middle; }

main.faqs nav.toc {
  float: right;
  margin: 1rem -2rem 1rem 1rem;
  padding: 0;
  border: 1px solid grey;
  background: #fff7; }
  main.faqs nav.toc ul {
    margin: 0;
    padding: 0; }
    main.faqs nav.toc ul li {
      list-style: none;
      margin: 0;
      padding: 0; }
      main.faqs nav.toc ul li + li a {
        border-top: 1px solid #e6e6e6; }
      main.faqs nav.toc ul li a {
        display: block;
        padding: 1ex;
        text-decoration: none;
        vertical-align: middle; }
        main.faqs nav.toc ul li a:hover {
          background: #fff7; }

main.faqs section#site dl {
  margin-top: 0.5ex;
  display: grid;
  grid-template-columns: 1fr 10fr;
  grid-column-gap: 0.5rem;
  grid-row-gap: 0.3rem; }
  main.faqs section#site dl dt {
    grid-column: 1 / 2;
    margin: 0;
    margin-left: 1rem;
    padding: 0;
    font-style: italic; }
  main.faqs section#site dl dd {
    grid-column: 2 / 3;
    margin: 0;
    padding: 0; }

main.keynotes figure {
  margin-top: 0; }

main.venue address {
  line-height: 150%; }

main.venue dl dt {
  font-weight: bold;
  margin-top: 2ex;
  margin-bottom: 1ex; }

main.venue dl dd {
  margin-left: 1em;
  margin-bottom: 1ex; }

.boa ul li {
  margin-top: 1ex;
  margin-bottom: 1ex; }

main.orga ul {
  margin: 0;
  padding: 0;
  list-style: none; }

main.orga ul.portraits {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem; }
  main.orga ul.portraits figure {
    max-width: 130px;
    margin: 0;
    padding: 0;
    border: 1px solid grey; }
    main.orga ul.portraits figure img {
      max-width: 100%; }
    main.orga ul.portraits figure figcaption {
      text-align: center;
      padding: 0 1ex; }
      main.orga ul.portraits figure figcaption a {
        text-decoration: none; }
        main.orga ul.portraits figure figcaption a:hover, main.orga ul.portraits figure figcaption a:focus {
          text-decoration: underline; }

main.contact section {
  margin: 2rem 0; }

main.contact address {
  font-style: normal;
  line-height: 135%; }
