/*
 *  Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
 *
 *  Use of this source code is governed by a BSD-style license
 *  that can be found in the LICENSE file in the root of the source
 *  tree.
 */

a {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

audio {
  max-width: 100%;
}

canvas {
  background-color: #ccc;
  max-width: 100%;
  width: 100%;
}

video {
  background: #222;
  width: 640px;
  margin: 0 0 20px 0;
  vertical-align: top;
}

button {
  margin: 0 20px 0 0;
  width: 83px;
}

@media screen and (max-width: 400px) {
  button {
    width: 83px;
    margin: 0 11px 10px 0;
  }

  video {
    width: 320px;
    margin: 0 0 10px 0;
  }
}
