html, body {
  margin: 0;
  width: 100%;
  height: 100%;
  background-color: #060606;
  color: white;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  user-select: none!important;
  font-family: 'Roboto';
}

#graf {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 1;
}

canvas {
  position: absolute;
  z-index: 2;
}
span {
  position: relative;
  z-index: 3
}

#dialog {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 300px;
  height: 100%;
  background-color: white;
  color: black;
  z-index: 120;
  overflow-y: auto;
}

#backdrop {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .5);
  z-index: 110;
}

#dialog-vertex, #dialog-edge{
  padding: 8px;
  user-select: auto;
}

#dialog h2 {
  font-weight: bold;
  font-size: 20px;
}

#dialog h3 {
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 0;
}

#quit-dialog, #quit2-dialog {
  position: absolute;
  top: 8px;
  right: 8px;
}

#min-dialog, #max-dialog {
  position: absolute;
  top: 8px;
  right: 48px;
}

#min-dialog {
  display: none;
}

#summary-dialog {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100px;
  background-color: white;
  color: black;
  z-index: 120;
}

#summary-vertex {
  padding: 8px;
  user-select: auto;
}

#summary-dialog h2 {
  font-weight: bold;
  font-size: 20px;
  margin: 0;
}

#settings {
  position: absolute;
  right: 10px;
  bottom: 160px;
  z-index: 100;
}

#search {
  position: absolute;
  right: 10px;
  bottom: 110px;
  z-index: 100;
}

#zoomin {
  position: absolute;
  right: 10px;
  bottom: 60px;
  z-index: 100;
}

#zoomout {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 100;
}

input {
  z-index: 100;
}

label {
  z-index: 100;
}

/**
  * MD search box
  */
.md-google-search__metacontainer {
  position: absolute;
  top: 10px;
  height: 48px;
  width: 100%;
  z-index: 100;
}

.md-google-search__container {
  display: block;
  margin-left: auto;
  margin-right: auto;
  height: 48px;
  width: Calc(100% - 66px);
  max-width: 720px;
  white-space: nowrap;
}

.md-google-search {
  height: 48px;
  background-color: rgba(245,245,245,1);
  border: 1px solid rgba(0,0,0,0);
  -webkit-border-radius: 4px;
  border-radius: 4px;
  max-width: 720px;
  position: relative;
  -webkit-transition: background-color 100ms ease-in,width 100ms ease-out;
  transition: background-color 100ms ease-in,width 100ms ease-out;
}

.md-google-search:focus-within {
  border: 1px solid rgba(0,0,0,0.45);
  background-color: rgba(255,255,255,1);
  -webkit-box-shadow: 0 1px 1px rgba(255,255,255,.5);
  box-shadow: 0 1px 1px rgba(255,255,255,.5);
}

.md-google-search__search-btn {
  float: left;
  background: none;
  border: none;
  opacity: .54;
  outline: none;
  padding: 0 4px;
  line-height: 0;
  color: #212121;
}

.md-google-search__search-btn svg, .md-google-search__empty-btn svg {
  padding: 7px;
  margin: 4px;
}

.md-google-search__field-container {
  height: 46px;
  padding: 0 11px;
  margin-right: 48px;
}

.md-google-search__field {
  border: none;
  font: normal 16px Roboto,sans-serif;
  height: 24px;
  outline: none;
  padding: 11px 0 11px 16px;
  width: 100%;
  background: transparent;
}

.md-google-search__empty-btn {
  position: absolute;
  right: 0;
  top: 0;
  background: none;
  border: none;
  opacity: .54;
  outline: none;
  padding: 0 4px;
  line-height: 0;
  color: #212121;
  cursor: pointer;
}

/**
  * Search Box Autocomplete
  */

.autocomplete-container{
  z-index: 110;
  position: absolute;
  top: 60px;
  width: 100%;
}

.autocomplete-items {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: Calc(100% - 66px);
  max-width: 720px;
  background-color: white;
  color: black;
  box-shadow: 0 2px 5px 0 rgba(255,255,255,0.258824),0 2px 10px 0 rgba(255,255,255,0.156863) !important;
}

.autocomplete-item {
  font-size: 16px;
  padding: 12px 14px;
  cursor: pointer;
}

.autocomplete-item:hover, .autocomplete-active {
  background: #eee;
}

.autocomplete-year {
  color: #222;
}

@media (max-width: 700px) {
  #dialog {
    width: Calc(100% - 32px)!important;
    height: Calc(100% - 32px)!important;
    margin: 16px;
  }

  #backdrop {
    display: block;
  }

  #min-dialog {
    display: block!important;
  }
}
