body {
  color: #333;
  padding: 50px;
  font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-weight: 100;
  -webkit-font-smoothing: antialiased
}

strong {
  font-weight: 500
}

main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 850px;
  margin: 0 auto
}

h1 {
  margin: 0;
  font-weight: 100
}

.social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 30px 0;
  padding: 0
}

.social li {
  text-indent: -9999px;
  margin-right: 15px;
  -webkit-transition: all .25s ease;
  transition: all .25s ease
}

.social li:hover {
  opacity: .8
}

.social li a {
  display: block;
  background-color: #333;
  background-position: center center;
  background-repeat: no-repeat;
  width: 30px;
  height: 30px;
  text-indent: -9999px;
  border-radius: 999px
}

.social li:last-child {
  margin-right: 0
}

.social li.github a {
  background-image: url('../img/github.svg')
}

.social li.gitter a {
  background-image: url('../img/gitter.svg')
}

.social li.docs a {
  background-image: url('../img/docs.svg')
}

.search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 30px
}

.search .field {
  width: 100%;
  padding: 10px;
  font-size: 1.1em;
  border: 1px solid #ccc
}

.search .field:focus {
  outline: 0
}

.search input[type=submit] {
  text-indent: -9999px;
  width: 50px;
  height: 45px;
  border: 1px solid #ccc;
  border-left: none;
  background: white url('../img/search.svg') center center no-repeat;
  cursor: pointer
}

.search input[type=submit]:focus {
  outline: 0
}

table {
  width: 100%;
  border-collapse: collapse
}

table tr.hidden {
  display: none
}

table th, table td {
  padding: 10px;
  border: 1px solid #ccc;
  text-align: center
}

table th {
  background: #333;
  color: white;
  border: 1px solid #464646;
  font-weight: 500
}

table td:not(.author):not(.quality) {
  text-align: left
}

table .name a, table .author a {
  font-weight: 500;
  color: #333;
  text-decoration: none;
  padding-bottom: 1px;
  border-bottom: 1px solid transparent;
  -webkit-transition: all .25s ease;
  transition: all .25s ease
}

table .name a:hover, table .author a:hover {
  border-bottom-color: #333
}

table .links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center
}

table .links a {
  display: block;
  background-color: #333;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 53%;
  width: 20px;
  height: 20px;
  text-indent: -9999px;
  border-radius: 999px;
  margin-right: 6px
}

table .links a.github {
  background-image: url('../img/github.svg')
}

table .links a.npm {
  background-image: url('../img/npm.svg');
  background-size: 75%;
  background-position: 50% 55%
}

table .links a:last-child {
  margin-right: 0
}

small {
  margin-top: 30px;
  opacity: 0.5
}

small a {
  color: #333;
  text-decoration: none;
  font-weight: 500;
  -webkit-transition: all .25s ease;
  transition: all .25s ease;
  padding-bottom: 1px;
  border-bottom: 1px solid transparent
}

small a:hover {
  border-bottom: 1px solid #ccc
}
