/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

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

html {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  height: 100%; }

body {
  width: 100%;
  color: #fff;
  font: 1em "Helvetica Neue Light", "HelveticaNeue-Light", Arial, Helvetica, sans-serif;
  line-height: 30px;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.3);
  background: #cd3232 url(../images/bg.png); }

.wrap {
  padding: 1em; }

.us {
  margin: 0 auto;
  border-radius: 50%;
  width: 50vw;
  height: 50vw;
  background: url(../images/us.jpg);
  background-size: cover;
  margin-bottom: 2em;
  box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.5), 0 0 3px rgba(255, 255, 255, 0.3);
  max-width: 12em;
  height: 12em; }

.information {
  text-align: center;
  font-size: 1em;
  line-height: 1.4em;
  margin-bottom: 2em; }
  .information a {
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    -webkit-transition: color 250ms linear; }
    .information a:active, .information a:visited, .information a:hover {
      color: rgba(255, 255, 255, 0.7); }
  .information .name {
    font-size: 2em;
    line-height: 1em;
    margin-bottom: 1em; }
    .information .name span {
      font-weight: bold; }
    .information .name em {
      text-decoration: line-through;
      text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
      opacity: .6; }
  .information > .text {
    margin-top: 1em; }

.blocks {
  text-align: left;
  white-space: nowrap;
  font-size: 0.9em;
  font-weight: bold;
  line-height: 1.3em; }
  .blocks > div {
    flex: 1;
    margin-bottom: 1em; }
  .blocks header {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.8em;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1); }
  .blocks div {
    font-size: 1em;
    flex: 1; }
  .blocks .small {
    font-weight: normal;
    text-align: right; }
  .blocks em {
    font-weight: bold; }
  .blocks .data {
    display: flex;
    flex-direction: row; }

.me {
  position: absolute;
  bottom: 1em;
  right: 1em;
  color: #000;
  font-size: 0.6em;
  text-decoration: none;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.3);
  line-height: 12px;
  opacity: .4;
  -webkit-transition: opacity 250ms linear; }
  .me em {
    font-weight: bold; }
  .me:hover {
    opacity: .6; }

@media only screen and (min-device-width: 480px) {
  body {
    font-size: 1.2em;
    display: flex;
    align-items: center;
    justify-content: center; }
  .blocks {
    display: flex;
    margin-bottom: 1em; }
    .blocks .left {
      text-align: right;
      border-right: 1px solid rgba(255, 255, 255, 0.2);
      padding-right: 1em;
      margin-right: 1em; }
    .blocks .right .small {
      text-align: left; }
    .blocks .data {
      display: block; }
    .blocks > div {
      margin: 0; }
    .blocks .center, .blocks .center .small {
      text-align: center; }
    .blocks .center .data {
      margin-bottom: 1em; } }

.heart {
  position: absolute;
  text-align: center;
  z-index: 9999;
  top: -100px;
  width: 1em;
  height: 1em;
  color: rgba(255, 255, 255, 0.2);
  font-size: 16px;
  text-shadow: 0 0 0;
  /* We use the following properties to apply the fade and drop animations to each snowflake.
     Each of these properties takes two values. These values respectively match a setting
     for fade and drop.
  */
  -webkit-animation-iteration-count: infinite, 20;
  -webkit-animation-direction: normal, normal;
  -webkit-animation-timing-function: linear, ease-in; }

.heart span {
  position: absolute;
  display: block;
  width: 1em;
  height: 1em;
  /* We use the following properties to adjust the clockwiseSpin or counterclockwiseSpin
     animations on each snowflake.
     The createASnowflake function determines whether a flake has the
     clockwiseSpin or counterclockwiseSpin animation.
  */
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-direction: alternate;
  -webkit-animation-timing-function: ease-in-out;
  -webkit-transform-origin: 50% -100%; }

.heart.tiny {
  font-size: 0.5em; }

.heart.small {
  font-size: 1em; }

.heart.medium {
  font-size: 2em; }

.heart.large {
  font-size: 3em; }

.heart.massive {
  font-size: 7em; }

/* Hides a snowflake towards the very end of the animation */
@-webkit-keyframes fade {
  /* Show a snowflake while into or below 85 percent of the animation and hide it, otherwise */
  0% {
    opacity: 1; }
  85% {
    opacity: 1; }
  100% {
    opacity: 0; } }

/* Makes a snowflake fall from -50px to 650px pixels in the y-axis */
@-webkit-keyframes drop {
  0% {
    -webkit-transform: translate(0px, -50px); }
  100% {
    -webkit-transform: translate(0px, 650px); } }

/* Rotates a snowflake from -50 to 50 degrees in 2D space */
@-webkit-keyframes clockwiseSpin {
  0% {
    -webkit-transform: rotate(-50deg); }
  100% {
    -webkit-transform: rotate(50deg); } }

/* Rotates it from 50 to -50 degrees in 2D space */
@-webkit-keyframes counterclockwiseSpin {
  0% {
    -webkit-transform: rotate(50deg); }
  100% {
    -webkit-transform: rotate(-50deg); } }
