:root {
  --color-bg: #fff;
  --color-text: #000;
  --color-bg-card: #fff;
  --color-links: #1d1283;
  --color-events: #e30162;
}

.dark-theme {
  --color-bg: #1c1b22;
  --color-text: #e1e1ec;
  --color-bg-card: #312f3b;
  --color-links: #0080ff;
  --color-events: #ff0090;
}

html,
body {
  background-color: var(--color-bg);
  color: var(--color-text);
  transition: all 0.5s linear;
}

.welcome-title {
  margin-top: 50px;
}

.logo-img {
  width: 200px;
  height: 200px;
  display: block;
  padding: 10px 0;
}

.social-media-logo {
  height: 30px;
  width: 30px;
  margin: 0px 4px;
}

.social-media-logo:hover {
  transform: scale(1.1);
}

.event-details {
  display: block;
  text-align: center;
}

.event-title {
  font-size: 4em;
  font-weight: 400;
  margin: 3px auto 3px;
  color: var(--color-firebrick);
  font-family: sans-serif;
}

.info-note,
.info-repo {
  color: var(--color-text);
}

.info-repo a {
  color: var(--color-links);
}

.info-repo a {
  color: var(--color-links);
}

@media screen and (max-width: 640px) {
  .event-title {
    font-size: 2.7em;
  }
}
@media screen and (max-width: 440px) {
  .event-title {
    font-size: 1.95em;
    font-weight: 700;
  }
}

@media screen and (min-width: 640px) {
  .event-title {
    font-size: 3.3em;
  }
}

.event-date-time {
  font-weight: 600;
  font-size: 1.1em;
}

.session-info {
  margin: 0 30px 50px;
  max-width: 700px;
  border-radius: 10px;
  padding: 40px;
  display: block;
  background: var(--color-bg-card);
  box-shadow: 2px 2px 18px 0px rgba(var(--color-black-rgb), 0.75);
}

.topic-name {
  font-size: 1.7em;
}

.speaker-name {
  margin: 0;
  font-weight: 400;
  color: var(--color-firebrick);
  display: flex;
  align-items: center;
  margin-bottom: 5px;
}

.speaker-social-info {
  font-weight: 100;
  font-size: 0.6em;
}

.speaker-info {
  font-weight: 400;
  margin: 0;
}

.event-upcoming {
  text-align: center;
  margin: 0px auto 40px;
  font-size: 2em;
  font-weight: 400;
}

.speakers-title {
  font-size: 1.9em;
  text-align: center;
  margin-bottom: 35px;
  font-weight: 400;
}

footer {
  margin-top: 100px;
}

.session-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.session-wrapper > * {
  flex-basis: 40%;
  flex-shrink: 1;
  flex-grow: 1;
}

@media screen and (max-width: 600px) {
  .session-wrapper > * {
    flex-basis: 50%;
  }
  .session-info {
    margin: 0 auto 50px;
  }
  .session-wrapper {
    display: block;
    margin: 0 10px;
  }
}

@media screen and (max-width: 540px) {
  .topic-name {
    font-size: 1.5em;
  }
}
