.components {
  margin: 40px 0;
  width: 100%;
  max-width: 1140px;
  min-width: 300px;
}

.component {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid #eee;
  padding: 16px 14px;
}

.component .header {
  float: left;
  width: 20%;
  margin-right: 20px;
}

.component h3 {
  margin: 0;
  line-height: 1.3;
}

.component h3 a {
  color: inherit;
}

.component .repo {
  font-size: 12px;
  color: #7f7f7f;
}

.component p {
  overflow: hidden;
  margin: 2px 0 0 0;
  line-height: 1.3;
  max-width: 40em;
}

.component .info {
  float: right;
  max-width: 10em;
  margin-left: 20px;
  font-size: 12px;
  color: #7f7f7f;
  display: block;
  line-height: 1.4;
}

.component .info td {
  vertical-align: top;
}

.component .info td:first-child {
  opacity: 0.6;
  width: 20%;
  padding-right: 10px;
}

@media (max-width: 800px) {
  .component .header {
    width: auto;
  }

  .component p {
    clear: both;
    padding-top: .75em;
  }
}

@media (max-width: 450px) {
  .component .info {
    display: none;
  }
}