.entry-content {
  /* Reset the margin on the left, as this element serves as a title */
  margin-left: 0;
}
.entry-content .entry-content dl.entry, .entry-content dl.abstract {
  float: left;
  width: 35%;
  margin: 1em 0 2em 5%;
}
.entry-content .conference h2 {
  margin-bottom: 0;
}
.entry-content .conference h3 {
  padding-left: 2em;
}
.entry-content dl.entry dt {
  float: left;
  width: 10ex;
  font-weight: normal;
  color: #999999;
  /* On second thought, the data can be determined by context */
  display: none;
}
.entry-content dl.entry dd {
  margin: 0 0 0 6%;
}
.entry-content dt.speaker + dd {
  margin-bottom: 1em;
}
.entry-content .entry .time {
  margin-bottom: 1em;
  font-size: 86%;
  color: #777777;
}
.entry-content dt.time + dd, .entry-content dt.location + dd {
  margin-bottom: 1em;
  font-size: 86%;
  color: #777777;
}
.entry-content .entry {
  position: relative;
  font-size: 90%;
  padding: 5em 3em 2em;
  overflow: hidden;
}
.entry-content dl.entry, .entry-content dl.abstract {
  position: relative;
  font-size: 90%;
  padding: 5em 3em 2em;
  overflow: hidden;
}
.entry-content .conference h3 + h3 {
  margin-top: -1em;
}
.entry-content h3 + .entry {
  margin-top: 1em;
}
.entry-content .entry > .info {
  float: left;
  width: 35%;
}
.entry-content .entry > .abstract {
  float: right;
  width: 55%;
}
.entry-content dt.title {
  display: none;
}
.entry-content .entry .title, .entry-content dt.title + dd {
  font-family: Interstate, "Liberation Sans", Helvetica, Arial, sans-serif;
  position: absolute;
  top: 0;
  padding-top: 1em;
  left: 1em;
  width: 275%;
  font-size: 14pt;
  line-height: 1.1;
}
.entry-content .conference h2 a, .entry-content .entry .title a {
  color: inherit;
}
.entry-content .conference h2 a:hover, .entry-content .entry .title a:hover {
  color: #1982d1;
  text-decoration: underline;
}
.entry-content dl.abstract {
  width: 55%;
}
.entry-content .entry > .abstract-only {
  margin-top: -5em;
  /* Override some standard .abstract stuff */
  width: 100%;
  margin-left: -1.5em;
  float: none;
}
.entry-content dt.ab_link {
  /* Remove abstract header */
  display: none;
}
.entry-content p.top, .entry-content dl.entry {
  clear: both;
}
.entry-content .conference {
  position: relative;
  padding-bottom: 0;
}
.entry-content .conference .top {
  position: absolute;
  bottom: -2em;
  left: 0;
  z-index: 500;
}

/* Entry */
/* Wacky CSS to move the title to the top of the entry, so we don't have to do too much manual HTML editing for starters (temp. hack) */
/* Move duplicate conference subheaders closer to each other */
/* First entry = extra space */
/* Style and place this as a title */
/* Abstract */
/* Work-around for conferences w/o talks & those with additional information */
/* Clear floats */
@media screen and (min-width: 641px) {
  #all-events .talk h4 {
    padding-left: 16pt;
    float: left;
    max-width: 40%;
  }
  #all-events .talk .description {
    float: right;
    width: 60%;
    margin-top: -1.5em;
  }
}
#all-events {
  margin-top: -4em;
}
#all-events .conference {
  position: relative;
  padding-bottom: 4em;
  overflow: hidden;
}
#all-events .conference .top {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 500;
}
#all-events abbr {
  cursor: default;
  border: none;
}
#all-events .conference {
  margin-bottom: 2em;
}
#all-events .conference h2.summary {
  font-size: 18pt;
  font-weight: bold;
  margin-top: 2em;
}
#all-events .conference .conference-info .description {
  font-size: 86%;
  padding-top: 1em;
}
#all-events .conference .conference-info h3 {
  font-size: 10px;
  letter-spacing: 0.1em;
  line-height: 2.6em;
  text-transform: uppercase;
}
#all-events .conference .conference-info h3 {
  line-height: 2;
  padding-left: 16pt;
  overflow: hidden;
}
#all-events .conference .conference-info .description {
  padding-left: 16pt;
  overflow: hidden;
}
#all-events .talk {
  padding-left: 16pt;
  overflow: hidden;
}
#all-events .talk h4 {
  overflow: hidden;
}
#all-events .talk h4.room, #all-events .talk h4.time {
  font-size: 10px;
  letter-spacing: 0.1em;
  line-height: 2.6em;
  text-transform: uppercase;
}
#all-events .talk h3 {
  font-size: 14pt;
  line-height: 1.1;
  margin: 2em 0 1em;
}
#all-events .talk .description > p {
  margin: 0;
  padding: 0 0 2em;
}
#all-events .summary a {
  color: inherit;
  cursor: default;
}
#all-events .summary::after {
  content: " #";
  color: #cccccc;
  visibility: hidden;
}
#all-events .summary a:hover {
  color: #1982d1;
  cursor: pointer;
}
#all-events .summary:hover::after {
  visibility: visible;
}
#all-events .room, #all-events .time {
  color: #999999;
}

.page-template-calendar-page-php .entry-header, #calendar-upcoming {
  display: none;
}

/*Upcoming widget */
.has-upcoming #calendar-upcoming {
  display: block;
}

#calendar-upcoming h2 {
  margin-bottom: 0;
}

.upcoming-date, .upcoming-conf {
  line-height: 1.4;
  vertical-align: top;
}

.upcoming-date {
  clear: both;
  display: inline-block;
  margin: 2ex 0 0;
  text-align: right;
  text-transform: uppercase;
  width: 8ex;
  color: #999999;
  font-size: 0.7em;
  font-family: Interstate, "Liberation Sans", Helvetica, Arial, sans-serif;
}
.upcoming-date b {
  color: #555555;
  font-weight: strong;
}

#calendar-upcoming > .more {
  /* font-size: 0.85em; */
  margin-top: 3px;
}

.upcoming-conf {
  /* font-size: 0.85em; */
  margin-top: 3px;
  margin-left: 9ex;
}

#calendar-upcoming > .more {
  /* text-align: center; */
}

.upcoming-date + .upcoming-conf {
  margin-top: -1.31em;
}

.upcoming.loading {
  min-height: 16px;
}

/*Position the upcoming widget */
.has-upcoming #calendar-upcoming {
  float: left;
  /* width: 25%; */
  /* margin-left: 5%; */
  margin: 0px 0px 2.2em;
}
.has-upcoming #spotlight {
  float: left;
  width: 70%;
}
