html, body {
  height: 100%;
}

body {
  display: table;
  width: 100%;
}

#chart, #chart svg {
  vertical-align: top;
}

header, footer {
  display: table-row;
}

#content {
  display: table-row;
  width: 100%;
  height: 100%;
}

#container {
  display: table;
  width: 100%;
  height: 100%;
}

#chart svg {
  display: inline-block;
  width: 100%;
  height: 100%;
}

#chart {
  display: table-cell;
  position: relative;
  height: 100%;
  width: 100%;
}

.node.marked {
  stroke: #C83771 !important;
  stroke-width: 5px;
}

.link {
  stroke-opacity: 0.8;
}

.faded {
  stroke-opacity: 0.02;
  fill-opacity: 0.1;
}

.node.highlight {
  fill: #FFF0B3;
}

#nodeinfo {
  position: absolute;
  background: #fff;
  border: 1px solid #ddd;
  padding: 0.5em;
  font-family: arial, helvatica;
}

#nodeinfo {
  top: 10px;
  left: 10px;
}

#nodeinfo button.close {
  float: right;
}

#controlpanel {
  font-size: 10pt;
  display: inline-block;
  color: #fff;
}

#controlpanel * {
  display: inline;
}

#controlpanel p {
  margin: 0 1em;
}

#nodeinfo h1, #nodeinfo p {
  color: #555;
}

#nodeinfo h1 {
  font-size: 10pt;
  margin: 0 0 0.5em;
}

#nodeinfo h2 {
  font-size: 9pt;
}

#nodeinfo p {
  font-size: 10pt;
  margin: 0;
}

.btn {
    color: #6e6e6e;
    font: bold 12px Helvetica, Arial, sans-serif;
    text-decoration: none;
    padding: 2px 8px;
    position: relative;
    display: inline-block;
    text-shadow: 0 1px 0 #fff;
    -webkit-transition: border-color .218s;
    -moz-transition: border .218s;
    -o-transition: border-color .218s;
    transition: border-color .218s;
    background: #f3f3f3;
    background: -webkit-gradient(linear,0% 40%,0% 70%,from(#F5F5F5),to(#F1F1F1));
    background: -moz-linear-gradient(linear,0% 40%,0% 70%,from(#F5F5F5),to(#F1F1F1));
    border: solid 1px #dcdcdc;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    margin-right: 10px;
}

.btn:hover {
    color: #333;
    border-color: #999;
    -moz-box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2) -webkit-box-shadow:0 2px 5px rgba(0, 0, 0, 0.2);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}

.btn:active {
    color: #000;
    border-color: #444;
}

.btn.left {
    -webkit-border-top-right-radius: 0;
    -moz-border-radius-topright: 0;
    border-top-right-radius: 0;
    -webkit-border-bottom-right-radius: 0;
    -moz-border-radius-bottomright: 0;
    border-bottom-right-radius: 0;
    margin: 0;
}

.btn.middle {
    margin: 0;
    border-radius: 0;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    margin-left: -1px;
}

.btn.right {
    -webkit-border-top-left-radius: 0;
    -moz-border-radius-topleft: 0;
    border-top-left-radius: 0;
    -webkit-border-bottom-left-radius: 0;
    -moz-border-radius-bottomleft: 0;
    border-bottom-left-radius: 0;
    margin-left: -1px;
}

.btn.active {
    background: #C83771;
    color: #fff;
    text-shadow: none;
}

#legend ul {
  list-style: none;
}

#legend li {
  margin-bottom: 0.5em;
}

#legend li svg {
  margin-right: 0.5em;
  display: inline;
  vertical-align: center;
}

#sidebar h2 {
  margin-top: 0;
  font-size: 9pt;
}

#sidebar h3 {
  font-size: 7pt;
  margin: 0;
}

footer {
  text-align: center;
  font-size: 8pt;
  padding: 0.5em;
  color: #777;
}

footer a {
  color: #444;
}
