
.presentations.archive {
  text-align: left;
  margin: 0 auto;
}

.presentation-years {
  margin-bottom: .75em;
  justify-content: flex-start;
}

.presentation-years > a {
  margin-right: 1em;
  min-width: 0;
  background-color: #000;
  font-weight: normal;
}

.presentation-years > a:hover {
  background-color: #999;
}

.presentations .presentations_year:not(:last-of-type) {
  margin-bottom: 1em;
}

.closed .presentations_year_presentations {
  display: none;
}

div.presentations ul.presentation {
  border-bottom: 1px #e9ebed solid;
}

div.presentations .presentations_year:not(:last-of-type) ul.presentation:last-child {
  border-width: 0;
  margin-bottom: 24px;
}

div.presentations li {
  list-style-type: none;
}

.presentations .speakers {
  margin-top: 1em;
}

.presentations ul.presentation > li {
  padding: 1em;
  display: flex;
  justify-content: flex-start;
}

.presentations ul.presentation > li > div {
  flex-basis: 99%;
  margin-right: 3em;
}

.presentations ul.presentation > li > div.download-link {
  width: 100px;
  flex-basis: 1%;
  margin-right: 0;
  text-align: center;
}

.presentations ul.presentation > li > div.download-link a {
  font-weight: bold;
  text-decoration: none;
}

.presentations ul.presentation > li > div.download-link img {
  display: block;
  margin: .5em auto;
  width: 50px;
}

.presentations ul.presentation > li a:hover {
  text-decoration: none;
}

.presentations ul.presentation .title {
  font-size: 1.25em;
  margin-bottom: .3em;
  font-weight: bold;
}

.presentations ul.presentation:nth-child(odd) li {
  background-color: #e6e6e6;
}

.presentations ul.presentation > li .session_speakers {
  display: block;
  width: 100%;
  vertical-align: top;
}


.presentations ul.presentation > li .sponsor {
  display: inline-block;
  margin: 1em 0;
  font-weight: 700;
  padding: .4em .7em;
  cursor: pointer;
  border: 1px #000 solid;
}

.presentations ul.presentation > li .speakers li {
  margin-bottom: .5em;
  padding: 0;
  text-align: left;
}

.presentations ul.presentation > li .speakers li:after {
  content: '';
  display: block;
  clear: both;
}

.expander {
  cursor: pointer;
  font-weight: 500;
}

.presentations h4 {
  background-color: #000;
  color: #fff;
  font-size: 1.25em;
  padding: 1em;
  line-height: 1;
  cursor: pointer;
  text-align: left;
  font-weight: bold;
  position: relative;
  margin-bottom: 0;
}

.presentations h4:hover {
  cursor: pointer;
  background-color: #999;
}

.presentations .text-band-text {
  margin: 1em 0 2em;
}

.presentations h4:after {
  content: '-';
  color: #fff;
  font-size: 1em;
  position: absolute;
  right: .9em;
  top: 50%;
  transform: translateY(-50%);
  font-weight: normal;
}

.presentations .closed h4:after {
  content: '+';
}

.presentations.closed .presentations_year {
  display: none;
}

.presentations h6 {
  text-transform: uppercase;
  border-top: 1px #000 solid;
  padding-top: .5em;
  margin: .5em 0 .5em;
}

.presentation_speaker_name,
.presentation_speaker_position,
.presentation_speaker_company {
  display: block;
  line-height: 1.5;
}

.presentation_speaker_name {
  text-transform: uppercase;
}

.presentation_speaker_company {
  color: #00AEEF;
  font-weight: bold;
}

.presentation .speaker-list {
  display: flex;
  justify-content: flex-start;
  font-size: .75em;
}

.presentation .speaker-list > li {
  margin-right: 2em;
}

@media (max-width: 800px) {
  .presentations ul.presentation > li {
    display: block;
  }
}

@media (max-width: 690px) {
  .presentation .speaker-list {
    flex-wrap: wrap;
  }

  .presentation .speaker-list li {
    flex-basis: 50%;
    margin-bottom: 1em;
    text-align: center;
  }
}

@media (max-width: 500px) {
  .presentations ul.presentation > li .presentation_description:before {
    clear: both;
    display: block;
    content: '';
  }
}


@media (max-width: 450px) {
  .presentation .speaker-list li {
    flex-basis: 100%;
  }
}