  main {
      display: flex;
      flex-direction: column;
      height: 100vh;
      position: relative
  }

  #canvas-container {
      position: relative;
  }

  #resize-handle {
      position: absolute;
      bottom: 0;
      width: 100%;
      height: 10px;
      cursor: ns-resize;
  }


  h2 {
      margin: 0.5px;
      -webkit-touch-callout: none;
      -webkit-user-select: none;
      -khtml-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
  }

  .zoom {
      display: flex;
      justify-content: space-between;
      border-bottom: 1px solid lightgray;
      padding: 15px;
      text-align: center;
      font-size: 10px;
  }

  #header {
      font-size: 2em;
      font-weight: 700;
  }

  #controls {
      display: flex;
      height: calc(100% - 550px);
      resize: vertical;
      overflow: auto;
  }

  #vertex-container,
  #mesh-container {
      border: 1px solid black;
      display: flex;
      flex-direction: column;
      flex: 1;
      text-align: center;
  }

  #mesh-btn-container,
  #vertex-btn-container {
      overflow-y: auto;
      flex: 1;
  }

  .highlight-btn-container {
      display: flex;
      justify-content: space-between;
      padding: 15px;
      background-color: lightgray;
  }

  .highlight-btn-container button {
      height: 100%
  }

  .highlight-btn {
      width: 50px;
      height: 50px;
      margin: 2px;
      border: none;
      border-radius: 50px;
  }

  .active {
      background-color: green;
  }

  .container-header {
      position: sticky;
      width: 100%;
      background-color: white;
      top: 0;
      display: flex;
      justify-content: space-around;
      align-items: center;
  }

  .container-header>button {
      padding: 10px;
  }

  /* https://www.w3schools.com/howto/howto_css_switch.asp */
  /* The switch - the box around the slider */
  .switch {
      position: relative;
      display: inline-block;
      width: 60px;
      height: 34px;
  }

  /* Hide default HTML checkbox */
  .switch input {
      opacity: 0;
      width: 0;
      height: 0;
  }

  /* The slider */
  .slider {
      position: absolute;
      cursor: pointer;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: #ccc;
      -webkit-transition: .4s;
      transition: .4s;
  }

  .slider:before {
      position: absolute;
      content: "";
      height: 26px;
      width: 26px;
      left: 4px;
      bottom: 4px;
      background-color: white;
      -webkit-transition: .4s;
      transition: .4s;
  }

  input:checked+.slider {
      background-color: #2196F3;
  }

  input:focus+.slider {
      box-shadow: 0 0 1px #2196F3;
  }

  input:checked+.slider:before {
      -webkit-transform: translateX(26px);
      -ms-transform: translateX(26px);
      transform: translateX(26px);
  }

  /* Rounded sliders */
  .slider.round {
      border-radius: 34px;
  }

  .slider.round:before {
      border-radius: 50%;
  }
