* {
  box-sizing: border-box;
}

#container,
.container {
  background: #EEE;
  width: 50%;
  margin-bottom: 20px;
}

.item {
  width:  60px;
  height: 60px;
  float: left;
  border: 1px solid;
  background: #09F;
}

.item.w2 { width: 120px; }
.item.w3 { width: 180px; }

.item.h2 { height: 100px; }
.item.h3 { height: 160px; }
.item.h4 { height: 220px; }
.item.h5 { height: 280px; }

.stamp {
  background: red;
  opacity: 0.75;
  position: absolute;
  border: 1px solid;
}


/* element */

.element {
  width: 80px;
  height: 90px;
  margin: 5px;
  background: #DDD;
  float: left;
  position: relative;
  padding: 5px;
}

.element > * {
  margin: 0;
}

.element .number {
  right: 5px;
  top: 5px;
  position: absolute;
}

.element .symbol {
  font-size: 30px;
  left: 5px;
  top: 5px;
  color: white;
}

.element .name {
  font-size: 14px;
}

.element .weight {
  font-size: 14px;
}

.element.alkali          { background: #F00; background: hsl(   0, 100%, 50%); }
.element.alkaline-earth  { background: #F80; background: hsl(  36, 100%, 50%); }
.element.lanthanoid      { background: #FF0; background: hsl(  72, 100%, 50%); }
.element.actinoid        { background: #0F0; background: hsl( 108, 100%, 50%); }
.element.transition      { background: #0F8; background: hsl( 144, 100%, 50%); }
.element.post-transition { background: #0FF; background: hsl( 180, 100%, 50%); }
.element.metalloid       { background: #08F; background: hsl( 216, 100%, 50%); }
.element.other.nonmetal  { background: #00F; background: hsl( 252, 100%, 50%); }
.element.halogen         { background: #F0F; background: hsl( 288, 100%, 50%); }
.element.noble-gas       { background: #F08; background: hsl( 324, 100%, 50%); }

/* stamps */

.stamp {
  position: absolute;
  background: hsla(0, 100%, 50%, 0.8);
  border: 1px solid;
}

.stamp1 {
  left: 10%;
  top: 20px;
  width: 20%;
  height: 200px;
}

.stamp2 {
  right: 200px;
  top: 100px;
  width: 100px;
  height: 100px;
}
