body, html {
  min-height: 100%;
  height: 100%;
}

body {
  background: green;
  padding: 30px;
  -moz-perspective: 1000px;
  -webkit-perspective: 1000px;
  perspective: 1000px;
}

h1 {
  text-align: center;
  font-family: "Marker Felt", sans-serif;
  font-size: 2.5em;
  font-weight: bold;
  color: #004d00;
  text-shadow: 0px 1px 1px #22a222;
}

nav ul {
  display: block;
  margin: 1em 0 3em;
  text-align: center;
}
nav li {
  display: inline;
}
nav a, nav a:visited {
  font-family: Helvetica;
  font-size: 2em;
  color: #004d00;
  text-shadow: 0px 1px 1px #22a222;
  text-decoration: none;
}
nav a:hover, nav a:visited:hover {
  color: white;
  text-shadow: 1px 2px 4px black;
}

#dice, .side {
  -moz-transition: -moz-transform 0.4s ease;
  -o-transition: -o-transform 0.4s ease;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
}

#dice {
  -moz-transform: rotateX(-15deg) rotateY(45deg);
  -ms-transform: rotateX(-15deg) rotateY(45deg);
  -webkit-transform: rotateX(-15deg) rotateY(45deg);
  transform: rotateX(-15deg) rotateY(45deg);
  -moz-transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -moz-transform-origin: 50% 50% 0px;
  -webkit-transform-origin: 50% 50% 0px;
  transform-origin: 50% 50% 0px;
  -moz-backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  width: 100px;
  height: 100px;
  margin-top: -50px;
  margin-left: -50px;
  position: absolute;
  top: 50%;
  left: 50%;
}
#dice.up-2 {
  -moz-transform: rotateX(-15deg) rotateY(45deg) rotateZ(90deg);
  -ms-transform: rotateX(-15deg) rotateY(45deg) rotateZ(90deg);
  -webkit-transform: rotateX(-15deg) rotateY(45deg) rotateZ(90deg);
  transform: rotateX(-15deg) rotateY(45deg) rotateZ(90deg);
}
#dice.up-3 {
  -moz-transform: rotateX(75deg) rotateY(180deg) rotateZ(45deg);
  -ms-transform: rotateX(75deg) rotateY(180deg) rotateZ(45deg);
  -webkit-transform: rotateX(75deg) rotateY(180deg) rotateZ(45deg);
  transform: rotateX(75deg) rotateY(180deg) rotateZ(45deg);
}
#dice.up-4 {
  -moz-transform: rotateX(75deg) rotateY(0deg) rotateZ(45deg);
  -ms-transform: rotateX(75deg) rotateY(0deg) rotateZ(45deg);
  -webkit-transform: rotateX(75deg) rotateY(0deg) rotateZ(45deg);
  transform: rotateX(75deg) rotateY(0deg) rotateZ(45deg);
}
#dice.up-5 {
  -moz-transform: rotateX(-15deg) rotateY(-45deg) rotateZ(-90deg);
  -ms-transform: rotateX(-15deg) rotateY(-45deg) rotateZ(-90deg);
  -webkit-transform: rotateX(-15deg) rotateY(-45deg) rotateZ(-90deg);
  transform: rotateX(-15deg) rotateY(-45deg) rotateZ(-90deg);
}
#dice.up-6 {
  -moz-transform: rotateX(165deg) rotateY(45deg) rotateZ(0deg);
  -ms-transform: rotateX(165deg) rotateY(45deg) rotateZ(0deg);
  -webkit-transform: rotateX(165deg) rotateY(45deg) rotateZ(0deg);
  transform: rotateX(165deg) rotateY(45deg) rotateZ(0deg);
}
#dice .side {
  display: block;
  width: 100px;
  height: 100px;
  position: absolute;
  background: white;
  background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY3g9IjUwJSIgY3k9IjUwJSIgcj0iMTAwJSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2RkZGRkZCIvPjwvcmFkaWFsR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
  background: -moz-radial-gradient(#ffffff, #dddddd);
  background: -webkit-radial-gradient(#ffffff, #dddddd);
  background: radial-gradient(#ffffff, #dddddd);
  border: solid 6px #ddd;
  border-radius: 8px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#dice .side-1 {
  -moz-transform: rotateX(90deg) translateZ(50px);
  -ms-transform: rotateX(90deg) translateZ(50px);
  -webkit-transform: rotateX(90deg) translateZ(50px);
  transform: rotateX(90deg) translateZ(50px);
}
#dice .side-6 {
  -moz-transform: rotateX(-90deg) translateZ(50px);
  -ms-transform: rotateX(-90deg) translateZ(50px);
  -webkit-transform: rotateX(-90deg) translateZ(50px);
  transform: rotateX(-90deg) translateZ(50px);
}
#dice .side-5 {
  -moz-transform: rotateY(90deg) translateZ(50px);
  -ms-transform: rotateY(90deg) translateZ(50px);
  -webkit-transform: rotateY(90deg) translateZ(50px);
  transform: rotateY(90deg) translateZ(50px);
}
#dice .side-2 {
  -moz-transform: rotateY(-90deg) translateZ(50px);
  -ms-transform: rotateY(-90deg) translateZ(50px);
  -webkit-transform: rotateY(-90deg) translateZ(50px);
  transform: rotateY(-90deg) translateZ(50px);
}
#dice .side-4 {
  -moz-transform: translateZ(50px);
  -ms-transform: translateZ(50px);
  -webkit-transform: translateZ(50px);
  transform: translateZ(50px);
}
#dice .side-3 {
  -moz-transform: rotateY(180deg) translateZ(50px);
  -ms-transform: rotateY(180deg) translateZ(50px);
  -webkit-transform: rotateY(180deg) translateZ(50px);
  transform: rotateY(180deg) translateZ(50px);
}
#dice .side-1:after {
  content: "1";
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  line-height: 88px;
  font-size: 60px;
  font-family: Helvetica;
  color: #444;
}
#dice .side-2:after {
  content: "2";
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  line-height: 88px;
  font-size: 60px;
  font-family: Helvetica;
  color: #444;
}
#dice .side-3:after {
  content: "3";
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  line-height: 88px;
  font-size: 60px;
  font-family: Helvetica;
  color: #444;
}
#dice .side-4:after {
  content: "4";
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  line-height: 88px;
  font-size: 60px;
  font-family: Helvetica;
  color: #444;
}
#dice .side-5:after {
  content: "5";
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  line-height: 88px;
  font-size: 60px;
  font-family: Helvetica;
  color: #444;
}
#dice .side-6:after {
  content: "6";
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  line-height: 88px;
  font-size: 60px;
  font-family: Helvetica;
  color: #444;
}
