*, *::before, *::after
{
	box-sizing: border-box;
	text-align: center;
	white-space: nowrap;
}
*::before, *::after
{
	font-size: 14px !important;
}

.container
{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	align-content: flex-start;
	
	border: solid 10px transparent;
}

.unlocked {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4zjOaXUAAAAGZJREFUOE+ljEEOACEIA92f+f9XaQ822EUgajJJC4xtvu+BPnEXFSBff7Bk5N8yw8pgW2aojLwdRHhy+YOTjMzhiUgGDB6ZjMyiVGTAgeV0rB1wqMusL7iIjrVb0mPtypMMGC7k1geoEhcn0OEM6wAAAABJRU5ErkJggg==);
  background-position: bottom right;
  background-repeat: no-repeat;

  /* not fully transparent to make it easier to move */
  background-color: rgba(0, 0, 150, 0.2);
  border: dashed 10px red;
}

html, body
{
	margin: 0;
}

.buff
{
	position: relative;
	
	height: 45px;
	width: 45px;
	
	margin: 5px;
	
	order: 200;
	
    background-size: cover;
	
	display: flex;
	align-items: center;
	justify-content: center;
	
	font-family: fantasy;
	color: white;
	-webkit-text-stroke: 1.5px black;
	font-size: 25px;
}

.buff.active
{
	order: 0;
}

.buff.up
{
	order: 100;
}

.buff::before
{
	content: "";
	position: absolute;
	top: 45px;
	left: 0;
    right: 0;
	height: 20px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    -webkit-text-stroke: 0 transparent;
}

.buff::after
{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(0, 0, 0, 0.5);
    background-size: cover;
	border-radius: 5px;
}

.buff.active::after
{
	background-color: transparent;
	background-image: url(Combo.gif);
}

.buff.up::after
{
	background-color: transparent;
}