*, *:before, *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

ul.main {
  list-style: none;
  max-width: 75%;
  margin: 5px auto;
}

h3 {
  padding: 0;
  margin: 0;
}

.date {
  width: 17%;
  padding: 5% 1% 0 0;
  float: left;
}

.date h3 {
  font-size: 1.5em;
}

.date p {
  font-size: .8em;
}

.events {
  float: left;
  width: 80%;
  border-left: 1px solid #ccc;
  margin-top: 2%;
  margin-bottom: 5%;
}

.events-detail {
  max-width: 800px;
}

.events-detail li {
  padding: 20px;
  border-bottom: 1px dashed #ccc;
  line-height: 22px;
  transition: ease .4s all;
}

.events-detail li:hover {
  background: #94a6bd;
}

.event-description {
    display: flex;
}

.event-time {
  font-weight: 900;
  min-width: 96px;
}

.events-detail li a {
  text-decoration: none;
  color: #444;
  width: 100%;
  height: 100%;
  display: block;
}

.event-location {
  display: block;
  font-size: .85em;
  color: tomato;
  margin-left: 115px;
}

.event-name {
  padding-left: 20px;
}

@media all and (max-width: 641px) {
  .date {
    width: 100%;
    border-bottom: 1px solid #ccc;
      margin-top: 40px;
    margin-bottom: 10px;
  }

  .events {
    border: none;
    width: 100%;
    margin-top: 0;
  }

  .events-detail {
    padding: 0;
  }

  li.date p {
    margin: 0;
  }

  .event-location {
    margin-left: 0px;
  }
    
  .event-description {
    flex-direction: column;
  }

  .event-name, .event-time {
	padding-left: 0px;
  }

  .event-name {
	padding-top: 10px;
	padding-bottom: 10px;
  }
}

.track-title {
    text-align: center;
    margin-top: 3%;
    padding: 20px;
}