body {
  margin: 0;
  padding: .25em;
  color: #000;
  font-size: 16px;
  font-family: Roboto, Arial, Helvetica, sans-serif;
}

.badge-container {
  width: 100%;
  max-width: 170px;
  margin: auto;
}

.badge-container a {
  display: block;
  text-decoration: none;
  color: #FFF;
  text-shadow: 0 1px 0 rgba(0, 0, 0, .5);
}

.badge-container a:hover,
.badge-container a:active {
  text-shadow: 0 1px 0 rgba(0, 0, 0, .9);
  color: #EEE;
}

.badge-container .badge-image-container {
  display: block;
  position: relative;
}

.badge-container .badge-image-container img {
  display: block;
  max-width: 100%;
  height: auto;
}

.badge-container .badge-image-container .badge-text-container {
  display: block;
  width: 100%;
  padding: .75em 0;
  position: absolute;
  bottom: 0;
  font-size: .625em;
  text-align: center;
}

.badge-container .badge-image-container .badge-text-container strong {
  font-size: 1.1em;
}

@media screen and (max-width: 10em) {
  .badge-container .badge-image-container .badge-text-container {
    font-size: .5625em;
    padding: .8333333em 0;
  }
  .badge-container .badge-image-container .badge-text-container strong {
    font-size: 1em;
  }
  .badge-container .badge-image-container .badge-text-container .optional-words {
    display: none;
  }
}

@media screen and (max-width: 9.375em) {
  .badge-container .badge-image-container .badge-text-container {
    padding: 5% 0;
  }
}

@media screen and (max-width: 7em) {
  .badge-container .badge-image-container .badge-text-container {
    padding: 2.5% 0;
  }
}