body,
input,
button {
    font-family: "Ubuntu Mono", monospace;
    color: #333;
}

a,
a:visited,
a:active,
a:hover {
    text-decoration: none;
    color: #aaa;
}

.hidden {
  display: none;
}

.wrapper {
    width: 960px;
    margin: 0 auto;
    position: relative;
    vertical-align: top;
}

.flex {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

form {
    padding-top: 1em;
    text-align: center;
}

.form-group {
    flex: 0 0 calc(50% - 1rem);
    text-align: left;
    padding: inherit 0.5rem;
}

.help-block {
    color: #999;
}

#graph {
    position: relative;
    border: 2px solid #eee;
    box-shadow: 5px 5px 10px #eee;
    width: 960px;
    margin: 0 auto;
    margin-bottom: 2rem;
    overflow: visible;
}

#graph p {
    color: #888;
    margin-left: 1em;
}

#graph .menu {
    display: none;
    position: absolute;
    top: 1em;
    right: 1em;
}

#graph .instructions {
    position: absolute;
    top: 1em;
    left: 1em;
}

#graph .instructions .expand-help .caret {
    display: inline-block;
    width: 0;
    height: 0;
    vertical-align: middle;
    border-top:   5px dashed;
    border-top:   5px solid ~"\9";
    border-right: 5px solid transparent;
    border-left:  5px solid transparent;
}

#graph .link line {
  stroke: rgba(0,0,0,0.25);
  cursor: pointer;
}

#graph .link .meaning {
  fill: #88F;
  font: 10px "Ubuntu Mono", monospace;
  text-anchor: middle;
}

#graph .node {
    cursor: grab;
    cursor: -moz-grab;
    cursor: -webkit-grab;
}

#graph .node circle {
    fill: #888;
    stroke: #888;
    stroke-width: 1px;
}

#graph .node text {
  pointer-events: none;
  font: 10px "Ubuntu Mono", monospace;
}

#graph.build {
    cursor: crosshair;
    user-select:none;
}

#graph.build .node {
    cursor: pointer;
}

#graph.build .node.selected circle {
    stroke: #44f;
    stroke-width: 2px;
    fill: #88f;
}

#graph.build .dragline {
    stroke: #44f;
    stroke-width: 2px;
}

#graph .templates {
    position: absolute;
    bottom: 0px;
    left: 5px;
}

#graph .templates .template {
    cursor: pointer;
    border: 1px solid rgba(0,0,0,0.25);
    border-radius: 5px;
    padding: 2px;
    margin-right: 2px;
    display: inline-block;
}

#graph .templates .template line {
    stroke: #888;
    stroke-width: 3px;
}

#graph .templates .template circle {
    fill: #888;
}

#graph .templates .template text {
    text-anchor: middle;
    fill: #888;
    font: 10px "Ubuntu Mono", monospace;
}

#graph #panzoom {
    position: absolute;
    bottom: 20px;
    right: 10px;
    color: #888;
}

#graph #panzoom small {
    display: block;
    text-align: center;
}

#graph #panzoom #in,
#graph #panzoom #out {
    font-size: 20pt;
    border: 1px solid #ccc;
    width: 30px;
    height: 30px;
    text-align: center;
    vertical-align: top;
    margin: 5px;
    cursor: pointer;
    margin: 0 auto;
}
#graph #panzoom #in {
    border-bottom-width: 0px;
    border-radius: 5px 5px 0px 0px;
}
#graph #panzoom #out {
    border-top: none;
    border-radius: 0px 0px 5px 5px;
}

#graph #pan {
    position: relative;
    border: 1px solid #ccc;
    border-radius: 30px;
    width: 60px;
    height: 60px;
    padding: 0px;
    margin: -5px 0px;
}
#graph #pan #up {
    cursor: pointer;
    text-align: center;
    font-size: 20px;
    position: absolute;
    width: 20px;
    height: 20px;
    top: -4;
    left: 20px;
}
#graph #pan #left {
    cursor: pointer;
    text-align: center;
    font-size: 20px;
    position: absolute;
    width: 20px;
    height: 20px;
    top: 16px;
    left: 0px;
}
#graph #pan #right {
    cursor: pointer;
    text-align: center;
    font-size: 20px;
    vertical-align: middle;
    position: absolute;
    width: 20px;
    height: 20px;
    top: 16px;
    right: 0px;
}
#graph #pan #down {
    cursor: pointer;
    text-align: center;
    font-size: 20px;
    position: absolute;
    width: 20px;
    height: 20px;
    bottom: 4px;
    left: 20px;
}

#graph #shortcuts {
    background-color: #fff;
    color: #888;
    border: 2px solid #eee;
    border-top: none;;
    border-radius: 0 0 4px 4px;
    box-shadow: 5px 10px 10px -1px #eee;
    position: absolute;
    bottom: -24px;
    right: -2px;
    padding: 0px 3px 3px 3px;
}
