body {
    font-family: "Roboto", sans-serif;
    font-size: 11pt;
    margin: 0;
    padding: 0;
}


/* Centered page container, content stays left-aligned by default */
.page {
  max-width: 1200px;     /* pick a width that fits your design */
  margin: 0 auto;        /* centers the container horizontally */
  padding: 0 16px;       /* optional: side gutter on small screens */
  /* text-align: left;   // usually not needed; default is left */
}

header {
    background-color: #f4f4f4;
    padding: 0;
}

.header-container {
    background-color: #576075;
    display: flex;
    align-items: center;
    height: 201px; /* Fixed height for the header */
}

.parent {
    background-color: #576075;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.conference-name {
    background-color: #576075;
    color: white;
    padding: 0px;
    flex: 1; /* Allows the width to adjust with the window size */
    /*display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;*/
    display: inline-block; 
    text-align: left;
    gap: 0.25rem;
    height: 201px;
}

.conference-name h1 {
  font-size: 2.0rem;
  margin: 0;        /* avoids extra vertical space */
  line-height: 1.1; /* keeps it compact */
}

.conference-subtitle {
    font-size: 2.0rem; /* Adjust the size as needed */
    /*color: #ccc; /* Optional: Change the color if desired */
    margin: 0; /* Remove default margin */
}

.banner {
    width: 767px; /* Fixed width for the banner */
    height: 201px;
    object-fit: cover; /* Ensures the image covers the area */
}

.text-container-noindent {
    max-width: 1000px; /* Set the maximum width for the text */
    margin-left: 0px; /* Center the container horizontally */
    padding: 0px; /* Optional: Add padding for better spacing */
    margin-bottom: 20px;
}

.text-container {
    max-width: 1000px; /* Set the maximum width for the text */
    margin-left: 40px; /* Center the container horizontally */
    padding: 0px; /* Optional: Add padding for better spacing */
}

nav {
    background-color: solid white; /* #576075; */
}

section ul {
    background-color: #f4f4f4;
    margin-left: 20px;
    max-width: 1000px;
    margin-bottom: 10px;
    padding: 10px;
    padding-left: 30px;
}

section ul li {
    position: relative; /* Position relative for marker custom */
    margin-bottom: 10px;
}

section ul > li {
    list-style-type: disc;
}

section ul > li::marker {
  color: #8D5060;       /* marker color */
  font-size: 1.3em;       /* adjust marker size if desired */
}

/* Nested list: square */
section ul ul {
  padding-left: 1.25rem; /* nested indent */
}
section ul ul > li {
  list-style-type: square;
}
section ul ul > li::marker {
  color: #8D5060;
}

section ul li:last-child{
    margin-bottom: 0px;
}

nav ul {
    list-style-type: none;
    padding: 0;
    margin-left: 20px;
}

nav ul li {
    display: inline;
    margin-right: 0px;
    padding-left: 0px; /* Remove padding for nav items */
}

nav ul li:hover {
    background-color: #0063a6;
}

nav ul li a {
    color: white;
    text-decoration: none;
    padding: 10px;
    display: inline-block;
    border-right: 10px solid white; /* Vertical white separation */
}

nav ul li a:last-child {
    border-right: none; /* Remove border from the last item */
}

nav ul li a:hover {
    background-color: #0063a6;
}

main {
    padding: 20px;
}

section {
    margin-bottom: 20px;
}

h2 {
    font-size: 36px;
    color: #8D5060;
    max-width: 1000px;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

h3 {
    color: #8D5060;
}

.button {
    background-color: #576075; /* Change to your desired color */
}

.highlighted-button {
    background-color: #8D5060; /* Change to your desired color */
}

.banner-container {
  display: flex;               /* Activates Flexbox */
  flex-direction: row;         /* Aligns items horizontally */
  justify-content: space-between; /* Spreads logos across the full width */
  align-items: center;         /* Centers logos vertically relative to each other */
  width: 1000px;                 /* Ensures the container fills the page width */
  gap: 20px;                   /* Optional: Adds space between the logos */
  margin-left: 30px;
  margin-top: 40px;            /* Optional: Adds space above the banner row */
}

.banner-container a {
  flex: 1;                     /* Forces each link to take up equal space */
  display: flex;
  justify-content: center;     /* Centers the image within its allotted space */
}

.banner-container img {
  max-height: 200px;             /* Ensures image doesn't exceed its container */
  height: auto;                /* Maintains aspect ratio */
  display: block;
}

/* Container setup */
.image-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* Creates 2 equal columns */
    gap: 15px;                             /* Space between the images */
    margin-top: 30px;                      /* Pushes grid down away from the text */
    width: 1200px;                           /* Fills the width of the main content area */
}

/* Image behavior */
.image-grid img {
    width: 100%;                           /* Forces images to stretch to the grid cell width */
    height: auto;                          /* Maintains the original aspect ratio */
    display: block;                        /* Removes unwanted bottom whitespace */
    border-radius: 4px;                    /* Optional: rounds corners slightly to match a modern UI */
    object-fit: cover;                     /* Optional: crops nicely if your images have different dimensions */
}
