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, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

/* remember to define focus styles! */
:focus {
  outline: 0;
}
body {
  line-height: 1;
  color: black;
  background: white;
}
ol, ul {
  list-style: none;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
  border-collapse: separate;
  border-spacing: 0;
}
caption, th, td {
  text-align: left;
  font-weight: normal;
}
blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
}
blockquote, q {
  quotes: "" "";
}

/** RESET end **/
h1,h2 {font-size:14pt;font-weight:bold;}
a {cursor:pointer; color:#890000; text-decoration:none;}
a:hover { text-decoration:underline; }
body {
  background:url(images/bg.jpg) 0 0 repeat;
  color:#795c2d;
  font-size:12pt;
  font-family: 'Courgette', cursive;
  position:relative;
  margin:0;
  padding:0;
}

/** Header **/
#header {
  background:url(images/headerbg.jpg) 0 0 repeat-x;
  text-align: center;
  padding-bottom: 80px;
  padding-top: 40px;
}
#logo {
  position:relative;
}
#logo img {
  margin-left: 20px;
  margin-right: 20px;
  height: 100%;
}
@media only screen and (max-width: 480px) {
	#logo img {
	  height: 75px;
	}
}
#logo img.first {
	margin-left: 0;
}
#logo img.last {
	margin-right: 0;
}
#logo b {
  bottom:-10px;
  font-size:10pt;
  font-weight:normal;
  position:absolute;
  right:7px;
}

/** Footer **/
#footer {
  background: url(images/footerback.jpg) 0px 155px repeat-x;
  color: #aa8d68;
  position: relative;
  font-size: 12pt;
  height: 300px;
}
#footer img {
  left: 41px;
  position: absolute;
  top: 78px;
}
#footer big {
  font-size: 14pt;
  color: #906B45;
  position: absolute;
  bottom: 55px;
  left: 261px;
}
#footer span {
  padding:0 15px;
}

/** Creatures **/

#container {
	position: relative;
}
.creatureThumb {
	width: 100%;
	max-width: 300px;
  -webkit-transition: top 0.4s ease-in-out;
  -moz-transition: top 0.4s ease-in-out;
  -o-transition: top 0.4s ease-in-out;
  transition: top 0.4s ease-in-out;
  -webkit-transition: left 0.4s ease-in-out;
  -moz-transition: left 0.4s ease-in-out;
  -o-transition: left 0.4s ease-in-out;
  transition: left 0.4s ease-in-out;
  position: relative;
}

.creatureThumb img {
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
}

.creatureThumb .creatureNumber {
	position: absolute;
    color: #7B2602;
    bottom: 10px;
    left: 10px;
    font-size: 1.3rem;
    z-index: 3;
    opacity: 0;
    -webkit-transition: opacity 0.4s;
    -moz-transition: opacity 0.4s;
    -o-transition: opacity 0.4s;
    transition: opacity 0.4s;
}
.creatureThumb:hover .creatureNumber {
    opacity: 0.6;
}

.creatureThumb.loading div.loaderContainer {
	opacity: 1;
}
.creatureThumb.missing div.loaderContainer {
	background-color: red;
}
.creatureThumb.invalid div.loaderContainer {
	background-color: blue;
}


div.loaderContainer{
	width: 100%;
	height: 100%;
	position: relative;
	display: flex;
	align-items: center;
	z-index: 2;
	opacity: 0;
    -webkit-transition: opacity 0.4s;
    -moz-transition: opacity 0.4s;
    -o-transition: opacity 0.4s;
    transition: opacity 0.4s;
	background-color: #FBE3B0;
}
div.loader {
	align-items: center;
	border: 4px solid #E8B37F;
	border-radius: 110px;
	height: 110px;
	margin: 0 auto;
	width: 110px;
	display: flex;
}

div.loader svg { 
  margin: 0 auto; 
  overflow: hidden;
}

div.loader .wave {
  stroke-dasharray: 0 16 101 16;
  animation: moveTheWave 2400ms linear infinite;  
}

@keyframes moveTheWave {
  0% { 
    stroke-dashoffset: 0; 
    transform: translate3d(0, 0, 0);
  }
  100% { 
    stroke-dashoffset: -133;
    transform: translate3d(-90px, 0, 0);
  }
}