      body, html {
        position: relative;
        display: block;
        background-color: black;
        width: 100%;
        min-height: 100vh;
        border: 0;
        padding: 0;
        margin: 0;
        overflow: hidden;
      }

      button {
        background-color: #d1cefc;
        border: 1px solid blue;
        -webkit-border-radius: 3px;
        border-radius: 3px;
        vertical-align: middle;
        margin: 2px 2px 2px 0;
        min-width: 20px;
        height: 22px;
        padding: 1px;
      }

      label {
        vertical-align: middle;
        white-space: nowrap;
        margin: 2px 0 2px 0;
        text-align: center;
        font-size: 110%;
        height: 22px;
      }

      input[type=color] {
        border: 1px solid whitesmoke;
        vertical-align: middle;
        margin: 0 2px 3px 2px;
        background: none;
        height: 18px;
        width: 16px;
        padding: 0;
      }

      input[type=file] {
        vertical-align: middle;
        margin: 2px 0 2px 0;
        max-width: 160px;
      }

      input[type=radio] {
        vertical-align: middle;
        margin: 0 2px 0 2px;
      }

      input[type=checkbox] {
        margin: 0 2px 0 3px;
      }

      input[type=range] {
        vertical-align: middle;
        margin: 2px 0 2px 0;
        min-width: 30px;
      }

      input[type=text] {
        vertical-align: middle;
        margin: 2px 2px 2px 0;
      }

      .dropdown {
        background-color: transparent;
        border: 1px solid #DEAF64;
        -webkit-border-radius: 3px;
        border-radius: 3px;
        vertical-align: middle;
        display: inline-block;
        position: relative;
        min-width: 40px;
        font-size: 85%;
        color: blue;
        border: none;
        padding: 1px;
      }

      .dropdown-content {
        background-color: #FFFAD5;
        border: 1px solid #DEAF64;
        -webkit-border-radius: 3px;
        border-radius: 3px;
        position: absolute;
        display: none;
        margin-top: 2px;
        z-index: 10;
      }

      select {
        vertical-align: middle;
        border: 1px solid blue;
        -webkit-border-radius: 3px;
        border-radius: 3px;
        background: none;
        min-width: 72px;
        height: 22px;
        color: blue;
      }

      .gif_rectangle {
        background-color: transparent;
        border: 1px solid blue;
        left: calc(50% - 252px);
        top: calc(50% - 252px);
        position: absolute;
        display: none;
        height: 500px;
        width: 500px;
        z-index: 1;
      }

      .error_msg {
        background-color: transparent;
        position: absolute;
        text-align: center;
        font-size: x-large;
        display: none;
        color: red;
        width: 50vw;
        height: 50vh;
        top: 50vh;
        left: 25vw;
        padding: 10px;
        border: none;
      }

      .loading_msg {
        background-color: transparent;
        color: greenyellow;
        position: absolute;
        text-align: center;
        font-size: x-large;
        display: none;
        width: 50vw;
        height: 50vh;
        top: 50vh;
        left: 25vw;
        padding: 10px;
        border: none;
      }

      p.full_screen {
        text-align: center;
        content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAf0lEQVRIie1VQQ6AMAjb/x9M4IRePICoK7GLB5eQbElpCTAY7j6YRiUPAvvxbNMkN76XIDhSRKCdjhmB494hzzwngcoBIa/eASgisMgTBo4ODqCTAiSFrW6Biv8LfL/I1DbtfDRV9VLgjVFhZp59A4g+7JaM6yULh7IyWUYX2AAPDxz26GjX+gAAAABJRU5ErkJggg==);
        margin: 1px 1px 1px 2px;
        padding: 0;
        width: 15px;
        height: 15px;
      }

      p.polar {
        text-align: center;
        content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAv0lEQVRIic2V6wqFIBCEe3PfWhDEjYIDtc7s5VjQDwkvO9/uaLqJyPZmCy0qpQhqywBPKAK6d85uLJCBfhq0Ar0gYxGKnYT0Qs+iqziEZgMQRCfUe5cJcEzUWoUF0k0EidwSRYO6EkvcjbcmtZB1WlgVIYAWZFUhnRDgn7FvAV63aHmTLcgjx5Rl8OiPhjLPXhWttSkGAnTp7MQgK02AlXnkNTOv6zHGWerxRZl4NoUfHMuG7LwLYPZkntQQYKXtSAJKMrYucd0AAAAASUVORK5CYII=);
        margin: 1px 1px 1px 2px;
        padding: 0;
        width: 15px;
        height: 15px;
      }

      #gui_position {
        position: absolute;
        display: none;
        min-width: 200px;
        border: 1px solid navy;
        -webkit-border-radius: 2px;
        border-radius: 2px;
        min-height: 22px;
        margin-left: 2px;
      }

      .fm {
        color: navy;
        width: 99%;
        border: 1px solid navy;
        -webkit-border-radius: 2px;
        border-radius: 2px;
        padding: 4px;
        margin: 1px;
      }

      .fixed-menu {
        background-color: whitesmoke;
        display: inline-block;
        position: fixed;
        padding: 1px;
        width: 100%;
        z-index: 1;
        margin: 0;
      }

      #progress {
        width: 99.5%;
        height: 2px;
        margin-left: 3px;
        margin-right: 3px;
        text-align: center;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
      }

      #drop-container {
        position: absolute;
        width: 100%;
        height: 100%;
        display: none;
        justify-content: center;
        align-items: center;
        color: whitesmoke;
        background: rgba( 0, 0, 0, 1 );
      }
