/* Container
/* =============================================== */
#demobox {
    margin: auto; 
    min-height: 310px; 
    min-width: 800px; 
    max-width: 800px; 
    padding-left: 30px; 
    color: #333; }

#tooltip h3 {
        margin:2px;
        font-size:14px;
}
#tooltip {
        position: absolute;           
        background:rgba(255,255,255,1);
        text-align: left;
        border:1px;
        border-radius:5px;
        font: 12px sans-serif;        
        width:auto;
        padding:4px;
        color:black;
        opacity:0;
        pointer-events: none;         
}
#tooltip table{
        table-layout:fixed;
}
#tooltip tr td{
        padding:0;
        margin:0;
}

#heatmap {
  position: relative;
  width: 100%;
  height: 550px;
}

text {
  pointer-events: none;
  font-family: sans-serif;
}

.grandparent text {
  font-weight: bold;
}

rect {
  stroke: #000;
  stroke-width: 1px;
}

rect.parent,
.grandparent rect {
  stroke-width: 0px;
}

.grandparent rect {
  fill: #fff;
}

.grandparent:hover rect {
  fill-opacity: .5;
}

rect.parent {
  cursor: pointer;
}

.children rect.parent {
  cursor: zoom-in;
}

.grandparent rect {
  cursor: zoom-out;
}

rect.parent {
  fill-opacity: .5;
}

rect.parent:hover {
  fill: #bbb;
  fill-opacity: .2;
}

.children rect.parent {
  fill-opacity: 0;
}

.children:hover rect.parent {
  fill-opacity: .2;
}