*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body,
html {
  position: relative;
  width: 100%;
  min-height: 100vh;
  margin: 0;
  padding: 0;
  background: black;
}

main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  padding: 0 30px;
  -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;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

.title,
.key {
  margin: 0 0 60px;
}

.logo {
  display: block;
  width: 100px;
  height: 103px;
  background: url('./images/logo-white.png') no-repeat center / contain;
  -webkit-transition: background-image .3s;
  -o-transition: background-image .3s;
  transition: background-image .3s;
}

.logo:hover {
  background-image: url('./images/logo-red-white.png');
}
