/* puppet style */
.dim{
	transition: opacity 400ms linear;
	opacity: 0.15;
}

.light{
	transition: opacity 600ms linear;
	opacity: 1;
}

.label-text{
	font-size: 22px;
}

/* subtitle */
div.hil-puppet .subtitle{
	width: 266px;
	bottom: 22px;
}

/* control buttons */
div.hil-puppet .forward-btn{
	right: 30px;
	bottom: 13px;
}

div.hil-puppet .backward-btn{
	left: 30px;
	bottom: 13px;
}

div.hil-puppet .play-btn{
	right: 25px;
	bottom: 13px;
}

div.hil-puppet .replay-btn{
	right: 30px;
	bottom: 13px;
}


/* fire animate */
.campfire{
  margin:80px auto;
  width: 60px;
  height: 60px;
  position:relative;
  transform-origin:center bottom;
  animation-name: flicker;
  animation-duration:3ms;
  animation-delay:200ms;
  animation-timing-function: ease-in;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  -webkit-transform-origin:center bottom;
  -webkit-animation-name: flicker;
  -webkit-animation-duration:3ms;
  -webkit-animation-delay:200ms;
  -webkit-animation-timing-function: ease-in;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-direction: alternate;
}

.campfire .mask{
  bottom:-100px;
  left: -20px;
  position:absolute;
  width: 100px;
  height: 80px;
  background: white;
  box-shadow: 0px 0px 15px 10px white;
}

.campfire .flame{
  bottom:0;
  position:absolute;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  border-top-left-radius: 50%;
  transform:rotate(-45deg) scale(1.5,1.5);
  -webkit-transform:rotate(-45deg) scale(1.5,1.5);
}

.campfire .yellow{
  left:15px; 
  width: 30px;
  height: 30px;
  background:gold;
  box-shadow: 0px 0px 9px 4px gold;
}

.campfire .orange{
  left:10px; 
  width: 40px;
  height: 40px;
  background:orange;
  box-shadow: 0px 0px 9px 4px orange;
}

.campfire .red{
  left:5px;
  width: 50px;
  height: 50px;
  background:OrangeRed;
  box-shadow: 0px 0px 5px 4px OrangeRed;
}

.campfire .white{
  left:15px; 
  bottom:-4px;
  width: 30px;
  height: 30px;
  background:white;
  box-shadow: 0px 0px 9px 4px white;
}

.campfire .circle{
  border-radius: 50%;
  position:absolute;  
}

.campfire .blue{
  width: 10px;
  height: 10px;
  left:25px;
  bottom:-25px; 
  background: SlateBlue;
  box-shadow: 0px 0px 15px 10px SlateBlue;
}

.campfire .black{
  width: 40px;
  height: 40px;
  left:10px;
  bottom:-60px;  
  background: gray;
  box-shadow: 0px 0px 15px 10px black;
}

@keyframes flicker{
	0%	{	transform: rotate(-1deg);
			-webkit-transform: rotate(-1deg);
		}
	20%	{	transform: rotate(1deg);
			-webkit-transform: rotate(1deg);
		}
	40%	{	transform: rotate(-1deg);
			-webkit-transform: rotate(-1deg);
		}
	60% {	transform: rotate(1deg) scaleY(1.04);
			-webkit-transform: rotate(1deg) scaleY(1.04);
		}
	80% {	transform: rotate(-2deg) scaleY(0.92);
			-webkit-transform: rotate(-2deg) scaleY(0.92);
		}
	100%{	transform: rotate(1deg);
			-webkit-transform: rotate(1deg);
		}
}

@-webkit-keyframes flicker{
	0%	{	transform: rotate(-1deg);
			-webkit-transform: rotate(-1deg);
		}
	20%	{	transform: rotate(1deg);
			-webkit-transform: rotate(1deg);
		}
	40%	{	transform: rotate(-1deg);
			-webkit-transform: rotate(-1deg);
		}
	60% {	transform: rotate(1deg) scaleY(1.04);
			-webkit-transform: rotate(1deg) scaleY(1.04);
		}
	80% {	transform: rotate(-2deg) scaleY(0.92);
			-webkit-transform: rotate(-2deg) scaleY(0.92);
		}
	100%{	transform: rotate(1deg);
			-webkit-transform: rotate(1deg);
		}
}