a, a:link, a:visited {
  color: #06c;
  text-decoration: none;
  display: inline-block;
}

a:hover {
  text-decoration: underline;
}

.log {
  position: fixed;
  left: 3px;
  top: 3px;
  color: #c00000;
  font-size: 3rem;
  z-index: 1000000;
}

.hidden {
  display: none !important;
}

.opacity-trans {
  opacity: 1 !important;
  transition: opacity 1s ease-in;
}


.flashing {
  animation: flash 1.8s infinite;
}

@keyframes flash {
  0%, 59% { opacity: 1; }
  60%, 100% { opacity: 0; }
  /* 0% { opacity: 1; }
  70% { opacity: 0; } */
  /* 100% { opacity: 1; } */
}

.fi-short {
  -webkit-animation: fadein 0.5s ease-in; /* Safari, Chrome and Opera > 12.1 */
     -moz-animation: fadein 0.5s ease-in; /* Firefox < 16 */
      -ms-animation: fadein 0.5s ease-in; /* Internet Explorer */
       -o-animation: fadein 0.5s ease-in; /* Opera < 12.1 */
          animation: fadein 0.5s ease-in;
}

.fi {
  -webkit-animation: fadein 3s ease-in; /* Safari, Chrome and Opera > 12.1 */
     -moz-animation: fadein 3s ease-in; /* Firefox < 16 */
      -ms-animation: fadein 3s ease-in; /* Internet Explorer */
       -o-animation: fadein 3s ease-in; /* Opera < 12.1 */
          animation: fadein 3s ease-in;
}

@keyframes fadein {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* Firefox < 16 */
@-moz-keyframes fadein {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadein {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* Internet Explorer */
@-ms-keyframes fadein {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* Opera < 12.1 */
@-o-keyframes fadein {
  from { opacity: 0; }
  to   { opacity: 1; }
}
