
@mixin vertical-align {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  
  * {
      box-sizing: border-box;
  }
  
  html, body {
    width: 100vw;
      height: 100vh;
    margin: 0;
    padding: 0;
    overflow: hidden;
  }

  body {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  body > * {
    position: relative;
    width: 100%;
  }

  #app {
    width: 100%;
    height: 100%;
  }

  #wrapper {
    position: absolute;
    top: calc(50% - 256px);
    left: calc(50% - 256px);
    width: 512px;
    height: 512px;
    background-color: #1e1e1e30;
  }

  #rect {
    position: absolute;
    top: calc(50% - 32px);
    left: calc(50% - 32px);
    width: 64px;
    height: 64px;
    background-color: #0000ff30;
  }

  #gyroscope,
  #joystick {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  #gyroscope.disable,
  #joystick.disable {
    pointer-events: none;
    opacity: 0.1;
  }
  
  header {
      text-align: center;
  }
  
  h1 {
      font-family: 'Comfortaa', sans-serif;
      margin: 0px;
  }
  
  div#change_username, section#input_zone {
      border: 1px outset rgb(79, 116, 238);
      margin:2px;
  }
  
  div#change_username {
      height: 3%;
      display: inline-block;
      padding:2px;
      background-color: rgb(169, 230, 245);
  }
  
  section#chatroom {
      border: 3px inset lightblue;
      height: 85%;
      overflow: auto;
  }
  
  section#input_zone {
      height: 7%;
      text-align: center;
      background-color: rgb(76, 119, 238);
  }
  
  .vertical-align {
      position: relative;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
  }
  
  input#username {
      font-family: 'Comfortaa', sans-serif;
  }
  
  input#message {
      display: inline-block;
      width: 89%;
      height: 80%;
      font-family: 'Comfortaa', sans-serif;
      font-size: 2vh;
  }
  
  button#send_message {
      display: inline-block;
      height: 80%;
      width: 10%;
  }
  .alert{
    padding: 10px;
    margin: 12px;
    width:auto;
  }
  
  p.message {
      margin: 0px;
      width: 100%;
      height: 40px;
      font-size: 2vh;
      font-family: 'Comfortaa', sans-serif;
      padding: 1vh;
  }
  
  .message:nth-child(even) {
      background-color: rgb(87, 113, 230);
  }
  
  .message:nth-child(odd) {
      background-color: rgb(87, 113, 230);
  }

  label {
    position: absolute;
    top: 0;
    left: 0;
    margin: 4px 8px;
    padding: 4px 8px;
    border: 1px solid #000;
    cursor: pointer;
  }

  .garden {
    position: relative;
    width: 200px;
    height: 200px;
    background: green;
  }
  
  .ball {
    position: absolute;
    top: 90px;
    left: 90px;
    width: 20px;
    height: 20px;
    background: yellow;
    border-radius: 100%;
  }