a, b, body, canvas, div, em, footer, form, h1, h2, h3, h4, h5, h6, header,
html, i, img, label, li, menu, nav, ol, p, section, small, span, strong, table, tbody,
td, tfoot, th, thead, tr, u, ul, video {
  border: 0;
  list-style: none;
  margin: 0;
  padding: 0; }

a {
  outline: 0; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

body {
  background: -webkit-radial-gradient(closest-side, #eee, #ccc) fixed;
  background: radial-gradient(closest-side, #eee, #ccc) fixed;
  box-shadow: 0 0 8em #222 inset;
  box-sizing: border-box;
  min-height: 100%;
  min-width: 320px;
  padding: 12em 4em;
  position: relative; }

html {
  font-size: 10px;
  height: 100%; }

h1 {
  font-family: serif;
  font-size: 4em;
  line-height: 1.2;
  margin: .5em; }

.wrapper {
  height: 100%;
  position: relative;
  text-align: center;
  width: 100%; }

#print-hidden {
  border: none;
  display: none;
  margin: 0;
  padding: 0;
  position: relative;
  text-align: center; }

@media print {
  body {
    box-shadow: none;
    padding: 0; }
  menu, .wrapper {
    display: none; }
  #print-hidden {
    display: block; } }

button {
  background: -webkit-radial-gradient(closest-corner, #eee, #fff);
  background: radial-gradient(closest-corner, #eee, #fff);
  border-radius: 10px;
  box-shadow: 0 0 0.2em #586884 inset;
  border: none;
  color: #555;
  cursor: pointer;
  display: inline-block;
  font-family: sans-serif;
  font-size: 3em;
  font-weight: bold;
  margin: .5em;
  padding: .5em 1em;
  text-align: center;
  text-decoration: none;
  text-shadow: 0 0 0.2em #97b1d1;
  -webkit-transition: background .2s, box-shadow .2s, color .2s, text-shadow .2s;
  transition: background .2s, box-shadow .2s, color .2s, text-shadow .2s;
  vertical-align: middle; }

button:hover {
  background: -webkit-radial-gradient(closest-corner, #eee, #fff);
  background: radial-gradient(closest-corner, #eee, #fff);
  box-shadow: 0 0 0.2em #69a50c inset, 0 0 0.2em #b9eb18;
  text-shadow: 0 0 0.2em #b9eb18;
  color: #333; }

.certificate {
  display: block;
  font-size: 10px;
  height: 43em;
  margin: 0 auto 1em;
  position: relative;
  width: 99.2em; }
  .certificate:nth-child(3n+3) {
    margin-bottom: 0 auto;
    page-break-after: always;
    page-break-inside: avoid; }
  .certificate img {
    height: 100%;
    width: 100%; }
  .certificate div {
    font-family: serif;
    font-size: 2.4em;
    line-height: 1;
    padding: 0;
    position: absolute; }
  .certificate .balance {
    left: 28.9em;
    top: 6.5em;
    width: 9.4em; }
  .certificate .date {
    left: 29.2em;
    top: 13.6em;
    width: 9em; }
  .certificate .from {
    left: 11.3em;
    top: 11.5em;
    width: 27em; }
  .certificate .id {
    font-size: 2em;
    left: 1em;
    top: .5em; }
  .certificate .to {
    left: 11.3em;
    top: 9.5em;
    width: 27em; }

input {
  background: -webkit-radial-gradient(closest-corner, #eee, #fff);
  background: radial-gradient(closest-corner, #eee, #fff);
  border-radius: 10px;
  border: none;
  box-shadow: 0 0 0.2em #586884 inset;
  box-sizing: border-box;
  color: #555;
  display: block;
  font-family: sans-serif;
  font-size: 3em;
  font-weight: bold;
  margin: .5em auto;
  max-width: 100%;
  padding: .5em 1em;
  text-align: center;
  text-decoration: none;
  -webkit-transition: background .2s, box-shadow .2s, color .2s, text-shadow .2s;
  transition: background .2s, box-shadow .2s, color .2s, text-shadow .2s;
  vertical-align: middle; }

input:focus {
  background: -webkit-radial-gradient(closest-corner, #eee, #fff);
  background: radial-gradient(closest-corner, #eee, #fff);
  box-shadow: 0 0 0.2em #ee623f inset, 0 0 0.2em #feb376; }

label {
  color: #444;
  display: block;
  font-family: sans-serif;
  font-size: 3em;
  font-weight: bold;
  line-height: 1.4;
  margin: .5em; }

@-webkit-keyframes menu-show {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes menu-show {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

menu {
  background: -webkit-linear-gradient(#444, #111111) fixed;
  background: linear-gradient(#444, #111111) fixed;
  border-bottom: 4px solid #222;
  border-top: 4px solid #222;
  box-shadow: 0 0 4px 1px #222;
  box-sizing: border-box;
  height: 100%;
  left: 0;
  padding: 4em;
  position: fixed;
  top: 0;
  -webkit-transition: height .4s, padding .4s;
  transition: height .4s, padding .4s;
  width: 100%;
  z-index: 1; }

menu a {
  box-shadow: 0 0 0.2em #586884 inset;
  text-shadow: 0 0 0.2em #97b1d1;
  -webkit-transition: box-shadow .2s, color .2s, font-size .2s, text-shadow .2s;
  transition: box-shadow .2s, color .2s, font-size .2s, text-shadow .2s;
  background: -webkit-radial-gradient(closest-corner, #eee, #fff);
  background: radial-gradient(closest-corner, #eee, #fff);
  border-radius: 10px;
  border: 1px solid #bbb;
  color: #444;
  display: table-cell;
  font-family: sans-serif;
  font-size: 8em;
  font-weight: bold;
  height: 100%;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  vertical-align: middle;
  width: 100%; }

menu a.active {
  box-shadow: 0 0 0.2em #e6851b inset;
  text-shadow: 0 0 0.2em #fcd01a; }

menu a:hover {
  box-shadow: 0 0 0.2em #69a50c inset, 0 0 0.2em #b9eb18;
  text-shadow: 0 0 0.2em #b9eb18;
  color: #222; }

menu li {
  box-sizing: border-box;
  display: inline-block;
  height: 50%;
  padding: 1em;
  width: 50%; }

menu span {
  display: table;
  height: 100%;
  position: relative;
  width: 100%; }

menu ul {
  height: 100%;
  position: relative;
  width: 100%; }

menu.hide {
  background: url(/img/down-arrow.png) no-repeat right center, -webkit-linear-gradient(#444, #111111) fixed;
  background: url(/img/down-arrow.png) no-repeat right center, linear-gradient(#444, #111111) fixed;
  background-origin: content-box;
  background-size: 6em auto, auto;
  cursor: pointer;
  height: 8em;
  padding: 0 4em; }

menu.hide a {
  display: block;
  font-size: 3em;
  padding: .2em 1em;
  width: auto;
  height: auto; }

menu.hide span {
  display: block;
  margin-right: 1em; }

menu.hide li {
  width: auto;
  height: auto;
  display: inline-block; }

menu.hide ul {
  -webkit-animation: .4s .4s linear both menu-show;
          animation: .4s .4s linear both menu-show;
  opacity: 0;
  white-space: nowrap; }

@media (max-width: 540px) {
  menu a {
    font-size: 8em; } }

@media (max-width: 800px) {
  menu.hide {
    height: 64px; }
  menu li {
    height: 25%;
    width: 100%; }
  menu.hide ul {
    display: none; } }

@media (max-width: 992px) {
  menu {
    font-size: 5px; } }

.error {
  color: red; }

.message {
  box-sizing: border-box;
  font-family: sans-serif;
  font-size: 3em;
  font-weight: bold;
  line-height: 1.2;
  margin: auto;
  max-width: 768px;
  padding: 10px 1em;
  position: relative;
  text-shadow: 2px 2px 4px #aaa; }

.message span {
  display: inline-block; }

.message span:first-child {
  text-align: left;
  width: 12em; }

.message span.date:first-child {
  width: 9em; }

.message span:last-child {
  text-align: right;
  width: 4em; }

section {
  display: none;
  position: relative; }

.section-show {
  display: block; }

