body {
  margin: 0;
}

#background {
  height: 100vh;
  width: 100%;
  background-image: url('../static/assets/landingpage/bg.webp');
  z-index: -100;
  pointer-events: none;
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: scroll;
  position: fixed;
  inset: 0;
}

#content {
  color: white;
  min-height: 100vh;
}

h2 {
  text-align: center;
}

#main {
  padding: 1em;
}


@media screen and (max-width: 25rem) {
  #main {
    padding: 0 1em !important;
  }
}

@media screen and (max-width: 40rem) {
  #main {
    padding: 0 2em;
  }
}

@media screen and (min-width: 50rem) {
  #main {
    padding: 0 10em;
  }
}

@media screen and (min-width: 80rem) {
  #main {
    padding: 0 25em;
  }
}

/* Ultra wide */
@media screen and (min-width: 130rem) {
  #main {
    padding: 0 50em;
  }
}

@media screen and (min-width: 180rem) {
  #main {
    padding: 0 70em;
  }
}

@media screen and (min-width: 220rem) {
  #main {
    padding: 0 90em;
  }
}

#logo h1 {
  font-family: "RobotoMono-Bold", monospace;
  font-size: 2.5em;
  margin: 0;
  color: var(--main-color);
}

.album {
  width: 14em;
  border-radius: 0.5em;
  box-shadow: 0 0 6px 6px rgba(0, 0, 0, 0.5);
}

.album, audio {
  margin: 0.5em;
}

audio {
  width: 100%;
}

.album-container {
  text-align: center;
}

a {
  color: #fcf6a6;
}

/* Timeline */

html {
  --timeline-color: #fff;

}

section {
  display: flex;
  align-items: flex-start;
  gap: 30px;
}

.section-title {
  position: sticky;
  top: 20px;
}

.section-content {
  display: flex;
  flex-direction: column;
}

article {
  display: flex;
  gap: 30px;
  width: 100%;
  max-width: 20rem;
}

aside {
  display: flex;
  align-items: center;
  flex-direction: column;
}

main {
  padding-bottom: 2rem;
}

main > p {
  margin: 0;
}

main > h3 {
  text-align: left;
  margin-top: 0;
}

.dot {
  --size: .5rem;
  width: var(--size);
  height: var(--size);
  margin: calc((1rem - var(--size))/2);
  border-radius: 50%;
  background-color: var(--timeline-color);
  flex-grow: 0;
}

.line {
  flex-grow: 1;
  margin: 8px 0;
  width: 3px;
  background-color: var(--timeline-color);
}

aside > div {
  margin: 0em !important;
}

.photos {
  text-align: center;
}


.photos > img {
	width: 80%;
	border-radius: 0.5em;
}

footer {
  text-align: center;
}

/* region Sticky header */

h2 {
	text-align: center;
	position: sticky;
	top: 0;
	backdrop-filter: blur(0.25em);
	z-index: 1;
}

.section-title {
  z-index: 2;
}

/* endregion */
