body {
  padding : 10px ;

}

.njg-overlay{
    width: auto;
    height: auto;
    min-width: 200px;
    max-width: 400px;
    border: 1px solid #000;
    border-radius: 2px;
    background: rgba(0, 0, 0, 0.7);
    top: 10px;
    right: 10px;
    padding: 0 15px;
    font-family: Arial, sans-serif;
    font-size: 14px;
    color: #fff
}

.njg-metadata{
    border-radius: 2px;
    border: 1px solid #ccc;
    color:  #fff;
    background: rgba(0, 0, 0, 0.7);
    display: none;
    font-family: Arial, sans-serif;
    font-family: sans-serif;
    font-size: 18px;
    height: auto;
    left: 10px;
    max-width: 600px;
    min-width: 200px;
    padding: 0 15px;
    top: 10px;
    width: auto;
}

.njg-metadata form{
    background: none;
    width: 100%;

}

.njg-metadata input{
    right: -180px;
}


.njg-metadata select {
    font-size: 18px;
    padding: 10px 15px;
    width: 80%;
    cursor: pointer;
}

.njg-metadata option {
    padding: 0.5em;
}

.njg-metadata option[value=""] {
    color: #aaa;
}

.njg-node{
    stroke-opacity: 0.5;
    stroke-width: 7px;
    stroke: #fff;
}

.njg-node:hover,
.njg-node.njg-open {
    stroke: rgba(0, 0, 0, 0.2);
}

.njg-link{
    cursor: pointer;
    stroke: #999;
    stroke-width: 2;
    stroke-opacity: 0.25;
}

.njg-link:hover,
.njg-link.njg-open{
    stroke-width: 4 !important;
    stroke-opacity: 0.5;
}

.njg-hidden {
    display: none !important;
    visibility: hidden !important;
}

.njg-tooltip{
    font-family: sans-serif;
    font-size: 14px;
    fill: #000;
    opacity: 0.5;
    text-anchor: middle;
}

.njg-tooltip {
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    padding: 5px 10px;
    border-radius: 3px;
}

.njg-overlay{
    display: none;
    position: absolute;
    z-index: 11;
}

.njg-close{
    cursor: pointer;
    position: absolute;
    right: 10px;
    top: 10px;
}
.njg-close:before { content: "\2716"; }

.njg-metadata{
    display: none;
    position: absolute;
    z-index: 12;
}


/*selection*/
#snap_view{
    position: absolute;
    top: auto;
    left: -100px;
    bottom: 500px;
    width: 30%;
    font-family: Arial, sans-serif;
    font-family: sans-serif;
    font-size: 8px;
}

#snap_view select {
    font-size: 2em;
    padding: 10px 15px;
    width: 150%;
    cursor: pointer;
}

#snap_view option {
    padding: 0.5em;
}

#snap_view option[value=""] {
    color: #aaa;
}

/* legend */
#legend{
    position: absolute;
    top: auto;
    right: 5px;
    bottom: 5px;
    width: auto;
    height: auto;
    max-width: 250px;
    padding: 0 15px;
    background: #fbfbfb;
    border-radius: 2px;
    border: 1px solid #ccc;
    color: #6d6357;
    font-family: Arial, sans-serif;
    font-family: sans-serif;
    font-size: 14px;
}

#legend p{ line-height: 16px; margin: 10px 0 }
#legend span{
    width: 16px;
    margin-right: 5px;
}
#legend span.circle{
    display: inline-block;
    border-radius: 50%;
    height: 16px;
}
#legend span.link{
    display: inline-block;
    height: 5px;
    border-bottom-width: 6px;
    border-bottom-style: solid;
}
#legend .vpc{ background-color: #3182bd }
#legend .subnet{ background-color: #ff8000 }
#legend .acl{ background-color: #00008B }
#legend .acl_assoc{ background-color:  #A9A9A9 }
#legend .instance{ background-color:  #ccccff }
#legend .instance_ssh{ background-color:  #000000 }
#legend .query_node{ background-color:  #FF0000 }
#legend .instance_ok{ background-color:  #00ff00 }
#legend .vpc_link{ border-color: #00ff00 }
#legend .subnet_link{ border-color: #669999  }
#legend .assoc_link{ border-color: #FF7F50  }


.nav {
    position: absolute;
    top: 400px;
    left: 0px;
    bottom: auto;
    width: auto;
    height: auto;
}

#njg-select-group {
    text-align: center;
    box-shadow: 0 0 10px #ccc;
    position: fixed;
    left: auto;
    top: auto;
    width: 30%;
    margin-top: -7.5em;
    margin-left: -25%;
    padding: 5em 2em;
}

#njg-select-group select {
    font-size: 2em;
    padding: 10px 15px;
    width: 50%;
    cursor: pointer;
}

#njg-select-group option {
    padding: 0.5em;
}

#njg-select-group option[value=""] {
    color: #aaa;
}

form {
  background: none;
  margin: 20px auto 0;
  padding: 10px;
  width: 180px;
}

input {
  display: block;
  font-size: 14px;
  width:240px;
  margin: 10px auto;
  padding: 10px 8px 10px 8px;
  border-radius: 5px;
  box-shadow: inset 0 1px 2px rgba(0,0,0, .55), 0px 1px 1px rgba(255,255,255,.5);
  border: 1px solid #666;
}

input {
  opacity: 0.5;
}

input:hover,
input:focus {
  opacity: .7;
  color:#08c;
  border: 1px solid #08c;
   box-shadow: 0px 1px 0px rgba(255,255,255,.25),inset 0px 3px 6px rgba(0,0,0,.25);
}

input[type="text"]:focus {
  box-shadow: inset 0 1px 2px rgba(255,255,255, .35), 0px 1px 15px rgba(0,246,255,.5);
  border: 1px solid #08c;
  outline: none;
}

input[type="submit"] {
  appearance: none;
  opacity: .99;
  width:100px;
  background: #08c;
  box-shadow: inset 0 1px 2px rgba(255,255,255, .35), 0px 1px 6px rgba(0,246,255,.5);
  border: 1px solid #0a5378;
  border-radius: 4px;
  color: #eee;
  cursor: pointer;
  text-shadow:0px -1px 0px rgba(0,0,0,.5);
}

input[type="submit"]:hover {
  background: #08c;
  width:100px;
  border: 1px solid #0a5378;
  border-radius: 3px;
  box-shadow: inset 0px 3px 16px rgba(0,0,0,.25),0px 1px 10px rgba(255,255,255,.5),inset 0px -1px 2px rgba(255,255,255,.35);
  text-shadow:0px 1px 1px rgba(0,0,0,.65);
  -webkit-transition: all 0.40s ease-out;
  transition: all 0.40s ease-out;
}


label.btn span {
  font-size: 1.5em ;
}

label input[type="radio"] ~ i.fa.fa-circle-o{
    color: #c8c8c8;    display: inline;
}
label input[type="radio"] ~ i.fa.fa-dot-circle-o{
    display: none;
}
label input[type="radio"]:checked ~ i.fa.fa-circle-o{
    display: none;
}
label input[type="radio"]:checked ~ i.fa.fa-dot-circle-o{
    color: #7AA3CC;    display: inline;
}
label:hover input[type="radio"] ~ i.fa {
color: #7AA3CC;
}

label input[type="checkbox"] ~ i.fa.fa-square-o{
    color: #c8c8c8;    display: inline;
}
label input[type="checkbox"] ~ i.fa.fa-check-square-o{
    display: none;
}
label input[type="checkbox"]:checked ~ i.fa.fa-square-o{
    display: none;
}
label input[type="checkbox"]:checked ~ i.fa.fa-check-square-o{
    color: #7AA3CC;    display: inline;
}
label:hover input[type="checkbox"] ~ i.fa {
color: #7AA3CC;
}

div[data-toggle="buttons"] label.active{
    color: #7AA3CC;
}

div[data-toggle="buttons"] label {
display: inline-block;
padding: 6px 12px;
margin-bottom: 0;
font-size: 14px;
font-weight: normal;
line-height: 2em;
text-align: left;
white-space: nowrap;
vertical-align: top;
cursor: pointer;
background-color: none;
border: 0px solid
#c8c8c8;
border-radius: 3px;
color: #c8c8c8;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;
}

div[data-toggle="buttons"] label:hover {
color: #7AA3CC;
}

div[data-toggle="buttons"] label:active, div[data-toggle="buttons"] label.active {
-webkit-box-shadow: none;
box-shadow: none;
}
