* {
    margin: 0;
    padding: 0;
}

body {
    font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
}

#page {
    max-width: 1600px;
    display: inline-block;
}

header {
    font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
    padding-top:2.5vh;
}

header nav {
    align-items: center;
    padding-left: 1.3vw;
    margin-top: 0.6vh;
    font-size:150%;
    white-space:nowrap;
    overflow:scroll;
}
header nav a {
    display: inline-block;
    padding: 0.5em 1em;
    margin: 0.6em 0.2em 0.0em 0.2em;
    color: #000;
    text-decoration: none;
    transition: background 0.3s ease;
}
header h1 {
    font-size: 3em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: -0.1em;
    line-height:100%;
    margin-left:1.3vw;
}
.h1main {
    display:inline-block;
    margin-right: 1.3em;
}

.fancy-tue {
    text-transform: none;
    font-weight: normal;
    letter-spacing: 0;
    margin-bottom: 0.4em;
    display:inline-block;
    text-transform:uppercase;
    color: #112549;
    letter-spacing: -0.1em;
}

.fancy-sns {
    font-size:min(250%, 21vw);
    letter-spacing: -0.06em;
    color: #112549;
    margin-left: 0.2em;
}
.fancy-year {
    font-size:min(250%, 21vw);
    color: #ffd800;
    letter-spacing: -0.06em;
}

.h1extra {
    display:inline-block;
    text-transform: none;
    font-size: 150%;
    font-weight: 200;
    letter-spacing: -0.015em;
    margin-left:1em;
    line-height: 135%;
    color: #ffffff;
}
.h1date {
    color:#ffd800;
    margin-left:1em;
}
.header-flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.logo-right {
  margin-left: 1em;
  margin-right: 1.3em;
}
/* Hide logo on screens narrower than 768px */
@media (max-width: 768px) {
  .logo-right {
    display: none;
  }
}

header h2 {
    color: white;
    text-transform: uppercase;
    font-size: 27pt;
    font-weight: normal;
    letter-spacing: -1.6pt;
    line-height: 87%;
    padding-left: 20pt;
}

.blue-box {
    background-color: #112549;
}

.headerpic {
    width:32vw;
}
.headertext {
    display:inline-block;
    width:32vw;
}

.fancy-date {
    color: #ffd800;
    font-size: 21pt;
    font-style: italic;
    padding-left: 45pt;
}

header nav .tabs {
    list-style-type: none;
    color:white;
}

header nav .tabs .tab {
    display: inline-block;
}

header nav a.tab {
    display: block;
    padding: 14px 12px 14px 12px;
    text-decoration: none;
    color: white;
    /*background-color: royalblue;*/
    cursor: pointer;
    background: linear-gradient( to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.0) 50%, rgba(255, 255, 255, 0.4) 80%, rgba(255, 255, 255, 0.7) 100% );
}
header nav a.tab:hover {
    background: linear-gradient( to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.0) 50%, rgba(255, 255, 255, 0.6) 80%, rgba(255, 255, 255, 1.0) 100% );
}
header nav a.tab.is-active {
    /*background-color: #F7A800;*/
    /*font-weight: 700;*/
    /*font-weight: bold;*/
    background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.0) 50%,
        rgba(255, 255, 255, 0.3) 80%,
        rgba(255, 255, 255, 1.0) 100%
    );
}

.pages .page {
    display: none;
}

.pages .page.is-active {
    display: block;
}

.pagecontent {
    padding-left:30pt;
    padding-right:30pt;
    padding-top:20pt;
}

.content {
    margin-left: 2.6vw;
    margin-right: 2.6vw;
}

h2 {
    font-weight: normal;
    font-size: 48px;
    margin-bottom: 22px;
    color: #112549;
}
h3 {
    font-size: 230%;
    margin-top: 0.8em;
    margin-bottom: 0.5em;
}
h4 {
    font-size: 165%;
    font-weight:bold;
    margin-top:1.6em;
    margin-bottom: 0.6em;
    color: #2a467a;
}
h5 {
    margin-top:0.9em;
}
table {
    border-collapse: collapse;
}

thead {
}

thead th {
    font-weight: bold;
    text-transform: uppercase;
    font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
    padding-top: 20px;
    padding-bottom: 17px;
    padding-left: 13px;
}

tbody tr:nth-child(even) {
    background-color: #f3f3f3;
    border-collapse: collapse;
}

tr {
    padding-left: 12px;
}

tbody tr td {
    padding: 8px;
}

.osm-map {
    width: 600px;
    height: 460px;
}

main p {
    margin-bottom: 1em;
}

main ul {
    margin-left: 1.7em;
}

main ul li {
    margin-bottom: 0.3em;
}

.home-center {
    text-align: center;
    margin-left: 20%;
    margin-right: 20%;
}

.speaker-h3 {
    text-align: center;
    font-weight: normal;
    color: #1f3661;
    font-size: 180%;
    margin-top: 2.3em;
}
.speaker-list {
    list-style-type: none;
    text-align:center;
    margin-left: 20%;
    margin-right: 20%;
    font-size: min(max(2vw, 140%), 230%);
/*    border: 5px solid #1f3661;*/
}
.speaker-list li {
    margin-top: 1.0em;
}
.speaker-list {
  display: flex;
  flex-wrap: wrap;           /* allows items to flow to next line */
  justify-content: center;   /* center items horizontally */
  gap: 0px 4.0vw;                  /* plenty of space between items */
  list-style: none;          /* remove bullets */
  padding: 0;                /* remove default padding */
  margin: 0 auto;            /* center the whole list container */
}

.speaker-list li {
  font-size: 120%;          /* slightly bigger text */
  text-align: center;        /* center text inside each item */
}
.abstractspage {
    max-width: 46em;
}

.abstractspage h3 {
    margin-bottom: 0.5em;
    margin-top: 2.5em;
}

.abstractspage p {
    text-align: justify;
    margin-top: 1.3em;
}

.headercontainer {
  display: grid;
}

.sidebar {
grid-area: 1/3;
}
.headerpic, .headerpic2 {
  float:right;
  padding-bottom: 1em;
  width: 23vw;
  margin-top: 3em;
  height: auto;
  display: block;
}
@media (max-width: 1020px) {
  .headerpic,
  .headerpic2 {
    display: none;
  }
}
button, .buttonlink {
    background-color:#3498db;
    color:white;
    border:none;
    border-radius:8px;
    cursor:pointer;
    white-space:nowrap;
    max-width:90vw;
}
button {
    padding: 0.75em 1.5em;
    font-size:130%;
    margin-top: 2em;
    margin-bottom: 3em;
}
.buttonlink, .button {
    margin-top:1em;
    padding:1.5em min(2.5em, 14vw);
    font-size:200%;
    margin-top:6m;
    margin-bottom:6em;
    text-decoration: none;
}
.buttonlink:hover, button:hover {
    background-color:#6fb5e3;
}
.buttonlink:active, button:active {
    background-color:#216fa3;
}
.headertext {
  margin-left: 5vw;
  margin-right: 5vw;
  width: 60vw;
  padding-top: 2em;
  margin-top: 2em;
  grid-area: 1 / 2;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.8); /* semi-transparent background */
  padding: 1em;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px); 
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
textarea {
  padding: 0.6em 0.8em;      /* more space inside */
  font-size: 1.1em;          /* bigger text */
  line-height: 1.4;          /* taller lines */
  box-sizing: border-box;    /* so padding doesn't mess with width */
  width: 600px;
  max-width:80vw;
}

textarea {
  font-family:"HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; 
}

input[type="checkbox"],
input[type="radio"] {
  transform: scale(1.5);       /* Makes them 50% bigger */
  margin-right: 1em;         /* Optional: space after the box */
  margin-bottom: 1.2em;
}
.social-button {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 10px 16px;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  color: white;
  transition: background 0.3s ease;
  margin: 6px;
}

.social-button i {
  font-size: 1.2em;
}

/* Platform-specific styles */
.bluesky {
  background-color: #0085FF;
}

.bluesky:hover {
  background-color: #006ed6;
}

.mastodon {
  background-color: #6364FF;
}

.mastodon:hover {
  background-color: #4e4fd1;
}

.linkedin {
  background-color: #0077B5;
}

.linkedin:hover {
  background-color: #005f94;
}
.floatcont {
  display:flex;
  flex-wrap:wrap;
  width:min(100%, 75em);
}
.content img {
  margin-top:2em;
  margin-bottom:2em;
}
