.landing-image {
width: 100%;
height: calc(100vh - 112px); /* ToDo: 112px is the height of the header, should be dynamic */
display: block;
margin: 0;
position: relative;
}

.landing-image img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}

figcaption {
text-align: right;
font-size: 0.8rem;
color: var(--primary-color);
margin: 0 0.5rem;
}

.schedule-container {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 2rem;
justify-content: center;
}

.team-container {
display: flex;
flex-direction: column;
background-color: var(--primary-color);
color: var(--secondary-color);
width: 100%;
max-width: 450px;
}

.team-container img {
width: 100%;
height: auto;
object-fit: cover; /* scale image to fit */
}

.team-container h1,
.team-container h4 {
color: var(--secondary-color);
padding: 0.5rem 1rem;
margin: 0;
}

.team-container ul {
margin: 0rem 1rem 1rem 1rem;
padding: 10px 0 0 0;
list-style: none;
}

.team-photo {
aspect-ratio: 4 / 3;
}

.partner-logo {
width: 6rem;
height: auto;
margin: 2rem;
}

.sponsors {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: 2rem;
flex-direction: row;
}

.sponsors a {
text-decoration: none;
text-align: center;;
}

.sponsors .split2 {
width: 100%;
max-width: 300px;
aspect-ratio: 2 / 1;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
min-width: 200px;
}