* {
  box-sizing: border-box;
}

html, body {
  font-family: sans-serif;
  height: 100%;
}

body {
  display: flex;
  flex-direction: column;
  margin: 0;
  font-size: 100%;
  background-color: #000;
}

.header {
  text-align: center;
  color: #fff;
  padding: 30px;
}

.heading {
  margin: 0;
  font-size: 40px;
  font-weight: normal;
  font-family: 'Shrikhand', monospace;
  text-shadow: 2px 3px 0px rgba(0, 0, 0, .8);
}

.heading .clock {
  color: #de2f96;
}

.sub-heading {
  font-style: italic;
  font-family: sans-serif;
  margin: 0;
}

.binclock-container {
  display: block;
  margin-top: 2vw;
}

.binclock-container .binclock-label,
.binclock-container .binclock-decimal {
  color: transparent;
  transition: color .2s;
}

.binclock-container.has-visible-labels .binclock-label,
.binclock-container.has-visible-labels .binclock-decimal {
  color: #de2f96;
}

.binclock-interactions {
  padding: 40px;
  text-align: center;
  flex-grow: 1;
}

.binclock-btn {
  min-width: 160px;
  margin: 1vw;
  padding: 4px 16px;
  font-family: Shrikhand, monospace;
  font-size: 18px;
  border-radius: 6px;
  border: 2px solid #de2f96;
  box-shadow: 0 -2px 0 2px rgba(0, 0, 0, .2) inset;
  text-shadow: 2px 2px 0px rgba(0, 0, 0, .3);
  transition: background-color .2s, color .2s, border-color .2s, color .2s;
  color: #de2f96;
  background-color: #080808;
}

.binclock-btn:hover, 
.binclock-btn:active {
  color: #fff;
  background-color: #de2f96;
  border-color: #fff;
  cursor: pointer;
}

.binclock-list {
  list-style: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  text-align: center;
}

.binclock-list li {
  display: inline-block;
  width: 10vw;
  height: 10vw;
  min-width: 50px;
  min-height: 50px;
  line-height: 10vw;
  font-family: Shrikhand, cursive;
  font-size: 24px;
  border: .5vw solid #000;
}

.binclock-binary {
  color: transparent;
  transition: transform .5s, background-color .5s, border-radius .5s, transform .5s;
}

.binclock-layout-dots .binclock-binary {
  border-radius: 50%;
}

.binclock-layout-diamond .binclock-binary {
  border-radius: 1vw;
  transform: rotate(45deg) scale(.7) !important;
}

.binclock-layout-square .binclock-binary {
  border-radius: 0;
}

.binclock-layout-square .binclock-binary.on {
  background-color: blueviolet;
}

.binclock-layout-diamond .binclock-binary.on {
  background-color: goldenrod;
}

.binclock-binary.on {
  transform: rotateY(180deg);
  background-color: #de2f96;
  box-shadow: 0 -5px 0 5px rgba(0, 0, 0, .2) inset;
}

.binclock-binary.off {
  background-color: #111;
}

.binclock-decimal {
  max-height: 20px;
}

.binclock-decimal,
.binclock-label,
.footer a {
  display: inline-block;
  padding: 5px;
  color: #de2f96;
  transition: color .2s;
}

.footer a:hover,
.footer a:active {
  color: #fff;
}

.footer { 
  padding: 20px;
  color: #fff;
  background-color: #080808;
}

@media all and (max-width: 720px) {

  body,
  .binclock-btn {
    font-size: 90%;
  }

  .heading {
    font-size: 30px;
  }

  .binclock-list {
    display: inline-block;
    max-width: 33.333%;
  }

  .binclock-label {
    max-height: 20px;
  }

  .binclock-list li {
    width: 32vw;
    height: 32vw;
    font-size: 18px;
  }

  .binclock-decimal {
    max-height: 20px;
  }

  .binclock-interactions {
    padding-top: 20px;
  }

}