/*CSS*/
/* Validated via W3C CSS validation service on Mar 12, 2024 */
/* resets */
* { margin:0; font-size:inherit; color:inherit; background:inherit; font-weight:inherit; text-align:left; }

/* defaults */
html { font-size:1.5em; line-height:1.25; font-family: sans-serif; }

/* general typography and spacing */
body {
  font-size:.8rem;
  font-weight:200;
}
p {
  max-width:24em;
}
* + p {
  margin-top:1rem;
}

h1 {
  font-size:1.5em;
  line-height:1;
  font-weight:200;
  margin-bottom:1em;
  font-family:"Helvetica Neue", HelveticaNeue, Helvetica;
  letter-spacing:0.05em;
}
strong, h2 {
  font-weight:400;
}

/* visual content: figures, tables, images, etc */
figure {
  margin:0 -5vw  2rem;
  max-width: 100vw;
  overflow: hidden;
}

@media only screen and (min-width:777px) {
  figure {
    margin:0 0  2.5rem;
    aspect-ratio: 16/8;
  }
}
figcaption {
  text-align:right;
  font-size:.8em;
  font-style:italic;
  font-weight:200;
  padding-right:1em;
}
table {
/*  margin-bottom:2rem;*/
  border-collapse:collapse;
  width:100%;
}
td {
  border-top:.0625rem solid #666;
  padding:.4375rem .5em 1rem 0;
  vertical-align:top;
  width:33%;
}
td:last-child {
  color:#757575;
  text-align:right;
}
td img { max-width:50%; max-width:6rem; }

/* sections */
section {
  margin:2rem 5vw 6em;
  min-height:25vh;
}
@media only screen and (min-width:777px) {
  section {
    margin:2rem 5vw 20vh;
  }
}
/* header */
.header {
}
.header h1 {
  margin-top:1em;
  font-size:clamp(27px, 2.5vw, 2rem);
  letter-spacing:0.02em;
}
.header img {
  width: 200%;
  margin-left: -33%;
  height: auto;
}
@media only screen and (min-width:640px) {
  .header img {
    width: 150%;
    margin-left: -16.666%;
  }
}
@media only screen and (min-width:777px) {
  .header img {
    width: 100%;
    margin-left: 0;
  }
  p+p {
    margin-top:1rem; /* TODO: is this in the right place? */
  }
  section.team table {
    margin-top:0;
  }
}

/* registrations */
.registration {
  display:inline;
  max-height:1.5em;
  width:auto;
}

/* contact*/
address {
  display:inline-block;
  width:33%;
  min-width:12em;
  margin-bottom:2rem;
  font-style:normal;
}
address, address + p a {
  font-size:0.8em;
  font-weight:200;
}

/* responsive */
@media only screen and (min-width:1440px) {
  .header { margin-top:2.5rem; }
  .header h1 { position:fixed; margin-left:-20vw; margin-top:0; }
  .header img {
      width:auto;
      min-width: 100%;
      min-height: calc(100vh - 5rem);
  }
  section { width:72.5vw; padding-left:20vw; overflow-x:hidden; 
    margin-bottom:5rem;
  }
  
  .contact { position:fixed; left:-20vw; bottom:0; margin-bottom:2rem; min-height:auto; width:auto; }
  figure {
    height: calc(100vh - 5rem);
    aspect-ratio: auto;
  }
}
@media only screen and (min-width:2400px) {
  html {
    font-size:1.8em;
  }
}


@media only screen and (max-width:640px) {
  .team table td,
  .projects table td,
  .projects img,
  .awards table td {
    max-width:none;
    display:block;
    width:100%;
    border:none;
    padding:0;
    text-align:left;
  }
  .projects img {
    margin:.5rem 0;
  }
  .team table td:first-child,
  .projects table td:first-child,
  .awards table td:first-child {
    margin-top:1rem;
    border-top:.0625rem solid #666;
    padding:.4375rem 0 0;
  }
  
}